Power BI中用DAX计算各城市分组占总计的占比问题
解决DAX计算城市占比的问题
问题核心:Sum(Together)会受当前行的城市筛选上下文限制,只计算当前城市的Together值,导致分子分母相同,结果为1。需要用DAX函数清除城市的筛选,计算所有城市的总Together值。
正确的DAX公式
方法1:计算所有城市的绝对占比
City_Together_Ratio = DIVIDE( [Together], CALCULATE( [Together], ALL('你的表名'[城市列名]) -- 替换为实际表名和城市列名 ) )
ALL('你的表名'[城市列名])会移除对城市列的筛选,让CALCULATE计算所有城市的Together总和。
方法2:计算筛选范围内的占比(适配切片器/筛选器场景)
如果报表有切片器(比如筛选特定区域),想要计算筛选后可见城市的总占比,用ALLSELECTED:
City_Together_Ratio = DIVIDE( [Together], CALCULATE( [Together], ALLSELECTED('你的表名'[城市列名]) ) )
注意事项
- 务必替换公式中的
'你的表名'[城市列名]为实际使用的表名称和城市列名称。 DIVIDE函数会自动处理分母为0的情况,避免报错,比直接用/更安全。
内容的提问来源于stack exchange,提问作者San Nabaty
相关产品推荐
相关产品推荐

