You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Power BI中为筛选后表格添加排名/行号失败求助

问题原因

你当前使用的DAX度量值Visitor num = RANKX('myTab',CALCULATE(count('myTab'[Name])))返回全1的核心原因是:CALCULATE(count('myTab'[Name]))在每行的筛选上下文下,仅统计当前行的Name计数(结果恒为1),所有行的排名依据值完全相同,因此排名全部为1。

解决方案

根据你需要的是筛选后连续行号还是支持并列的排名,分别使用以下DAX度量值:

1. 生成筛选后连续行号(1、2、3...顺序编号)

如果只是需要给筛选后的结果按显示顺序添加连续编号,使用这个度量值:

Visitor Num = 
VAR CurrentName = SELECTEDVALUE('myTab'[Name])
RETURN
COUNTROWS(
    FILTER(
        ALLSELECTED('myTab'[Name]),
        'myTab'[Name] <= CurrentName
    )
)
  • 逻辑说明:ALLSELECTED('myTab'[Name])保留Room number筛选器的上下文,仅取筛选后的Name列表;通过统计当前Name之前(含当前)的行数,生成连续行号。
  • 注意:如果Name存在重复值,建议替换为表中的唯一标识列(如ID列),避免编号混乱。

2. 生成支持并列的排名

如果需要按规则排名(比如按Name排序,同名则排名相同),使用这个度量值:

Visitor Rank = 
RANKX(
    ALLSELECTED('myTab'),
    'myTab'[Name],
    ,
    ASC,
    DENSE
)
  • 参数说明:
    • ALLSELECTED('myTab'):限定排名范围为筛选后的数据集
    • ASC:按Name升序排名(改为DESC则为降序)
    • DENSE:密集排名(并列值共用同一排名,后续排名不跳号;若需跳号排名,替换为SKIP)

内容的提问来源于stack exchange,提问作者Riggun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 10:25:33