row_cumsum()

Calcule la somme cumulée d’une colonne dans un ensemble de lignes sérialisées.

Syntax

row_cumsum(term [,restart] )

Découvrez les conventions de syntaxe.

Paramètres

Nom Type Obligatoire Description
term int, long ou real ✔️ Expression indiquant la valeur à additionnée.
restart bool Indique quand l’opération d’accumulation doit être redémarrée ou quand la valeur 0 doit être rétablie. Il peut être utilisé pour indiquer les partitions dans les données.

Retours

La fonction retourne la somme cumulée de son argument.

Exemples

L’exemple suivant montre comment calculer la somme cumulée des premiers entiers pairs.

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

Cet exemple montre comment calculer la somme cumulée (ici, de salary) lorsque les données sont partitionnée (ici, par 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 Salaire total
Alice 1 1 000 1 000
Alice 2 2000 3000
Alice 3 1400 4400
Bob 1 1 000 1 000
Bob 2 1950 2950
Bob 3 1450 4400