row_cumsum()

Calcula a soma cumulativa de uma coluna em um conjunto de linhas serializado.

Syntax

row_cumsum(term [,restart] )

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Nome Tipo Obrigatório Descrição
term int, long ou real ✔️ A expressão que indica o valor a ser somado.
restart bool Indica quando a operação de acumulação deve ser reiniciada ou definida como 0. Ele pode ser usado para indicar partições nos dados.

Retornos

A função retorna a soma cumulativa de seu argumento.

Exemplos

O exemplo a seguir mostra como calcular a soma cumulativa dos primeiros números inteiros.

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

Este exemplo mostra como calcular a soma cumulativa (aqui, de salary) quando os dados são particionados (aqui, por 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 mês Salário total
Alice 1 1000 1000
Alice 2 2000 3000
Alice 3 1.400 4400
Roberto 1 1000 1000
Roberto 2 1950 2950
Bob 3 1450 4400