Condividi tramite


row_cumsum()

Calcola la somma cumulativa di una colonna in un set di righe serializzato.

Sintassi

row_cumsum(term [, restart])

Altre informazioni sulle convenzioni di sintassi.

Parametri

Nome Digita Obbligatorio Descrizione
term int, long o real ✔️ Espressione che indica il valore da sommare.
restart bool Indica quando l'operazione di accumulo deve essere riavviata o impostata su 0. Può essere usato per indicare le partizioni nei dati.

Valori restituiti

La funzione restituisce la somma cumulativa del relativo argomento.

Esempi

Nell'esempio seguente viene illustrato come calcolare la somma cumulativa dei primi numeri interi pari.

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 questo esempio viene illustrato come calcolare la somma cumulativa (qui, di salary) quando i dati vengono partizionati (qui, per 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 mese retribuzione totale
Alice 1 1000 1000
Alice 2 2000 3000
Alice 3 1400 4400
Bob 1 1000 1000
Bob 2 1950 2950
Bob 3 1450 4400