Sorting 如何根据应用程序洞察的结果分组进行排序?

Sorting 如何根据应用程序洞察的结果分组进行排序?,sorting,azure-data-explorer,Sorting,Azure Data Explorer,我想要什么 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,

我想要什么

    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
按计数器和按国家分组对结果进行排序

样本输入

    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
我期望看到的

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

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

以下是一个如何计算总和、按国家加入和按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
结果如下:


以下是一个如何计算总和的示例,先按国家加入,然后按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
结果如下:


在您的示例中,按“计数”排序应该足够了,因为它是唯一的。有没有可能用“数据表”作为源代码来制作一个简单的复制程序?真的没有注意到它,坏例子现在得到了。您可以通过LeftOuterJoin实现它。更新了我的答案。在您的示例中,按“计数”排序应该足够了,因为它是唯一的。有没有可能用“数据表”作为源代码来制作一个简单的复制程序?真的没有注意到它,坏例子现在得到了。您可以通过LeftOuterJoin实现它。更新了我的答案。