彙總函式 aggregation-functions

彙總函式會針對一組值執行計算,並傳回單一摘要結果。 這些函式可讓您透過計算平均值、尋找最小值和最大值、計數元素以及加總數值,來分析歷程運算式中的資料。

當您需要以下動作時,請使用彙總函式:

彙總函式會根據其特定行為自動處理null值,讓處理可能包含遺失或未定義值的真實資料更容易。

avg avg

傳回一組運算式中的平均值(以清單或兩個運算式形式提供)。 會忽略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

計算清單的元素而不考慮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

傳回一組運算式中的最大值,以清單或兩個運算式形式提供。 會忽略Null值。

語法
max(<parameter>)
參數
  • listDuration
  • listInteger
  • listDecimal
  • listDateTime
  • listDateTimeOnly
  • listDateOnly
  • 期間
  • 整數
  • 小數
  • dateTime
  • 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

傳回一組運算式中的最小值,以清單或兩個運算式形式提供。 會忽略Null值。

語法
min(<parameters>)
參數
  • listDuration
  • listInteger
  • listDecimal
  • listDateTime
  • listDateTimeOnly
  • listDateOnly
  • 期間
  • 整數
  • 小數
  • dateTime
  • 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。

AI知識參考

本節包含結構化知識,用於支援與本主題相關的解譯、擷取和問答。

如需完整瞭解,此資訊應結合本頁的檔案。 兩者皆非獨立來源;頁面說明功能,本節提供額外內容,以協助去除術語、意圖、適用性和限制條件的歧義。

  • TL;DR:​本頁會記錄AJO歷程運算式中可用的所有彙總函式,包括如何計算清單與陣列上的平均值、總和、最小值/最大值、計數及相異計數。

意圖:

  • 使用avg計算數值清單的平均值
  • 使用sum加總清單或事件欄位中的數值
  • 使用minmax尋找清單中的最小值或最大值
  • 使用countcountOnlyNullcountWithNull計算清單中的非null、僅限null或所有元素
  • 使用distinctCountdistinctCountWithNull計算清單中不同的值(無論有無null)
  • 使用distinctCount搭配索引鍵引數,依特定索引鍵屬性篩選listObject中的唯一物件

字彙表:

  • listObject:複雜物件的清單(欄位參考);不能包含Null物件​(產品特定)
  • listAny:任何支援的純量型別(字串、布林值、整數、小數、持續時間、dateTime、dateTimeOnly、dateOnly)清單​(產品特定)
  • Null值:清單中有不存在或未定義的專案;大多數彙總函式會忽略null,除非函式明確處理它們(例如,countOnlyNullcountWithNulldistinctCountWithNull

護欄:

  • countOnlyNullcountWithNulldistinctCountWithNull不支援<listObject>引數型別
  • listObject上的distinctCount要求清單是欄位參考,而非內嵌常值
  • listObject上的count需要清單為欄位參考;listObject不能包含null物件

術語:

  • 正式名稱:彙總函式 — 首字母縮寫:none — 變體:彙總函式、集合函式
  • 同義字: “count” = “count non-null elements”; “countWithNull” = “count all elements include null”
  • 請勿混淆:「distinctCount」(忽略null)≠「distinctCountWithNull」(包含null作為不同值)

常見問題集:

  • 問: avg是否在計算中包含Null值? — 否,avg會自動忽略null值。
  • 問:countcountWithNull之間有何差異?count會從總計中排除null值,而countWithNull會計算每個元素(包括null)。
  • 問:我可以在listObject上使用countOnlyNull嗎? — 否,countOnlyNullcountWithNulldistinctCountWithNull不支援<listObject>
  • 問:我如何根據特定屬性計算陣列中不同的物件? — 使用distinctCount(@event{...}, "attributeName")提供索引鍵屬性名稱做為第二個引數。
  • 問:當清單包含null時,max會傳回什麼?max會忽略null值,並傳回非null元素中的最大值。
recommendation-more-help
journey-optimizer-help