如何在 where 子句中使用包含 "All" 的下拉参数?
How to get dropdown parameter with included "All" in where clause to work?
我正在使用 Application Insight 工作簿设计基于 IIS 日志的图表。我想添加一个参数,用户可以在其中过滤计算机。这一切都很好并且工作正常。此下拉列表允许多项选择,如下所示:
我想为 "All" 添加一个复选框,所以我在这里做了。
我在查询中使用这样的自定义参数
W3CIISLog | where Computer in ({Computer})
如何更改我的查询以支持多项选择和下拉列表中的 "All"?这完全有可能实现吗?
我们有一些特殊的 github 文档,其中包含有关 how to special case all 的示例。
(看起来这个信息还没有进入 public azure docs)
从那里复制:
one way is to use []
as the "all" value, and then write your query
like this:
let selection = dynamic([{Selection}]);
SomeQuery
| where array_length(selection) == 0 or SomeField in (selection)
this will treat an empty selection OR the "all" selection the same
(handled by the array_length check) AND will look for selected values
in SomeField when anything else is selected
Other common cases use '*' as the special marker value when a
parameter is required, and then test with
| where "*" in ({Selection}) or SomeField in ({Selection})
(您也可以使用 has_any
代替 in
(或 in~
insensitive in
) 取决于你查询的方式和你的
数据是等
我正在使用 Application Insight 工作簿设计基于 IIS 日志的图表。我想添加一个参数,用户可以在其中过滤计算机。这一切都很好并且工作正常。此下拉列表允许多项选择,如下所示:
我想为 "All" 添加一个复选框,所以我在这里做了。
我在查询中使用这样的自定义参数
W3CIISLog | where Computer in ({Computer})
如何更改我的查询以支持多项选择和下拉列表中的 "All"?这完全有可能实现吗?
我们有一些特殊的 github 文档,其中包含有关 how to special case all 的示例。 (看起来这个信息还没有进入 public azure docs)
从那里复制:
one way is to use
[]
as the "all" value, and then write your query like this:let selection = dynamic([{Selection}]); SomeQuery | where array_length(selection) == 0 or SomeField in (selection)
this will treat an empty selection OR the "all" selection the same (handled by the array_length check) AND will look for selected values in SomeField when anything else is selected
Other common cases use '*' as the special marker value when a parameter is required, and then test with
| where "*" in ({Selection}) or SomeField in ({Selection})
(您也可以使用 has_any
代替 in
(或 in~
insensitive in
) 取决于你查询的方式和你的
数据是等