Не прекращайте учебу с
LOKAD TV
agg
заключается в следующем:
u = agg(v) by [w1, w2, w3] sort [w4, w5] if c or x over [a .. b]Где:
agg
— имя агрегатора.by
— дополнительный параметр, задающий группы, которые будут использованы при объединении данных. Можно объединять данные по одному или нескольким значениям.sort
— дополнительный параметр сортировки, который будет использоваться при объединении данных. Можно сортировать данные по одному или нескольким значениям.if
— фильтр агрегатора. При его наличии все строки со значением false
исключаются из объединения.or
— дополнительный параметр, задающий значение, которое возвращается, если группа пуста.over
— дополнительный параметр, который используется для определения срока агрегации, границы которого выражаются в днях относительно целевой даты.by
не указан, группировка производится в соответствии с контекстом, причем в случае назначения обычно используется левая сторона оператора. После by
можно задать несколько переменных; если используется только одна переменная, скобки не требуются.sort
обычно не влияет на большинство агрегаторов, таких как max
, потому что они не зависят от порядка сортировки. Тем не менее мы рекомендуем использовать данный оператор вместе с агрегаторами first
и last
.if
не указан, включаются все строки со значением if true
.or
не указан, возвращаются значения по умолчанию, если группы пустые: 0
(ноль) для числовых значений, false
— для логических, пустые строки — для текстовых, нулевые распределения — для распределений.u = agg(v) by [w1, w2, w3] sort [w4, w5] if c at [z1, z2, z3] or x
at
определяет группы, которые используются при объединении таблиц. Обратите внимание, что эти группы должны точно соответствовать тем, которые используются с оператором by
. Как следствие, оператор by
становится обязательным, а число элементов, указанных в разделах by
и at
, должно быть одинаковым.avg
: исключительно числовой аргумент; возвращает среднее значение строки.count
: высчитывает количество строк, которые имеют значение true
(логические значения), либо не равны нулю (числа) или не пустые (текст).distinct
: высчитывает число различных значений.first
: возвращает значение, привязанное к первой строке в соответствии с определением оператора sort
.last
: возвращает значение, привязанное к последней строке в соответствии с определением оператора sort
.max
: возвращает наивысшее значение.median
: работает как функция МЕДИАНА в Excel.min
: возвращает минимальное значение.product
: исключительно числовой аргумент; возвращает произведение значений в строке.ratio
: возвращает долю (от 0 до 1) истинных логических значений или чисел, не равных нулю. Для пустой группы данный параметр равен 1.same
: предполагается, что все сгруппированные значения равны (в противном случае выдается ошибка) и возвращает это значение.sum
: исключительно числовой аргумент, возвращает сумму значений в строке.all
: возвращает значение true
, если все входящие строки имеют значения true
, в противном случае возвращает значение false
.any
: возвращает значение false
, если все входящие строки имеют значение false
, в противном случае возвращает значение true
.exists
: возвращает значение true
, если существует хотя бы одна строка, подходящая под требования агрегатора.Date
:latest
(обработка нескольких таблиц, особый случай): возвращает самое позднее из найденных значений. Агрегатор latest
не совместим с доступными опциями.entropy
: возвращает информационную энтропию группы. Возвращаемое значение выражено в шеннонах.mode
: идентичен функции МОДА в Excel.percentile
(два аргумента, особый случай): идентичен функции ПРОЦЕНТИЛЬ в Excel. Второй аргумент — цель процентиля от 0 до 1.stdev
: идентичен функции СТАНДОТКЛОН в Excel.stdevp
: идентичен функции СТАНДОТКЛОНП в Excel.ranvar
— возвращает эмпирическую случайную переменную, привязанную к числовым показателям.sumr
— возвращает сумму сверток сложения случайных переменных. Агрегатор sum()
связан с оператором +
, а агрегатор sumr()
— с оператором +*
.