Агрегатные функции
Агрегатные функции (агрегации) — это функции, которые вычисляются от группы значений и объединяют их в одно результирующее.
Если в поле с измерением добавить агрегацию, то поле становится показателем.
Ограничения использования
Существуют следующие особенности использовании агрегаций:
- Агрегации не могут быть вложены друг в друга. Например, следующее выражение не поддерживается:
MAX(SUM([Sales]))
. Любое выражение может может быть агрегировано не более одного раза. - Функция или оператор не может иметь среди своих аргументов одновременно агрегированные и неагрегированные выражения. Выражение
CONCAT([Profit], SUM([Profit]))
не поддерживается.
ALL_CONCAT
Синтаксис:ALL_CONCAT( expression [ , separator ] )
Возвращает строку, которая содержит все попавшие в группу значения expression
, с разделителем separator
(по умолчанию разделитель — запятая).
ANY
Синтаксис:ANY( value )
Возвращает произвольное значение value
из группы. Это недетерминированная агрегация — результат может различаться от запроса к запросу на одних и тех же входных данных.
ARG_MAX
Синтаксис:ARG_MAX( value, comp )
Возвращает значение value
, соответствующее максимальному значению comp
.
ARG_MIN
Синтаксис:ARG_MIN( value, comp )
Возвращает значение value
, соответствующее минимальному значению comp
.
AVG
Синтаксис:AVG( value )
Возвращает среднее для всех значений. Работает с числовыми типами данных и с типами Дата | Дата и время
.
AVG_IF
Синтаксис:AVG_IF( expression, condition )
Возвращает среднее для всех значений, которые удовлетворяют условию condition
. Если значения отсутствуют, то возвращается NULL
. Работает только с числовыми типами данных.
COUNT
Синтаксис:COUNT( [ value ] )
Возвращает количество элементов в группе.
COUNT_IF
Синтаксис:COUNT_IF( condition )
Возвращает количество элементов в группе, которые удовлетворяют условию condition
.
COUNTD
Синтаксис:COUNTD( value )
Возвращает количество уникальных значений в группе.
См. также COUNTD_APPROX.
COUNTD_APPROX
Синтаксис:COUNTD_APPROX( value )
Вовзращает приблизительное количество уникальных значений в группе. Работает быстрее функции COUNTD, но не гарантирует точность.
COUNTD_IF
Синтаксис:COUNTD_IF( expression, condition )
Возвращает количество уникальных значений в группе, которые удовлетворяют условию condition
.
См. также COUNTD_APPROX.
MAX
Синтаксис:MAX( value )
Возвращает максимальное значение.
Если value
:
- число — возвращает наибольшее число;
- дата — возвращает самую позднюю дату;
- строка — возвращает последнее значение в алфавитном порядке.
MEDIAN
Синтаксис:MEDIAN( value )
Вовзращает медианное значение.
MIN
Синтаксис:MIN( value )
Возвращает минимальное значение.
Если value
:
- число — возвращает наименьшее число;
- дата — возвращает самую раннюю дату;
- строка — возвращает первое значение в алфавитном порядке.
QUANTILE
Синтаксис:QUANTILE( value, quant )
Возвращает точный квантиль уровня quant
(значение от 0 до 1).
QUANTILE_APPROX
Синтаксис:QUANTILE_APPROX( value, quant )
Возвращает примерный квантиль уровня quant
(значение от 0 до 1).
STDEV
Синтаксис:STDEV( value )
Возвращает статистическое стандартное отклонение всех значений в выражении на основе выборки из совокупности.
STDEVP
Синтаксис:STDEVP( value )
Возвращает статистическое стандартное отклонение всех значений в выражении на основе смещенной совокупности.
SUM
Синтаксис:SUM( value )
Возвращает сумму всех значений выражения. Работает только с числовыми типами данных.
SUM_IF
Синтаксис:SUM_IF( expression, condition )
Возвращает сумму всех значений выражения, которые удовлетворяют условию condition
. Работает только с числовыми типами данных.
TOP_CONCAT
Синтаксис:TOP_CONCAT( expression, amount [ , separator ] )
Возвращает строку, которая содержит amount
наиболее часто встречающихся значений из каждой группы expression
с разделителем separator
(по умолчанию разделитель — запятая).
VAR
Синтаксис:VAR( value )
Возвращает статистическую дисперсию всех значений в выражении на основе выборки из совокупности.
VARP
Синтаксис:VARP( value )
Возвращает статистическую дисперсию всех значений в выражении по всей совокупности.