Power BI多表关系歧义问题:跨买方/制造商区域筛选交易金额异常
解决方案
核心思路
没法给Regions表和原表建立活动关系的话,直接在交易总额的度量值里处理筛选逻辑就行——判断当前交易对应的买方区域,或者制造商区域,是否在切片器选中的区域范围内。
步骤1:修正Regions表的DAX(修正拼写错误)
你原来的DAX里把Manufacturer写成了Manufacture,先修正:
Regions = CALCULATETABLE ( UNION ( SUMMARIZE ( Buyer, Buyer[Regions] ), SUMMARIZE ( Manufacturer, Manufacturer[Regions] ) ) )
这个表会自动汇总买方和制造商的所有不重复区域,用来做切片器完全没问题。
步骤2:编写带区域筛选的交易总额度量值
新建一个度量值,用CALCULATE包裹总额计算,同时添加筛选条件:
交易总额(区域筛选) = CALCULATE ( SUM ( Transaction[交易金额] ), FILTER ( Transaction, RELATED ( Buyer[Regions] ) IN VALUES ( Regions[Regions] ) || RELATED ( Manufacturer[Regions] ) IN VALUES ( Regions[Regions] ) ) )
RELATED ( Buyer[Regions] ):通过Transaction和Buyer的关联关系,获取当前交易对应的买方区域RELATED ( Manufacturer[Regions] ):同理获取对应的制造商区域IN VALUES ( Regions[Regions] ):判断该区域是否在切片器选中的区域列表里||:逻辑或,只要买方区域匹配或者制造商区域匹配的交易,都会被计入总额
步骤3:配置可视化组件
把Regions[Regions]拖到切片器里,再把新建的交易总额(区域筛选)拖到卡片图或表格中,就能实现需求:不管选的是买方区域还是制造商区域,对应的交易都会被筛选出来并计算总额。
内容的提问来源于stack exchange,提问作者Ramesh Madhubhashitha
相关产品推荐
相关产品推荐

