row_cumsum()

Menghitung jumlah kumulatif kolom dalam kumpulan baris yang diserialisasi.

Sintaks

row_cumsum(Term [,Restart] )

  • Term adalah ekspresi yang menunjukkan nilai yang akan dijumlahkan. Ekspresi harus berupa skalar dari salah satu jenis berikut: decimal, int, long, atau real. Nilai null Term tidak memengaruhi jumlahnya.
  • Restart adalah argumen opsional dari jenis bool yang menunjukkan kapan operasi akumulasi harus dimulai ulang (diatur kembali ke 0). Ini dapat digunakan untuk menunjukkan partisi data. Lihat contoh kedua di bawah ini.

Mengembalikan

Fungsi mengembalikan jumlah kumulatif argumennya.

Contoh

Contoh berikut menunjukkan cara menghitung jumlah kumulatif dari beberapa bilangan bulat genap pertama.

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

Contoh ini menunjukkan cara menghitung jumlah kumulatif (di sini, dari salary) ketika data dipartisi (di sini, dengan 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))
nama bulan gaji 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