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

Power BI基于筛选上下文创建动态列:按名称计数返回对应结果

DAX筛选上下文问题解决方法

问题根源

你当前写的是计算列(通过=直接定义),计算列的结果在数据模型加载时就已固定,不会随报表中的筛选、切片器等上下文变化而更新。要实现动态响应筛选的需求,必须改用度量值。

正确的度量值代码

Name Status = 
VAR CurrentName = MAX(Table1[Name])
VAR NameCount = CALCULATE(
    COUNTROWS(Table1),
    ALLSELECTED(Table1),
    Table1[Name] = CurrentName
)
RETURN
IF(NameCount = 2, "In", "Out")

代码说明

  • MAX(Table1[Name]):在表格的行上下文里,提取当前行对应的名称(因每行对应单个名称,用MIN也可达成相同效果)
  • CALCULATE(COUNTROWS(Table1), ...):
    • ALLSELECTED(Table1):保留报表上已应用的所有筛选上下文(比如部门筛选)
    • Table1[Name] = CurrentName:仅统计当前名称在筛选后的出现次数
  • 最后根据次数返回指定结果:出现2次返回In,其余情况返回Out

使用步骤

  1. 在Power BI界面点击「新建度量值」
  2. 粘贴上述代码并命名(比如Name Status)
  3. 将该度量值添加到表格视觉对象中,即可随筛选动态更新结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 20:50:05