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, ataureal. Nilai null Term tidak memengaruhi jumlahnya. - Restart adalah argumen opsional dari jenis
boolyang 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 |