Power BI DAX分组排名异常求助:期望连续排名却得非连续值
分组内按值降序生成连续排名失败问题
原始数据集
group mat value 1 a1 10 a2 23 a3 1 .. an 32 2 b1 10 b2 2 b3 23 .. bn 1
错误的排名结果
group mat value rank 1 a1 10 12 a2 23 23 a3 1 40 .. an 32 3 2 b1 10 11 b2 2 39 b3 23 24 .. bn 1 42
当前使用的DAX公式
RANKX( FILTER( 'table','table'[group] = EARLIER('tabla'[group])),'tabla'[value], , DESC)
修正方案
修正后的DAX公式
Rank = RANKX( FILTER( ALLSELECTED('table'), 'table'[group] = EARLIER('table'[group]) ), 'table'[value], , DESC, DENSE )
关键修正点说明
- 修正表名拼写错误:原公式中
'tabla'是笔误,统一改为实际表名'table',确保EARLIER能正确引用当前行的group值 - 控制筛选上下文:用
ALLSELECTED('table')替代直接引用表,保留报表中已应用的center、date等筛选条件,同时仅筛选当前group内的行,保证排名计算范围正确 - 启用连续排名:添加
DENSE参数,确保排名连续无跳号(即使存在相同value,排名也不会出现间隔)
内容的提问来源于stack exchange,提问作者KLM
相关产品推荐
相关产品推荐

