row_cumsum()

計算序列化資料列集中資料行的累計總和。

語法

row_cumsum(字詞 [,restart] )

深入瞭解 語法慣例

參數

名稱 類型 必要 Description
術語 int、long 或 real ✔️ 表達式,指出要加總的值。
restart bool 指出何時應該重新啟動累積作業,或設定回 0。 它可以用來指出數據中的數據分割。

傳回

函式會傳回其引數的累計總和。

範例

下列範例顯示如何計算前幾個奇數整數的累計總和。

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

此範例示範當資料經過分割 (這裡是依 name) 時,如何計算累計總和 (這裡的 salary):

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 salary 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