Power BI筛选器面板组合失效,如何用DAX实现指定条件筛选?
DAX实现特定条件的Reference ID筛选
错误原因
你之前的代码报错,核心问题是CALCULATE函数的第一个参数必须是聚合函数或标量值,不能直接引用文本列([Reference ID]是多值列)。CALCULATE的作用是修改上下文来计算聚合结果,而非直接返回列的原始值。
解决方案
根据你的需求(无需新建表,筛选现有表的Reference ID),提供两种可行写法:
方法1:用CALCULATE+VALUES返回符合条件的ID集合
创建一个度量值,返回所有Claire在周二创建的预订对应的Reference ID:
Filtered Reference IDs = CALCULATE( VALUES('Bookings'[Reference ID]), 'Bookings'[Day Week] = "Tuesday", 'Sales'[Employees] = "Claire" )
VALUES函数会返回筛选上下文内的所有唯一Reference ID,符合你获取目标ID列表的需求。- 可以将这个度量值放到可视化组件(比如卡片表、表格)中,直接查看结果。
方法2:创建计算列标记符合条件的记录
如果需要在标准筛选器面板中直接筛选,可给Bookings表添加一个计算列,标记符合条件的记录:
Is Target Booking = IF( 'Bookings'[Day Week] = "Tuesday" && RELATED('Sales'[Employees]) = "Claire", "是", "否" )
- 添加完成后,在筛选器面板中选择该列的"是"选项,即可只显示目标记录的Reference ID。
- 注意:
RELATED函数用于跨表关联,需确保Bookings和Sales表之间已建立正确的关系。
内容的提问来源于stack exchange,提问作者bobbie_mcgee98
相关产品推荐
相关产品推荐

