在应用洞察分析中使用部门运算符

时间:2018-12-11 20:35:35

标签: azure azure-application-insights

我有以下应用洞察查询:

let someResult=
customEvents | where name in ('SomeAction')
| parse customDimensions.someId with someId 
| parse customDimensions.sometaskId with someTaskId
| parse user_AuthenticatedId with user
| summarize max(timestamp) by user, someId , someTaskId
| join (
customEvents | where name in ('someAction')
| parse customDimensions.action with someAction
| parse customDimensions.someId with someId
| project someAction,someId
) on someId
| join (
customEvents
| where name in ('someResult')
| parse customDimensions.someId with someId 
| parse customDimensions.someIdsWithSomething with sometaskIds
| parse array_length(split(customDimensions.someIdsWithSomething ,',')) with someTaskCount
| distinct someId , sometaskIds,someTaskCount
| where sometaskIds<> ''
) on someId 
| summarize sumif(todouble(someTaskCount),someAction=="accept")/sum(todouble(someTaskCount));

我如何在这里将someResult除以某物。例如,我希望最终结果为 someResult / 10 。谢谢您的帮助。

2 个答案:

答案 0 :(得分:1)

尝试一下:

let someResult=
customEvents | where name in ('SomeAction')
| parse customDimensions.someId with someId 
| parse customDimensions.sometaskId with someTaskId
| parse user_AuthenticatedId with user
| summarize max(timestamp) by user, someId , someTaskId
| join (
customEvents | where name in ('someAction')
| parse customDimensions.action with someAction
| parse customDimensions.someId with someId
| project someAction,someId
) on someId
| join (
customEvents
| where name in ('someResult')
| parse customDimensions.someId with someId 
| parse customDimensions.someIdsWithSomething with sometaskIds
| parse array_length(split(customDimensions.someIdsWithSomething ,',')) with someTaskCount
| distinct someId , sometaskIds,someTaskCount
| where sometaskIds<> ''
) on someId 
| summarize summarized = sumif(todouble(someTaskCount),someAction=="accept")/sum(todouble(someTaskCount));
someResult 
| project summarized / 10

由于我没有这些自定义尺寸,因此无法对其进行测试,但这是基于此经过测试的示例:

let someResult = requests
| summarize summarized = count();
someResult 
| project summarized / 10

答案 1 :(得分:1)

我希望这对某人有帮助,因为这个SO问题会显示为最高结果,但不会回答该问题。我从this answer确定了类似的内容:

let authRequests = requests | where operation_Name contains "Auth";
let countNon500s = toscalar(authRequests | where resultCode !startswith "5" | count);
let countAll = toscalar(authRequests | count);
let percent = 100*todouble(todouble(countNon500s) / todouble(countAll));
print todecimal(percent) 

三个重要部分是:

  • 您需要将值转换为标量值(否则它们是表)。
  • 您需要将结果百分比转换为双精度(否则为1或0)
  • 您需要使用“打印”输出为表格形式(或扩展列)