如何在DAX中关联3张表计算:将目标销售额转换为美元
把目标销售总额转换为美元的解决方案
先搞定表间关联关系
首先要确保三张表的关系配置正确,这是后续计算的基础:
- Target表的
Branch字段与Currency Codes表的Branch字段建立一对多关系(Target为多端,一个门店可对应多条目标销售记录) - Currency Codes表的
Currency Codes字段与USD Conversion Rate表的Currency Codes字段建立一对多关系(Currency Codes为多端,一个货币代码可对应多条汇率记录)
两种DAX实现方式
1. 给Target表添加计算列(逐行转换为美元金额)
利用已建立的关联链,RELATED函数可以直接从USD Conversion Rate表取到对应门店的汇率,无需手动处理中间表:
Total Target Sales USD = DIVIDE( Target[Total Target Sales], RELATED('USD Conversion Rate'[Conversion Rate (Divide by this value)]) )
2. 创建度量值(用于报表动态聚合计算)
如果需要在报表中按不同维度(如门店、时间)动态聚合美元总额,使用SUMX遍历Target表逐行计算后求和:
Total Target Sales USD = SUMX( Target, DIVIDE( Target[Total Target Sales], RELATED('USD Conversion Rate'[Conversion Rate (Divide by this value)]) ) )
你之前尝试的问题点
你之前错误地试图关联Currency Codes表的Branch字段,但只要表间关系配置正确,RELATED会自动顺着「Target→Currency Codes→USD Conversion Rate」的关联链找到对应门店的汇率,完全不需要手动处理中间表的字段。
内容的提问来源于stack exchange,提问作者Atif
相关产品推荐
相关产品推荐

