使用 DAX 公式的 Power BI 动态列参考

Power BI dynamic column reference with DAX formula

我有一个 OrdersExchangeRates 表通过 date 键连接:

我想做的是从 ExchangeRates 中获取正确的货币汇率,它们按列组织,列名与 Orders.[=26 中的货币代码相匹配=]

我基本上是在尝试通过使用匹配的 Orders[orderCurrency]EURJPY 列进行动态列引用,如下所示:

orderExchangeRate = LOOKUPVALUE(ExchangeRates[Orders[orderCurrency]],
ExchangeRates[date],Orders[date])

或:

orderExchangeRage = SELECTCOLUMNS(ExchangeRates,Orders[orderCurrency], ....)

但是 none 的函数接受动态列引用,它们期望列的实际名称

如何根据Orders[orderCurrency]动态引用EURJPY列? PowerBI中不是有类似INDIRECT的动态引用吗?

据我所知,DAX中没有INDIRECT这样的函数。

您(至少)有两个选择:

  • 如果只是欧元和日元,您可以创建两个公式,并根据它们之间的货币切换使用 IF() 或 SWITCH()。比如:If (Currency = "EUR", LOOKUPVALUE(EUR), LOOKUPVALUE(JPY)。当然是伪代码。

  • 反转汇率中的 EUR 和 JPY 列 table。然后每个日期和货币都有一行,您可以根据需要引用它。对于更多货币组合尤其有用。您可以在查询编辑器的转换选项卡中取消透视。