你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

row_cumsum()

计算序列化行集中列的累计和。

语法

row_cumsum(term [,restart] )

详细了解语法约定

参数

名称 类型 必需 说明
term 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