Поделиться через


row_cumsum()

Область применения: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

Вычисляет совокупную сумму столбца в сериализованном наборе строк.

Синтаксис

row_cumsum(термин [, перезапуск])

Дополнительные сведения о соглашениях синтаксиса.

Параметры

Имя (название) Type Обязательно Описание
term int, long или real ✔️ Выражение, указывающее суммирование значения.
restart bool Указывает, когда операция накопления должна быть перезапущена или задана значение 0. Его можно использовать для указания секций в данных.

Возвраты

Функция возвращает совокупную сумму аргумента.

Примеры

В следующем примере показано, как вычислить совокупную сумму первых нескольких даже целых чисел.

datatable (a:long) [
    1, 2, 3, 4, 5, 6, 7, 8, 9, 10
]
| where a%2==0
| serialize cs=row_cumsum(a)
a cs
2 2
4 6
6 12
8 20
10 30

В этом примере показано, как вычислить совокупную сумму (здесь) salaryпри секционирования данных (здесь):name

datatable (name:string, month:int, salary:long)
[
    "Alice", 1, 1000,
    "Bob",   1, 1000,
    "Alice", 2, 2000,
    "Bob",   2, 1950,
    "Alice", 3, 1400,
    "Bob",   3, 1450,
]
| order by name asc, month asc
| extend total=row_cumsum(salary, name != prev(name))
name Месяц оклад итог
Алиса 1 1000 1000
Алиса 2 2000 3000
Алиса 3 1400 4400
Борис 1 1000 1000
Борис 2 1950 2950
Борис 3 1450 4400