You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Power BI按国家匹配汇率计算美元销售总额的DAX写法

Power BI 按国家汇总后换算美元销售额的DAX度量值写法
  • 前置配置要求:提前将Table1(销售表)和Table2(汇率表)通过COUNTRY字段建立一对多单方向关系,汇率表作为关系「一」端,销售表作为关系「多」端即可。

符合计算逻辑的度量值代码如下:

TOTALSALES_USD =
SUMX (
    VALUES ( Table1[COUNTRY] ),
    [TOTALSALES] * SELECTEDVALUE ( Table2[ToUSD Exchange rate] )
)

逻辑说明

这个写法完全匹配要求的计算规则:

  1. 迭代粒度为当前筛选上下文下所有产生销售的国家,不会遍历销售表明细行,从根源上避免了逐行换算的问题
  2. 对每一个迭代到的国家,先计算该国在当前筛选下的本币销售总额(即已有的[TOTALSALES]度量值结果),再乘以该国对应的兑美元汇率,得到单国美元销售额
  3. 最后自动把所有选中国家的美元销售额求和,不管是单选国家还是多选国家,计算逻辑都保持一致:

    对应示例数据验证:

    • 无筛选时:CHN销售额1007 + JPN销售额100135 = 14200
    • 仅筛选CHN时:100*7 = 700
    • 仅筛选JPN时:100*135 = 13500

避坑提示

  • 不要使用SUMX(Table1, Table1[Sales] * RELATED(Table2[ToUSD Exchange rate]))写法,该写法是逐行销售明细换算汇率,不符合「先按国家汇总本币销售额再换算」的要求
  • 若单个国家匹配到多个汇率值,SELECTEDVALUE会返回空值,可直接定位到汇率表的数据重复问题,不会出现计算错误
  • 如果你单独搭建了国家公共维度表,只需要把VALUES(Table1[COUNTRY])替换为维度表中的COUNTRY字段即可,计算逻辑完全不变

内容的提问来源于stack exchange,提问作者mytabi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 06:42:35