row_cumsum()

Berechnet die kumulative Summe einer Spalte in einem serialisierten Zeilensatz.

Syntax

row_cumsum(Begriff [,Neustart] )

Erfahren Sie mehr über Syntaxkonventionen.

Parameter

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

Gibt zurück

Die Funktion gibt die kumulative Summe ihres Arguments zurück.

Beispiele

Das folgende Beispiel zeigt, wie die kumulative Summe der ersten gleichmäßigen Ganzen 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 kumulative Summe (hier von ) salaryberechnet wird, wenn die Daten partitioniert werden (hier durch 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 month Gehalt total
Alina 1 1000 1000
Alina 2 2000 3000
Alina 3 1400 4400
Bernd 1 1000 1000
Bernd 2 1950 2950
Bob 3 1450 4400