집계 함수 aggregation-functions
집계 함수는 값 집합에 대해 계산을 수행하고 요약된 단일 결과를 반환합니다. 이러한 함수를 사용하면 평균을 계산하고, 최소값과 최대값을 찾고, 요소를 계산하고, 숫자 값을 합하여 여정 표현식 내에서 데이터를 분석할 수 있습니다.
다음을 수행해야 하는 경우 집계 함수를 사용합니다.
- 목록 또는 배열에서 통계값 계산(avg, 합계, min, max)
- null 값을 포함하거나 제외하는 옵션이 있는 컬렉션의 요소 계산(count, countOnlyNull, countWithNull)
- 데이터 집합(distinctCount, distinctCountWithNull) 내에서 고유한 값 확인
- 계산된 지표를 기반으로 데이터 기반 의사 결정
집계 함수는 특정 동작에 따라 Null 값을 자동으로 처리하므로 누락되거나 정의되지 않은 값이 포함될 수 있는 실제 데이터를 보다 쉽게 사용할 수 있습니다.
avg avg
목록 또는 두 표현식으로 지정된 표현식 세트 중 평균 값을 반환합니다. Null 값은 무시됩니다.
avg(<parameter>)지원되는 유형:
- list정수
- listDecimal
- decimal
- 정수
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
목록 또는 두 표현식으로 지정된 표현식 세트 중 최대값을 반환합니다. Null 값은 무시됩니다.
max(<parameter>)- listDuration
- list정수
- listDecimal
- listDateTime
- listDateTimeOnly
- listDateOnly
- 지속 시간
- 정수
- decimal
- 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
- list정수
- listDecimal
- listDateTime
- listDateTimeOnly
- listDateOnly
- 지속 시간
- 정수
- decimal
- 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>)- list정수
- listDecimal
- 지속 시간
- 정수
- decimal
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을 반환합니다.
This section contains structured knowledge intended to support interpretation, retrieval, and question answering related to this topic.
For complete understanding, this information should be combined with the documentation on this page. Neither source is intended to stand alone; the page describes the feature, while this section provides additional context that helps disambiguate terminology, intent, applicability, and constraints.
- TL;DR: This page documents all aggregation functions available in AJO journey expressions, covering how to compute averages, sums, min/max values, counts, and distinct counts over lists and arrays.
Intents:
- Calculate the average of a list of numeric values using
avg - Sum numeric values in a list or from event fields using
sum - Find the minimum or maximum value in a list using
minormax - Count non-null, null-only, or all elements in a list using
count,countOnlyNull, orcountWithNull - Count distinct values in a list, with or without nulls, using
distinctCountordistinctCountWithNull - Filter unique objects in a listObject by a specific key attribute using
distinctCountwith a key parameter
Glossary:
- listObject: A list of complex objects (field references); cannot contain null objects (product-specific)
- listAny: A list of any supported scalar type (string, boolean, integer, decimal, duration, dateTime, dateTimeOnly, dateOnly) (product-specific)
- Null value: An absent or undefined element in a list; most aggregation functions ignore nulls unless the function explicitly handles them (e.g.,
countOnlyNull,countWithNull,distinctCountWithNull)
Guardrails:
countOnlyNull,countWithNull, anddistinctCountWithNulldo not support the<listObject>parameter typedistinctCounton alistObjectrequires the list to be a field reference, not an inline literalcounton alistObjectrequires the list to be a field reference; a listObject cannot contain null objects
Terminology:
- Canonical name: Aggregation functions — Acronym: none — variants: aggregate functions, collection functions
- Synonyms: “count” = “count non-null elements”; “countWithNull” = “count all elements including nulls”
- Do not confuse: “distinctCount” (ignores nulls) ≠ “distinctCountWithNull” (includes nulls as a distinct value)
FAQ:
- Q: Does
avginclude null values in its calculation? — No,avgignores null values automatically. - Q: What is the difference between
countandcountWithNull? —countexcludes null values from the total, whilecountWithNullcounts every element including nulls. - Q: Can I use
countOnlyNullon a listObject? — No,<listObject>is not supported bycountOnlyNull,countWithNull, ordistinctCountWithNull. - Q: How do I count distinct objects in an array based on a specific attribute? — Use
distinctCount(@event{...}, "attributeName")providing the key attribute name as the second parameter. - Q: What does
maxreturn when the list contains nulls? —maxignores null values and returns the maximum among the non-null elements.