Power BI:如何在Measure中覆盖Slicer取值计算替代价格
Power BI 实现Alternate Price列的方案
核心逻辑
通过DAX调整筛选上下文,清除原有Attribute1切片器的筛选约束,保留当前选中的Attribute2筛选值、表格当前行的产品维度,替换为你已计算好的Alternative Attribute 1取值后匹配对应价格。
实现步骤
- 确认你已完成的Alternative Attribute 1度量值名称,下文统一假设为
[Selected Alt Attr1],可替换为你实际的度量值名。 - 新建名为
Alternate Price的度量值,输入如下DAX代码:
Alternate Price = // 保留当前切片器选中的Attribute2值 VAR Current_Attr2 = SELECTEDVALUE('你的产品表名'[Attribute 2]) // 调用你已计算好的替代Attribute1值 VAR Alt_Attr1 = [Selected Alt Attr1] // 保留当前表格行对应的产品 VAR Current_Product = SELECTEDVALUE('你的产品表名'[Product]) RETURN CALCULATE( SELECTEDVALUE('你的产品表名'[Price]), // 清除原有Attribute1切片器的筛选 REMOVEFILTERS('你的产品表名'[Attribute 1]), // 替换为替代Attribute1值筛选 '你的产品表名'[Attribute 1] = Alt_Attr1, // 固定Attribute2和产品的筛选条件 '你的产品表名'[Attribute 2] = Current_Attr2, '你的产品表名'[Product] = Current_Product )
- 将新建的
Alternate Price度量值直接添加到原有表格视觉对象中即可。
验证说明
按照你的场景示例:当前Attribute1切片器选10、Attribute2切片器选10000,[Selected Alt Attr1]计算结果为20时,Alternate Price列将展示对应条件下A=30$、B=32$、C=33$,符合需求。
注意事项
- 不要将
Attribute 1字段添加到当前表格的行/列维度中,避免引入额外筛选干扰度量值计算 - 如果你的Attribute1/Attribute2切片器使用独立维度表构建,将代码中
REMOVEFILTERS的参数替换为对应维度表的Attribute1字段即可 - 可以在度量值设置中调整格式为货币类型,和原有Price列展示风格统一
内容的提问来源于stack exchange,提问作者aruydzi
相关产品推荐
相关产品推荐

