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

DAX使用TOPN结果筛选表格时仍返回全部行问题求解

问题原因

你当前的度量值在逐行计算时受到了表格行上下文的筛选影响:当度量值被放在以国家为行维度的表格中时,每行的计算环境默认已经筛选了当前行对应的单个国家,你定义VAR _Countries时调用的VALUES(DimCountries[Country])在这个环境下只会返回当前行的1个国家,TOPN运算的对象只有1个值,自然每行都会判定当前国家属于前4的范围,最终所有国家都会返回对应数值。

修复方案

方案1:修改度量值逻辑

调整TOPN的计算范围为全量国家,不符合条件的行返回空值即可:

Top 4 Fully Vaccinated 3 = 
VAR _Countries = TOPN(4, ALL(DimCountries[Country]), [Fully Vaccinated %], DESC)
RETURN
IF(
    SELECTEDVALUE(DimCountries[Country]) IN _Countries,
    [Fully Vaccinated %],
    BLANK()
)

方案2:使用视觉对象筛选(更简便)

不需要额外编写度量值,直接给当前表格视觉对象添加筛选规则:

  • 把[Fully Vaccinated %]字段拖入视觉对象筛选面板
  • 筛选类型选择「前N个」,N值设置为4,排序依据选择[Fully Vaccinated %]降序即可自动过滤出前4个国家。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 03:18:03