Power BI中基于当前汇率计算跨季度GWP折算总和的度量值需求
Power BI度量值:统一使用当前季度汇率计算GWP折算总和
需求核心
两张表通过composite key(币种+季度)关联,但需忽略保费数据的季度属性,统一用当前季度对应币种的汇率,计算所有GWP(含当前、上季度数据)的折算总和。
实现思路
- 提取当前筛选上下文的目标季度(即用户选择的"当前季度")
- 遍历每笔保费数据,打破原表的季度关联限制,匹配同币种的当前季度汇率
- 逐行计算GWP折算值后求和
DAX度量值代码
GWP_折算总和_当前汇率 = VAR Current_Quarter = SELECTEDVALUE(Premium[quarter]) -- 取当前筛选的季度,多选场景可改用MAX(Premium[quarter]) RETURN SUMX( Premium, VAR Current_Currency = Premium[currency name] -- 强制获取当前币种的当前季度汇率 VAR Current_Rate = CALCULATE( SELECTEDVALUE('汇率表'[exchange rate]), '汇率表'[currency name] = Current_Currency, '汇率表'[quarter] = Current_Quarter, REMOVEFILTERS('汇率表'[quarter]) -- 清除原关联带来的季度筛选锁 ) RETURN DIVIDE(Premium[GWP], Current_Rate, 0) -- 安全除法,避免汇率为0报错 )
代码说明
Current_Quarter:定义变量获取当前筛选的季度,若报表允许多选季度,替换为MAX(Premium[quarter])可自动取最新季度作为"当前季度"SUMX:迭代保费表每一行数据,确保每笔GWP都匹配对应币种的当前汇率Current_Rate:通过CALCULATE修改筛选上下文,强制锁定当前季度的汇率,REMOVEFILTERS用于打破原composite key关联带来的季度限制DIVIDE:内置安全除法函数,除数为0时返回0,避免报表报错
样本验证(示例数据)
汇率表
| currency name | exchange rate | quarter | composite key |
|---|---|---|---|
| USD | 7.2 | Q3 2024 | USD-Q3 2024 |
| USD | 7.1 | Q2 2024 | USD-Q2 2024 |
| EUR | 7.8 | Q3 2024 | EUR-Q3 2024 |
| EUR | 7.7 | Q2 2024 | EUR-Q2 2024 |
保费表
| GWP | quarter | currency name | composite key |
|---|---|---|---|
| 1000 | Q3 2024 | USD | USD-Q3 2024 |
| 800 | Q2 2024 | USD | USD-Q2 2024 |
| 600 | Q3 2024 | EUR | EUR-Q3 2024 |
| 500 | Q2 2024 | EUR | EUR-Q2 2024 |
预期输出
当筛选季度为Q3 2024时,折算总和约为 391.02
内容的提问来源于stack exchange,提问作者user30287183
相关产品推荐
相关产品推荐

