Sdílet prostřednictvím


row_cumsum()

Vypočítá kumulativní součet sloupce v serializované sadě řádků.

Syntaxe

row_cumsum(term [, restart])

Přečtěte si další informace o konvencích syntaxe.

Parametry

Název Type Požadováno Popis
semestr int, long nebo real ✔️ Výraz označující hodnotu, která se má sečíst.
restartovat bool Označuje, kdy se má operace akumulace restartovat, nebo je nastavena zpět na hodnotu 0. Dá se použít k označení oddílů v datech.

Návraty

Funkce vrátí kumulativní součet argumentu.

Příklady

Následující příklad ukazuje, jak vypočítat kumulativní součet prvních sudých celých čísel.

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

Tento příklad ukazuje, jak vypočítat kumulativní součet (zde, z salary) při dělení dat (zde, podle 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 plat total
Alice 0 1000 1000
Alice 2 2000 3000
Alice 3 1400 4400
Robert 0 1000 1000
Robert 2 1950 2950
Robert 3 1450 4400