如何在Power BI中创建筛选器,筛选PowerPool列含指定文本的行?
在Power BI中实现多值PowerPool列的包含式筛选
方法一:用DAX创建独立筛选器(不修改原数据)
步骤1:创建筛选器维度表
在「建模」选项卡点击「新建表」,输入DAX表达式:PowerPool筛选器 = {"EAPP", "WAPP", "NAPP", "SAPP", "CAPP"}此表无需和原数据集建立关系,保持独立。
步骤2:编写控制显示的度量值
在原数据集表中新建度量值:显示行 = VAR 选中池 = SELECTEDVALUE('PowerPool筛选器'[Value]) RETURN IF( ISBLANK(选中池), 1, IF(SEARCH(选中池, MAX('原数据集'[PowerPool]), 1, 0) > 0, 1, 0) )逻辑:未选择筛选器时显示所有行;选中某电力池时,仅显示PowerPool列包含该池的行。
步骤3:应用筛选规则
- 将
PowerPool筛选器表的Value字段拖到页面级/视觉对象级筛选器面板,作为筛选选项 - 将新建的
显示行度量值拖到筛选器面板,设置筛选条件为等于1
完成后,选择任意电力池选项,图表和表格会自动显示所有包含该池的行。
- 将
方法二:用Power Query拆分列(修改数据结构)
步骤1:拆分多值行为多行
进入Power Query编辑器,选中PowerPool列,点击「拆分列」→「按分隔符」,选择/作为分隔符,选择「拆分为行」。此时原表中类似WAPP/CAPP的行会拆分为两行,分别对应WAPP和CAPP。步骤2:设置筛选器
回到数据视图,将拆分后的PowerPool字段拖到筛选器面板,选择目标电力池(如CAPP),即可显示所有原数据中包含该池的行。注意事项
拆分后数据行数增加,可视化组件的数值计算需避免重复统计,比如用SUMX(DISTINCT('原数据集'[主键列]), '原数据集'[数值列])确保原行仅被计算一次。
内容的提问来源于stack exchange,提问作者hbstha123
相关产品推荐
相关产品推荐

