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

PowerBI技术问题:同表内基于筛选结果的双重过滤需求实现

PowerBI同表双重过滤解决方案

问题梳理

现有两张表:
Table 1:

ParentNameCode
Parent 1Name 1Code 1
Parent 2Name 2Code 2
Parent 1Name 3Code 3
Parent 3Name 4Code 4

Table 2:

Name
Name 1
Name 2
Name 3

需求:先匹配Table 2的Name值(已设置Name筛选器),再获取这些Name对应的Parent值,最终筛选出Table 1中所有属于这些Parent的行。例如选中Name 1时,需返回Table 1中所有Parent为Parent 1的两行数据。

实现方法

方法一:创建计算表

通过DAX创建一张动态更新的计算表,自动完成双重筛选:

Filtered_Table = 
VAR SelectedNames = VALUES(Table2[Name])
VAR TargetParents = 
    CALCULATETABLE(
        VALUES(Table1[Parent]),
        Table1[Name] IN SelectedNames
    )
RETURN
    CALCULATETABLE(
        Table1,
        Table1[Parent] IN TargetParents
    )
  • SelectedNames:提取Table 2中所有需要匹配的Name值(若使用切片器手动筛选Name,可替换为VALUES(Table1[Name]))
  • TargetParents:获取选中Name对应的所有Parent集合
  • 最终返回Table 1中Parent属于该集合的全部行

方法二:用度量值实现动态筛选

若不想创建新表,可编写度量值配合可视化筛选:

IsQualifiedRow = 
VAR SelectedNames = VALUES(Table2[Name])
VAR CurrentRowParent = SELECTEDVALUE(Table1[Parent])
VAR TargetParents = 
    CALCULATETABLE(
        VALUES(Table1[Parent]),
        Table1[Name] IN SelectedNames
    )
RETURN
    IF(CurrentRowParent IN TargetParents, 1, 0)

使用步骤:

  1. 将该度量值添加到可视化表格的字段列表中
  2. 打开表格的筛选器面板,添加IsQualifiedRow,设置筛选条件为等于1
  3. 此时表格会自动根据选中的Name,动态显示对应Parent下的所有行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 10:12:31