Lok*_*gga 7 kql azure-data-explorer
我正在尝试编写一个 Kusto 查询,其中有一个 bool 变量,并且基于该变量我想调用不同的函数。例如:
let flag = true;
let result = iff(flag == "true", function1, function2)
// function1 will return a different table and function2 will return another table.
Run Code Online (Sandbox Code Playgroud)
上面的代码是不可能的,因为类似的方法iff() and case()只能对标量值进行操作。
那么,有什么办法可以实现这一目标吗?
Avn*_*era 14
常见的技术是使用联合:
union (function1 | where flag), (function2 | where not(flag))
Run Code Online (Sandbox Code Playgroud)
这是一个完整的示例:
let A = datatable(col1:string)["A"];
let B = datatable(col1:string)["B"];
let funcA = view(){
A
};
let funcB= view(){
B
};
let flag = true;
union (funcA() | where flag), (funcB() | where not(flag))
Run Code Online (Sandbox Code Playgroud)
| 第 1 列 |
|---|
| A |
当标志为 false 时:
let A = datatable(col1:string)["A"];
let B = datatable(col1:string)["B"];
let funcA = view(){
A
};
let funcB= view(){
B
};
let flag = false;
union (funcA() | where flag), (funcB() | where not(flag))
Run Code Online (Sandbox Code Playgroud)
| 第 1 列 |
|---|
| 乙 |
| 归档时间: |
|
| 查看次数: |
6056 次 |
| 最近记录: |