Freigeben über


row_cumsum()

Berechnet die kumulierte Summe einer Spalte in einem serialisierten Zeilensatz.

Syntax

row_cumsum(Ausdruck [, Neustart])

Erfahren Sie mehr über Syntaxkonventionen.

Parameter

Name Type Erforderlich Beschreibung
term int, long oder real ✔️ Der Ausdruck, der den zu addierenden Wert angibt.
restart bool Gibt an, wann der Akkumulationsvorgang neu gestartet oder auf 0 zurückgesetzt werden soll. Sie kann verwendet werden, um Partitionen in den Daten anzugeben.

Gibt zurück

Die Funktion gibt die kumulierte Summe des Arguments zurück.

Beispiele

Das folgende Beispiel zeigt, wie die kumulierte Summe der ersten geraden Ganzzahlen berechnet wird.

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

In diesem Beispiel wird gezeigt, wie die kumulierte Summe (hier von salary) berechnet wird, wenn die Daten partitioniert werden (hier, nach 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 Monat salary total
Alice 1 1000 1000
Alice 2 2000 3000
Alice 3 1400 4400
Bob 1 1000 1000
Bob 2 1950 2950
Bob 3 1450 4400