集計関数 aggregation-functions
集計関数は、一連の値に対して計算を実行し、単一の集計結果を返します。 これらの関数を使用すると、平均値を計算したり、最小値と最大値を検索したり、要素をカウントしたり、数値を合計したりすることで、ジャーニー式内のデータを分析できます。
集計関数は、次の操作が必要な場合に使用します。
- リストまたは配列から統計値を計算(avg、sum、min、max)
- null 値を含めるか除外するオプションを使用して、コレクション内の要素をカウント(count、countOnlyNull、countWithNull)
- データセット内の一意の値を決定(distinctCount、distinctCountWithNull)
- 計算指標に基づいてデータ駆動型の意思決定を実行
集計関数は、特定の動作に従って null 値を自動的に処理するので、欠落値や未定義値が含まれる場合がある実際のデータの操作が容易になります。
avg avg
リストまたは 2 つの式のいずれかで指定された一連の式の平均値を返します。 null 値は無視されます。
avg(<parameter>)サポートされているタイプ:
- listInteger
- listDecimal
- 小数
- 整数
avg(<listInteger>)
avg(<listDecimal>)
avg(<decimal>,<decimal>)
avg(<decimal>,<integer>)
avg(<integer>,<decimal>)
avg(<integer>,<integer>)
小数を返します。
avg(@event{BarBeacon.inventory},5)
avg([10,3,8])
7.0 を返します。
avg(10.2, 3)
6.6 を返します。
count count
null 値を数に入れずに、リストの要素数を数えます。
count(<listAny>)
count(<listObject>)
| table 0-row-3 1-row-3 | ||
|---|---|---|
| パラメーター | タイプ | 説明 |
| listToProcess | listString、listBoolean、listInteger、listDecimal、listDuration、listDateTime、listDateTimeOnly、listDateOnly、listObject のいずれか | 処理するリスト。 listObject の場合は、フィールド参照にする必要があります。 listObject に null オブジェクトを含めることはできません。 |
count(<listAny>)
整数を返します。
count([10,2,10,null])
3 を返します。
count(@event{my_event.productListItems})
指定されたオブジェクト配列内のオブジェクト数を返します(listObject 型)。 注:listObject に null オブジェクトを含めることはできません
countOnlyNull countOnlyNull
リスト内の null 値の数をカウントします。
countOnlyNull(<listAny>)| table 0-row-2 1-row-2 | |
|---|---|
| パラメーター | タイプ |
| listToProcess | listString、listBoolean、listInteger、listDecimal、listDuration、listDateTime、listDateTimeOnly、listDateOnly |
countOnlyNull(<listAny>)
整数を返します。
countOnlyNull([10,2,10,null])
1 を返します。
メモ:パラメーター <listObject> は、この関数ではサポートされません。
countWithNull countWithNull
null 値を含むリストのすべての要素をカウントします。
countWithNull(<listAny>)| table 0-row-2 1-row-2 | |
|---|---|
| パラメーター | タイプ |
| listToProcess | listString、listBoolean、listInteger、listDecimal、listDuration、listDateTime、listDateTimeOnly、listDateOnly |
countWithNull(<listAny>)
整数を返します。
countWithNull([10,2,10,null])
4 を返します。
メモ:パラメーター <listObject> は、この関数ではサポートされません。
distinctCount distinctCount
null 値を無視して異なる値の数をカウントします。
distinctCount(<listAny>)| table 0-row-3 1-row-3 2-row-3 | ||
|---|---|---|
| パラメーター | タイプ | 説明 |
| listToProcess | listString、listBoolean、listInteger、listDecimal、listDuration、listDateTime、listDateTimeOnly、listDateOnly、listObject のいずれか | 処理するリスト。 listObject の場合は、フィールド参照にする必要があります。 |
| keyAttributeName | 文字列 | このパラメーターはオプションで、listObject に対してのみ使用できます。 パラメーターを指定しないと、すべての属性の値が同じ場合、オブジェクトは重複していると見なされます。 パラメーターを指定していて、指定された属性が同じ値を持つ場合、オブジェクトは重複していると見なされます。 |
distinctCount(<listAny>)
整数を返します。
distinctCount(<listObject>)
distinctCount(<listObject>,<string>)
オブジェクトのリストを返します。
distinctCount([10,2,10,null])
2 を返します。
distinctCount(@event{my_event.productListItems})
指定されたオブジェクト配列内の厳密に異なるオブジェクトの数を返します(listObject 型)。
distinctCount(@event{my_event.productListItems}, "SKU")
個別の「SKU」属性値 {} を持つオブジェクトの数を返します。
distinctCountWithNull distinctCountWithNull
null 値を含め、異なる値の数をカウントします。
distinctCountWithNull(<listAny>)| table 0-row-2 1-row-2 | |
|---|---|
| パラメーター | タイプ |
| listToProcess | listString、listBoolean、listInteger、listDecimal、listDuration、listDateTime、listDateTimeOnly、listDateOnly |
distinctCountWithNull(<listAny>)
整数を返します。
distinctCountWithNull([10,2,10,null])
3 を返します。
メモ:パラメーター <listObject> は、この関数ではサポートされません。
max max
リストまたは 2 つの式として指定された一連の式の中から最大値を返します。 null 値は無視されます。
max(<parameter>)- listDuration
- listInteger
- listDecimal
- listDateTime
- listDateTimeOnly
- listDateOnly
- 期間
- 整数
- 小数
- 日時
- dateTimeOnly
max(<listDuration>)
期間を返します。
max(<listInteger>)
期間を返します。
max(<listDateTimeOnly>)
タイムゾーンを無視して日時を返します。
max(<listDateTime>)
日時を返します。
max(<listDateOnly>)
日付を返します。
max(<listDecimal>)
小数を返します。
max(<decimal>,<decimal>)
小数を返します。
max(<duration>,<duration>)
期間を返します。
max(<dateTime>,<dateTime>)
日時を返します。
max(<dateTimeOnly>,<dateTimeOnly>)
タイムゾーンを無視して日時を返します。
max(<integer>,<integer>)
整数を返します。
max(@event{BarBeacon.inventory},5)
max([10,3,8])
10 を返します。
max([10,null,8])
10 を返します。
min min
リストまたは 2 つの式のいずれかで指定された一連の式の中の最小値を返します。 null 値は無視されます。
min(<parameters>)- listDuration
- listInteger
- listDecimal
- listDateTime
- listDateTimeOnly
- listDateOnly
- 期間
- 整数
- 小数
- 日時
- dateTimeOnly
min(<listDuration>)
期間を返します。
min(<listInteger>)
期間を返します。
min(<listDateTimeOnly>)
タイムゾーンを無視して日時を返します。
min(<listDateTime>)
日時を返します。
min(<listDateOnly>)
日付を返します。
min(<listDecimal>)
小数を返します。
min(<decimal>,<decimal>)
小数を返します。
min(<duration>,<duration>)
期間を返します。
min(<dateTime>,<dateTime>)
日時を返します。
min(<dateTimeOnly>,<dateTimeOnly>)
タイムゾーンを無視して日時を返します。
min(<integer>,<integer>)
整数を返します。
min(@event{BarBeacon.inventory},5)
min([10,3,8])
3 を返します。
min([10,null,8])
8 を返します。
sum sum
一連の式の値の合計を返します。 null 値は無視されます。
sum(<parameters>)- listInteger
- listDecimal
- 期間
- 整数
- 小数
sum(<listDecimal>)
小数を返します。
sum(<listInteger>)
整数を返します。
sum(<integer>,<integer>)
整数を返します。
sum(<decimal>,<decimal>)
小数を返します。
sum(@event{BarBeacon.inventory},5)
sum([10,3,8])
21 を返します。
sum([10.5,null,8.1])
18.6 を返します。
このセクションには、このトピックに関連する解釈、検索、質問への回答をサポートすることを目的とした構造化された知識が含まれています。
理解を深めるには、この情報をこのページのドキュメントと組み合わせる必要があります。 どちらのソースも単独で使用することを意図していません。このページでは、機能について説明しますが、この節では、用語、意図、適用可能性、および制約の曖昧さを解消するのに役立つ追加のコンテキストを提供します。
- TL;DR:このページでは、AJO ジャーニー式で使用できるすべての集計関数について説明します。リストと配列の平均値、合計、最小値/最大値、カウント、および異なるカウントを計算する方法について説明します。
インテント:
avgを使用して数値のリストの平均を計算します- リスト内または
sumを使用したイベントフィールドからの数値の合計 minまたはmaxを使用して、リスト内の最小値または最大値を検索しますcount、countOnlyNullまたはcountWithNullを使用して、null以外、nullのみ、またはリスト内のすべての要素をカウントしますdistinctCountまたはdistinctCountWithNullを使用して、ヌルの有無にかかわらず、リスト内の個別の値をカウントします- キーパラメーターで
distinctCountを使用して、listObject内の一意のオブジェクトを特定のキー属性でフィルタリングします
用語集:
- listObject:複雑なオブジェクト (フィールド参照)のリスト。null オブジェクト (製品固有)を含めることはできません
- listAny:サポートされているスカラー型(文字列、ブール値、整数、10進数、デュレーション、dateTime、dateTimeOnly、dateOnly) (製品固有)
- Null値: リスト内の要素が存在しないか、定義されていない要素。ほとんどの集計関数は、関数が明示的に処理しない限り、Nullを無視します(例:
countOnlyNull、countWithNull、distinctCountWithNull)。
ガードレール:
countOnlyNull、countWithNullおよびdistinctCountWithNullは、<listObject>パラメーター型をサポートしていませんlistObjectのdistinctCountでは、リストをインラインリテラルではなくフィールド参照にする必要がありますlistObjectのcountでは、リストをフィールド参照にする必要があります。listObjectにnull オブジェクトを含めることはできません
用語:
- 正規名:集計関数 – Acronym: none — バリアント:集計関数、コレクション関数
- 同義語:“count” = “count non-null要素をカウント”; “countWithNull” = “count all elements including nulls”
- 混同しないでください:“distinctCount” (nullを無視) ≠ “distinctCountWithNull” (nullを一意の値として含む)
FAQ:
- Q:
avgの計算にnull値が含まれていますか? – いいえ、avgはnull値を自動的に無視します。 - Q:
countとcountWithNullの違いは何ですか? —countは合計からnull値を除外し、countWithNullはnullを含むすべての要素をカウントします。 - Q: listObjectで
countOnlyNullを使用できますか? – いいえ、<listObject>はcountOnlyNull、countWithNull、またはdistinctCountWithNullではサポートされていません。 - Q:特定の属性に基づいて配列内の個別のオブジェクトをカウントするにはどうすればよいですか? — キー属性名を2番目のパラメーターとして指定する
distinctCount(@event{...}, "attributeName")を使用します。 - Q: リストにnullが含まれている場合、
maxは何を返しますか? —maxはnull値を無視し、null以外の要素の最大値を返します。