row_cumsum()
Platí pro: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
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 |