如何使用Kusto Query按Key计算各Value的占比?
按Key分组计算Value的占比解法
针对你需要按Key分组统计各Value占比的需求,这里提供Kusto查询语言的实现方案:
实现查询语句
datatable (key: string, value: string) [ "a","1", "a","2", "b","x", "b","x", "b","x", "b","y", ] | summarize count = count() by key, value | extend total = count() over (partition by key) | extend ratio = todouble(count) / total | project key, value, ratio
步骤说明
- 统计分组次数:用
summarize count = count() by key, value按key和value的组合分组,统计每组的出现次数。 - 计算分组总数:通过窗口函数
count() over (partition by key),按key分区计算每个key对应的总记录数(即该key下所有value的次数总和)。 - 计算占比:将
count转换为浮点型(避免整数除法误差)后除以total,得到该value在对应key下的占比。 - 输出结果:用
project保留需要的key、value、ratio列,输出格式与你期望的结果一致。
内容的提问来源于stack exchange,提问作者rolledback
相关产品推荐
相关产品推荐

