azure - 如何在 Kusto 中使用 series_divide() ?

标签 azure azure-data-explorer

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

我从 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/

相关文章:

networking - 在 Azure 上设置 Windows 域并让我的笔记本电脑成为其中的一部分

java - 连接到 HDInsight (Azure) 上安装的 Kafka

c# - F#:连接到 Azure SQL 数据库?

c# - 如何在 Azure 中通过 SMTP 处理入站电子邮件

azure - 获取每个用户的工作项字段的总统计信息

azure - 如何在 Kusto 中将 JSON 转换为键值表

Azure 数据资源管理器 - 使用 MI 连续数据导出

azure - 在 Kusto 中解析 `key1=value1 key2=value2`

Azure 数据资源管理器 oneclick 从 blob 容器提取 (UI)

azure - 增加 Azure 数据资源管理器(ADX、Kusto)中摄取的最大文件大小