azure-log-analytics - 如何在 where 子句中使用包含“All”的下拉参数来工作?
问题描述
我正在使用 Application Insight Workbook 在 IIS 日志上设计图表。我想添加一个用户可以在计算机上过滤的参数。这一切都很好并且有效。此下拉列表允许多项选择,如下所示:
我在查询中使用这样的自定义参数
W3CIISLog | where Computer in ({Computer})
如何更改我的查询以同时支持多项选择和下拉菜单中的“全部”?这完全有可能实现吗?
解决方案
我们有一些特殊的 github 文档,其中包含有关如何对 all 进行特殊处理的示例。(看起来此信息尚未发布到公共 azure 文档)
从那里复制:
一种方法是
[]
用作“全部”值,然后像这样编写查询:let selection = dynamic([{Selection}]); SomeQuery | where array_length(selection) == 0 or SomeField in (selection)
这将处理空选择或“所有”选择相同(由 array_length 检查处理)并且将在选择其他任何内容时在 SomeField 中查找选定值
其他常见情况在需要参数时使用'*'作为特殊标记值,然后用
| where "*" in ({Selection}) or SomeField in ({Selection})
(您也可以使用has_any
代替in
(或in~
不区分大小写in
),具体取决于您查询的方式和您的数据是什么等。
推荐阅读
- sql-server - TSQL - 在这种情况下替代左连接,也许有一段时间?需要帮助
- html - 这个css标签中的大写字母是什么意思:font-family“URWPSK+ArialMT”?:
- java - 在固定位置的位图上绘制文本
- r - 过滤以具有唯一的日期和时间到小时
- reactjs - Redux Saga 全局加载状态
- python - 如何合并行以包含熊猫中的值列表?
- python - ctypes 结构中的数据布局
- ios - 是否可以同时更新我的应用程序的价格变化版本
- manifest - Android:ProductFlavors 清单和 Java 类
- python - 如何制作一个函数,一个输出 20% 的时间,另一个输出 10% 的时间,另一个输出 70% 的时间?