Raz*_*azi 2 azure azure-monitoring kql azure-data-explorer
我需要将列名动态传递到查询中。虽然以下在语法上是正确的,但它并没有真正执行特定列上的条件。
这在 Kusto 中可能吗?
let foo = (duration: timespan, column:string) {
SigninLogs
| where TimeGenerated >= ago(duration)
| summarize totalPerCol = count() by ['column']
};
//foo('requests')<-- does not work
//foo('user') <-- does not work
//foo('ip')<-- does not work
Run Code Online (Sandbox Code Playgroud)
您可以尝试使用该column_ifexists()功能:https://learn.microsoft.com/en-us/azure/data-explorer/kusto/query/columnifexists。
例如:
let foo = (column_name:string) {
datatable(col_a:string)["hello","world"]
| summarize totalPerCol = count() by column_ifexists(column_name, "")
};
foo('col_a')
Run Code Online (Sandbox Code Playgroud)
| 可乐 | 总每列 |
|---|---|
| 你好 | 1 |
| 世界 | 1 |
| 归档时间: |
|
| 查看次数: |
3542 次 |
| 最近记录: |