自定义汇总功能汇总

时间:2020-11-05 16:59:26

标签: azure azure-application-insights kusto azure-data-explorer kusto-query-language

我想在汇总表期间在列上计算统计模式。 我尝试的CalculateMode函数是:

.create function CalculateMode(Action:int, Asset:string, Start:long, End:long) {
Event
    | where Time between (Start .. End) and IdAction == Action and IdDevice == Device
    | summarize Count = countif(isnotnull(Result) and isnotempty(Result)) by tostring(Result)
    | top 1 by Count desc
    | project ActionResult
}

OR

.create function CalculateMode(T:(data:dynamic)) {
T
    | summarize Count = countif(isnotnull(data) and isnotempty(data)) by tostring(data)
    | top 1 by Count desc
    | project data
}

当我在汇总中使用第一个编码时:

Event
    | summarize Result = CalculateMode(toint(IdAction), tostring(IdDevice), Start, End) by Category

获取此错误未找到表格表达式语句, 当我在总结中使用第二种编码时:

Event
    | summarize Result = CalculateMode(Result) by Category

获取此错误 CalculateMode():参数#1必须为表格表达式

我该怎么办? 我哪里错了? 谢谢

1 个答案:

答案 0 :(得分:0)

您不能只做summarize Result = CalculateMode(Result)。您必须决定要使用哪种聚合函数summarize(请参见聚合函数here的完整列表)。