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

Power BI中基于另一表选择逐行计算价格(乘/除汇率)问题

Power BI根据用户选择的货币动态计算价格的解决方案

核心思路

自定义列是数据加载时生成的静态值,无法响应切片器的动态选择,因此必须用**度量值(Measure)**实现实时计算,同时确保货币选择表与业务表无关联,避免筛选冲突。

具体步骤

  1. 调整表关系:确保Currency Choice表与Purchases表无任何关系(若已建立关系,需在模型视图中删除)。

  2. 创建获取用户选择的度量值:

Selected Currency Value = SELECTEDVALUE('Currency Choice'[Value], 1)
  • SELECTEDVALUE获取切片器选中的货币对应值,默认值设为1(对应mxn),避免无选择时出错。
  1. 创建动态计算新价格的度量值:
New Price = 
VAR SelectedVal = [Selected Currency Value]
VAR CurrentRowCurrency = MAX(Purchases[Currency])
VAR CurrentRowPrice = MAX(Purchases[Price])
VAR CurrentRowRate = MAX(Purchases[Rate])
RETURN
    SWITCH(TRUE(),
        // 选择usd(值2)时,mxn货币行除以汇率
        SelectedVal = 2 && CurrentRowCurrency = "mxn", DIVIDE(CurrentRowPrice, CurrentRowRate),
        // 选择mxn(值1)时,usd货币行乘以汇率
        SelectedVal = 1 && CurrentRowCurrency = "usd", CurrentRowPrice * CurrentRowRate,
        // 同货币时直接返回原价
        CurrentRowPrice
    )
  • 用VAR定义变量提升可读性,DIVIDE函数避免除零错误,SWITCH替代多层IF更简洁。

使用方法

将New Price度量值添加到包含Purchases表字段的可视化表格中,当用户通过切片器选择货币时,表格会实时更新每行的计算结果,完全匹配你期望的逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 05:32:22