问题标签 [kql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
azure - Kusto:使用解析运算符时删除不匹配的行
我正在使用 Kusto 查询 azure 日志分析,并使用parse
运算符提取字段,然后只保留正确解析的记录:
是否有更简洁的方法来解析和删除不匹配的行?如果我从一组日志中解析出很多列,可能包含部分匹配,那么parse
和之间的这种关联where
就会变得很复杂。
相比之下,在 SumoLogic 中,parse
运算符会自动删除所有与解析模式不匹配的行,这使得管道非常整洁:
azure - 在 Azure 中聚合多个列(Kusto 查询语言)
我在 Azure 监视器日志中有这种格式的点击流数据:
我需要旋转表格来获得这个:
现在我只能使用评估数据透视(StepName,sum(Count_))或评估数据透视(StepName,sum(Median_Duration))聚合一列。是否可以在不使用连接的情况下获得上述格式?
注意:与输出表类似的格式都可以,只需要计数和持续时间的聚合。
azure-data-explorer - 如何在 Azure 数据资源管理器 (kusto) 中从一个表查找值到另一个表
我是 Kusto 语言的新手,但在 SQL 方面经验丰富。所以也许我在以完全错误的方式做事。
我正在尝试创建需要检查一个表中的值是否存在于另一个表中的查询。
像这样的东西:
但是出现错误“错误 has_any(): failed to cast argument 2 to scalar constant”。
有办法吗?
功能更好,如下所示:
请指教。
azure-data-explorer - Azure 数据资源管理器 (kusto) 如何按天和“其他”进行汇总?
我是 Kusto 语言的新手——请帮我创建查询。
这里数据集:
我希望与其他人一起获得每个“s”字符串的前 2 个并按天汇总。即结果需要是:
我想我以查询结束:
但它不起作用。
请指教。
azure-data-explorer - 如何在 Kusto 的 Summarize 中添加额外的列
我是 Kusto 的新手,我正在尝试使用summarize
可以指定其他列以显示我正在分组的值的位置进行分组。
这就是我想要做的,在标准 SQL 中提到:
我正在分组UserId
,但随后我也在分组结果中显示LocationId
了UserId
将上述转换为 Kusto,我正在写这个:
但它不起作用。Kusto 抱怨说它无法确定LocationId
是在第 4 行。我使用 Kusto 的explain
关键字验证了我正在编写正确的 Kusto 查询。所以有什么问题 ?
azure - kusto - 合并和下一个 - 为什么不直接使用下一个?
我在 azure kusto 在线查询终端上运行以下两个查询
(可在此链接获得 - https://dataexplorer.azure.com/clusters/help/databases/Samples)
所以,我的问题是,为什么要为合并而烦恼呢?next() 已经提供了我可以在这种情况下应用的默认值?
azure - Kusto (KQL) 加入多个列
我正在生成两个旋转数据集:
数据集 1:
数据集 2:
这两个数据集都产生了我想要的信息。但我想在一张桌子上看到它们,所以我加入了它们..
当我加入这两个数据集时,记录集也加入了,但是旋转的计数列变成了 4 的乘积。我尝试以多种方式明确定义左和右。
是否有用于多列连接的语法?我在文档中找不到对多个列的任何引用。
我还尝试创建一列加入并仍然获得 4 倍乘数 - 想知道这是否是 Kusto 中的错误?
例如数据集 1:
数据集 2:
然后加入:
这仍然会产生一个数据集,其中所有透视列都乘以 4。
任何帮助/语法/建议都会有所帮助!谢谢。
编辑
我已经在这两个数据集周围删除了 materialize() 的使用,并且行为符合预期。它现在正在工作,但我仍然不知道为什么。
azure-log-analytics - KQL:mv-expand OR bag_unpack 等效命令将列表转换为多列
根据mv-expand 文档:
扩展多值数组或属性包。
mv-expand 应用于动态类型的列,以便集合中的每个值都有单独的行。扩展行中的所有其他列都是重复的。
就像 mv-expand 运算符将为列表中的每个元素创建一行一样——是否有等效的运算符/方法可以使列表中的每个元素成为附加列?
我检查了文档,发现Bag_Unpack:
bag_unpack 插件通过将每个属性包顶级插槽视为一列来解包动态类型的单个列。
但是,它似乎不适用于列表,而是适用于顶级 JSON 属性。
使用 bag_unpack(如以下查询):
它将执行以下操作:
是否有命令/方式(请参阅some_command_which_helps
)我可以实现以下目标(将列表转换为列):
这意味着:
是否有等效的方法可以将列表/数组转换为多列?
供参考:如果需要,我们可以在演示部分的Log Analytics上在线运行上述查询(但可能需要登录)。