PowerBI中使用DAX计算字符串列指定值占比的方法咨询
PowerBI DAX 统计字符串列特定值占比解决方案
统计字符串类型列中指定值的占比无需使用SUM函数,直接使用DAX的计数类函数即可实现,以下是几种常用可行方案:
方案1:基础实现(逻辑直观,适合新手)
直接创建度量值,代码如下:European Desk 占比 = DIVIDE( COUNTROWS(FILTER('你的表名', '你的表名'[目标列名] = "European Desk")), COUNTROWS('你的表名') )逻辑说明:先用FILTER筛选出列值等于"European Desk"的所有行,统计符合条件的行数后除以总行数,DIVIDE函数自带除零容错,计算结果直接设置为百分比格式即可展示占比。
方案2:高效实现(性能更优,适合大数据量场景)
使用CALCULATE修改筛选上下文,相比FILTER执行效率更高,代码如下:European Desk 占比 = DIVIDE( CALCULATE(COUNTROWS('你的表名'), '你的表名'[目标列名] = "European Desk"), COUNTROWS('你的表名') )方案3:复用性优化(适合频繁用到该标记的场景)
先新建计算列标记目标值,后续可基于该列做多种聚合计算:- 新建计算列代码:
是否为European Desk = IF('你的表名'[目标列名] = "European Desk", 1, 0)- 对应占比度量值代码:
European Desk 占比 = DIVIDE(SUM('你的表名'[是否为European Desk]), COUNTROWS('你的表名'))
注意:将上述代码中的
你的表名、目标列名替换为你实际使用的表名和字符串列名即可生效。
内容的提问来源于stack exchange,提问作者SRP
相关产品推荐
相关产品推荐

