【问题标题】:Cumulative Products in KustoKusto 中的累积产品
【发布时间】:2019-09-11 18:39:29
【问题描述】:

我有时间(t 列)和值(v 列)的数据。我想创建一个新列,称为 p,它是从 t=0 到当前行的 t 值的所有 v 的乘积。 row_cumsum() 可以做这个添加,但我需要一个产品。

我尝试使用扩展 ???? = v∗???????????????(????,1,1),但 kusto 无法识别 prev() 中的 p 列,因为它正在创建中。

如果输入是:

数据表(t:int, v:int)

            1, 1
            2, 1
            3, 2
            4, 3
            5, 3
            6, 2

我希望输出是:

数据表(t:int, v:int, p:int)

            1, 1, 1
            2, 1, 1
            3, 2, 2
            4, 3, 6
            5, 3, 18
            6, 2, 36

【问题讨论】:

    标签: azure-data-explorer kql


    【解决方案1】:

    您可以使用 log10() 和 row_cumsum()(累积和):

    datatable(t:int, v:int)
    [
                1, 1,
                2, 1,
                3, 2,
                4, 3,
                5, 3,
                6, 2,
    ]
    | order by t asc
    | extend l = log10(v)
    | extend cumsum = row_cumsum(l)
    | project t, v, p=exp10(cumsum)
    

    【讨论】:

      猜你喜欢
      • 2019-03-30
      • 2017-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-21
      • 2020-11-21
      • 1970-01-01
      • 2016-12-27
      相关资源
      最近更新 更多