如何在 Kusto 中使用 series_divide()?

How to use series_divide() in Kusto?

我无法正确地将时间序列数据与另一个时间序列分开。

我从 TestTable 获取数据,结果如下:

TagId, sdata
8862, [0,0,0,0,2,2,2,3,4]
6304, [0,0,0,0,2,2,2,3,2]

我想将 tagId 8862 的 sdata 系列与来自 6304

的系列分开

我希望得到以下结果:

[NaN,NaN,NaN,NaN,1,1,1,1,2]

当我尝试下面的代码时,我的 S2 结果中只有两个空的 ddata

TestTable
| where TagId in (8862,6304)
| make-series sdata = avg(todouble(Value)) default=0 on TimeStamp in range (datetime(2019-06-27), datetime(2019-06-29), 1m) by TagId
| as S1;
S1 | project ddata = series_divide(sdata[0].['sdata'], sdata[1].['sdata'])
| as S2

我做错了什么?

series_divide() 的两个参数不能来自数据集中的两个单独的行。

这是一个如何实现该目标的示例(基于 limited-and-perhaps-not-fully-representative-of-your-real 用例,如您的问题所示)

let T = 
    datatable(tag_id:long, sdata:dynamic)
    [
        8862, dynamic([0,0,0,0,2,2,2,3,4]),
        6304, dynamic([0,0,0,0,2,2,2,3,2]),
    ]
;
let get_value_from_T = (_tag_id:long) 
{ 
    toscalar(
        T 
        | where tag_id == _tag_id 
        | take 1
        | project sdata
    ) 
};
print sdata_1 = get_value_from_T(8862), sdata_2 = get_value_from_T(6304)
| extend result = series_divide(sdata_1, sdata_2)

哪个returns:

|sdata_1             | sdata_2             | result                                      |
|--------------------|---------------------|---------------------------------------------|
|[0,0,0,0,2,2,2,3,4] | [0,0,0,0,2,2,2,3,2] |["NaN","NaN","NaN","NaN",1.0,1.0,1.0,1.0,2.0]|