如果 <something>,在 Kusto 中什么都不做
If <something>, do nothing in Kusto
用例:在 Azure Application Insights 中,从 Azure 网络应用创建 table 每页视图
在 Azure Application Insights 中使用 Kusto,我想合并 table 1:
中的行
进入table2:
不幸的是,下面的查询将第一列(第一行除外)中的单元格替换为第二列中的单元格。根据查询的编写方式,这是预期的。不幸的是,这是不正确的,不是我的目标。
pageViews
| where timestamp between(datetime("2020-03-01T00:00:00.000Z")..datetime("2020-06-01T00:00:00.000Z"))
| extend guide = case(
url contains "/guide-1/","guide-1",
url contains "/guide-2/","guide-2",
url contains "/guide-3/","guide-3",
"home-page"
)
| extend tag = case(
url contains "/guide-1/","install",
guide contains "home-page","home-page",
"how-to"
)
| extend name = case(
name contains "Welcome to docs","Welcome to docs",
"home-page" //This is incorrect - nothing should happen if the name does not contain "Welcome to docs"
)
| summarize Ocurrences=count() by name, tag, guide
我已经在 Microsoft 文档中搜索了一种方法 "do nothing" 如果不满足条件但没有提出任何建议,因为我对 Kusto 缺乏了解。我尝试了 iff
但没有成功。
感谢您提供任何帮助,包括如果此方法不是最好的建议。
如果您想在特定条件下保留 'name',您可以这样做:
|扩展名称=案例(
名称包含 "Welcome to docs","Welcome to docs",
姓名
)
pageViews
| where timestamp between(datetime("2020-03-01T00:00:00.000Z")..datetime("2020-06-01T00:00:00.000Z"))
| extend guide = case(
url contains "/guide-1/","guide-1",
url contains "/guide-2/","guide-2",
url contains "/guide-3/","guide-3",
"home-page"
)
| extend tag = case(
url contains "/guide-1/","install",
guide contains "home-page","home-page",
"how-to"
)
| extend name = case(
name contains "Welcome to docs","Welcome to docs",
name
)
| summarize Ocurrences=count() by name, tag, guide
此外,最好使用 'has' 而不是 'contains':'has' 查找完整单词并且比 'contains' 更快。
用例:在 Azure Application Insights 中,从 Azure 网络应用创建 table 每页视图
在 Azure Application Insights 中使用 Kusto,我想合并 table 1:
中的行进入table2:
不幸的是,下面的查询将第一列(第一行除外)中的单元格替换为第二列中的单元格。根据查询的编写方式,这是预期的。不幸的是,这是不正确的,不是我的目标。
pageViews
| where timestamp between(datetime("2020-03-01T00:00:00.000Z")..datetime("2020-06-01T00:00:00.000Z"))
| extend guide = case(
url contains "/guide-1/","guide-1",
url contains "/guide-2/","guide-2",
url contains "/guide-3/","guide-3",
"home-page"
)
| extend tag = case(
url contains "/guide-1/","install",
guide contains "home-page","home-page",
"how-to"
)
| extend name = case(
name contains "Welcome to docs","Welcome to docs",
"home-page" //This is incorrect - nothing should happen if the name does not contain "Welcome to docs"
)
| summarize Ocurrences=count() by name, tag, guide
我已经在 Microsoft 文档中搜索了一种方法 "do nothing" 如果不满足条件但没有提出任何建议,因为我对 Kusto 缺乏了解。我尝试了 iff
但没有成功。
感谢您提供任何帮助,包括如果此方法不是最好的建议。
如果您想在特定条件下保留 'name',您可以这样做:
|扩展名称=案例( 名称包含 "Welcome to docs","Welcome to docs", 姓名 )
pageViews
| where timestamp between(datetime("2020-03-01T00:00:00.000Z")..datetime("2020-06-01T00:00:00.000Z"))
| extend guide = case(
url contains "/guide-1/","guide-1",
url contains "/guide-2/","guide-2",
url contains "/guide-3/","guide-3",
"home-page"
)
| extend tag = case(
url contains "/guide-1/","install",
guide contains "home-page","home-page",
"how-to"
)
| extend name = case(
name contains "Welcome to docs","Welcome to docs",
name
)
| summarize Ocurrences=count() by name, tag, guide
此外,最好使用 'has' 而不是 'contains':'has' 查找完整单词并且比 'contains' 更快。