Azure Application Insights查询-如何计算占总数的百分比
我试图在输出表中创建一行,用于计算项目总数的百分比:Azure Application Insights查询-如何计算占总数的百分比,azure,azure-application-insights,ms-app-analytics,Azure,Azure Application Insights,Ms App Analytics,我试图在输出表中创建一行,用于计算项目总数的百分比: Something like this: ITEM | COUNT | PERCENTAGE item 1 | 4 | 80 item 2 | 1 | 20 我可以很容易地得到一个包含ITEM和COUNT行的表,但我不知道如何将total(在本例中为5)作为一个数字,这样我就可以计算列%中的百分比 someTable | where name == "Some Name" | sum
Something like this:
ITEM | COUNT | PERCENTAGE
item 1 | 4 | 80
item 2 | 1 | 20
我可以很容易地得到一个包含ITEM和COUNT行的表,但我不知道如何将total(在本例中为5)作为一个数字,这样我就可以计算列%中的百分比
someTable
| where name == "Some Name"
| summarize COUNT = count() by ITEM = tostring( customDimensions.["SomePar"])
| project ITEM, COUNT, PERCENTAGE = (C/?)*100
有什么想法吗?谢谢。创建这样的查询有点麻烦 我已经根据AI中的customEvents表完成了这项工作。所以,看看你是否能适应你的具体情况 您必须创建一个包含记录总数的表,然后才能加入此表。由于只能在公共列上进行联接,因此需要始终具有相同值的列。我选择appName 因此,整个查询如下所示:
let totalEvents = customEvents
// | where name contains "Opened form"
| summarize count() by appName
| project appName, count_ ;
customEvents
// | where name contains "Opened form"
| join kind=leftouter totalEvents on appName
| summarize count() by name, count_
| project name, totalCount = count_ , itemCount = count_1, percentage = (todouble(count_1) * 100 / todouble(count_))
如果需要筛选器,则必须将其应用于两个表
这将产生:
我认为以下内容更直观。只需使用一个伪属性扩展集合,并在该集合上进行连接
requests
| summarize count()
| extend a="b"
| join (
requests
| summarize count() by name
| extend a="b"
) on a
| project name, percentage = (todouble(count_1) * 100 / todouble(count_))
甚至不需要进行联接或创建包含总计的表 只需计算你的总数,并将其保存在一个像这样的let中
let totalEvents = toscalar(customEvents
| where timestamp > "someDate"
and name == "someEvent"
| summarize count());
然后,您只需将一行添加到下一个表中,在该表中,您需要通过执行以下操作来计算百分比:
| extend total = totalEvents
这将向您的表中添加一个新的列,其中填入您计算的总数。
之后,您可以计算其他两个答案中所述的百分比
| extend percentages = todouble(count_)*100/todouble(total)
其中count_u是由您的summary count()创建的列,您可能在添加百分比之前执行此操作
希望这也能帮助别人。太棒了。让它完全按照我想要的方式工作。我的“加入”游戏很弱,所以我在那个方向的任何尝试都失败了。非常感谢。