我无法正确地将时间序列数据与另一个时间序列分开。
我从 TestTable
获取数据,结果如下 View :
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()
的两个参数不能来自数据集中的两个单独的行。
这是一个如何实现这一目标的示例(基于有限且可能不完全代表您的真实用例,如您的问题所示)
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)
返回:
|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]|
关于azure - 如何在 Kusto 中使用 series_divide() ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57084165/