我有Kusto函数,它将接受几个参数并返回标量输出。我想在表的每一行调用它。
function = test_data(since:datetime) {
// perform some operations and return scalar results;
let result = <sometable>
let scalar_data = toscalar(result);
print(scalar_events);
}
我想在表的每一行调用这个:
当我尝试这个:
let result_data = datatable(since:datetime)
[
datetime(2023-09-20T18:37:14.5162522Z),
datetime(2023-09-20T18:37:29.2246502Z),
datetime(2023-09-20T18:37:29.2246502Z),
datetime(2023-09-20T18:37:29.2246502Z),
];
result_data
| extend data = test_data(since);
我得到了下面的错误:
误差
语义错误:当前上下文中不需要表格表达式
clientRequestId:
当我尝试使用toscalar如下列是不可见的。
let result_data = datatable(since:datetime)
[
datetime(2023-09-20T18:37:14.5162522Z),
datetime(2023-09-20T18:37:29.2246502Z),
datetime(2023-09-20T18:37:29.2246502Z),
datetime(2023-09-20T18:37:29.2246502Z),
];
result_data
| extend data = toscalar(test_data(since));
错误代码:
误差
语义错误:'toscalar'运算符:无法解析名为“since”的表或标量表达式
clientRequestId:
当我传递静态日期时间时,它工作得很好。
let result_data = datatable(since:datetime)
[
datetime(2023-09-20T18:37:14.5162522Z),
datetime(2023-09-20T18:37:29.2246502Z),
datetime(2023-09-20T18:37:29.2246502Z),
datetime(2023-09-20T18:37:29.2246502Z),
];
result_data
| extend data = toscalar(test_data(datetime(2023-09-20T18:37:14.5162522Z)));
如何在表的每一行上调用Kusto函数?这里有多个参数要传递。例如,我传递一个param(Since)
1条答案
按热度按时间hlswsv351#
我在我的环境中复制,下面是我的观察:
Note:
如果你想使用toscalar()
,它只能在单个表达式上使用,不能在列上使用,这是Microsoft-Document的限制:返回计算表达式的标量常数值。
下面是为我工作的**
KQL Query
,我在表中的每行上使用了tostring()
**:Output:
Fiddle.