【问题标题】:KQL make-series operator turns *some* averages of reals into a stringKQL make-series 运算符将 *some* 实数平均值转换为字符串
【发布时间】:2021-11-21 08:49:38
【问题描述】:

我正在运行以下查询:

let data=datatable(timestamp: datetime, metric: real)
[
  datetime(2020-01-01 00:00:00), 50.3, 
  datetime(2020-01-01 00:10:00), 50.4, 
  datetime(2020-01-01 00:20:00), 50.5, 
  datetime(2020-01-01 00:30:00), 50.6, 
  datetime(2020-01-01 00:40:00), 50.7, 
  datetime(2020-01-01 00:50:00), 50.8, 
  datetime(2020-01-01 01:00:00), 50.9, 
  datetime(2020-01-01 01:10:00), 50.01, 
  datetime(2020-01-01 01:20:00), 50.08, 
  datetime(2020-01-01 01:30:00), 50.13, 
  datetime(2020-01-01 01:40:00), 50.65, 
  datetime(2020-01-01 01:50:00), 50.99 
];
data 
| make-series avg(metric) on timestamp step 15m; 

鉴于metric 的类型为real,我期待一个只有实数的数组。但是,我得到以下结果:

"avg_metric": [
    "50.349999999999994",
    50.5,
    "50.650000000000006",
    50.8,
    50.455,
    50.08,
    50.39,
    50.99
]

可以看出,一些值是实数,但一些值也是字符串!当然,预期的行为是该列表中只有实数。

为什么 Kusto/KQL 会这样?

【问题讨论】:

    标签: azure-data-explorer kql kusto-explorer


    【解决方案1】:

    我复制/粘贴了您的示例查询,它不会重现(见下面的屏幕截图)。请解释如何重现。谢谢

    【讨论】:

    • 嗨,Adi E,感谢您的努力。我在 Azure 数据资源管理器中使用查询编辑器:
    • 嗨,阿迪 E,感谢您的努力!我在 Azure 数据资源管理器中使用查询编辑器。我看到您正在使用 Kusto 桌面客户端,并且该错误确实没有出现在那里,我相信这更奇怪!必须从代码中尝试一下,看看会发生什么。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-24
    • 2011-10-28
    • 2011-07-04
    • 1970-01-01
    • 2014-09-03
    相关资源
    最近更新 更多