首页 > 解决方案 > 如何使用 Application Insights 上的结果分组进行 Azure Kusto 排序?

问题描述

我想要的是

按计数器排序结果并按国家/地区分组

样本输入

    let Source = datatable(Page:string, Region:string, Count:int)
[
    'page1', 'United States', 100,
    'page2', 'United States', 50,
    'page3', 'United States', 25,
    'page1', 'United Kingdom', 120,
    'page2', 'United Kingdom', 60,
    'page3', 'United Kingdom', 30,
    'page1', 'Russia', 60,
    'page2', 'Russia', 30,
    'page3', 'Russia', 15,
    'page1', 'Canada', 80,
    'page2', 'Canada', 40,
    'page3', 'Canada', 20
];
Source
| sort by Region, Count

我所看到的

page1 | United States  | 100
page2 | United States  | 50
page3 | United States  | 25
page1 | United Kingdom | 120
page2 | United Kingdom | 60
page3 | United Kingdom | 30
page1 | Russia         | 60
page2 | Russia         | 30
page3 | Russia         | 15
page1 | Canada         | 80
page2 | Canada         | 40
page3 | Canada         | 20    

我期望看到的

page1 | United Kingdom | 120
page2 | United Kingdom | 60
page3 | United Kingdom | 30
page1 | United States  | 100
page2 | United States  | 50
page3 | United States  | 25
page1 | Canada         | 80
page2 | Canada         | 40
page3 | Canada         | 20
page1 | Russia         | 60
page2 | Russia         | 30
page3 | Russia         | 15

我得到一个按国家/地区的页面列表,按访问次数排序,但国家本身是随机排列的,而不是按访问次数的降序排列。如何解决?

标签: sortingazure-data-explorer

解决方案


这是一个如何计算总和、按国家加入并首先按 TotalCount 排序的示例:

let Source = datatable(Page:string, Region:string, Count:int)
[
    'page1', 'United States', 100,
    'page2', 'United States', 50,
    'page3', 'United States', 25,
    'page1', 'United Kingdom', 120,
    'page2', 'United Kingdom', 60,
    'page3', 'United Kingdom', 30,
    'page1', 'Russia', 60,
    'page2', 'Russia', 30,
    'page3', 'Russia', 15,
    'page1', 'Canada', 80,
    'page2', 'Canada', 40,
    'page3', 'Canada', 20
];
Source
| join kind=leftouter (Source | summarize TotalCount=sum(Count) by Region) on Region
| sort by TotalCount, Region, Count
| project Page, Region, Count

结果如下:

在此处输入图像描述


推荐阅读