Power BI使用DAX公式实现动态列引用

3
我有两个表 OrdersExchangeRates,通过一个 date 键相连:

enter image description here

enter image description here

我的目标是从 ExchangeRates 中获取正确的货币汇率,这些汇率是按照货币代码匹配到 Orders 表中的列名上的。

我基本上想使用匹配的 Orders[orderCurrency] 实现对 EURJPY 列的动态引用,例如:

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

或者:

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

但是这些函数都不接受动态列引用,它们需要列的实际名称。

如何根据Orders [orderCurrency]动态引用EURJPY列? 在PowerBI中是否有类似于INDIRECT的东西来进行动态引用?

1个回答

4
据我所知,在DAX中没有名为INDIRECT的函数。
您有(至少)两个选择:
1.如果只涉及欧元和日元,您可以创建两个公式,并根据货币在IF()或SWITCH()之间切换。例如:如果(Currency =“EUR”),则使用LOOKUPVALUE(EUR),否则使用LOOKUPVALUE(JPY)。当然,这只是伪代码。
2.在ExchangeRate表中展开欧元和日元列。然后,您将每个日期和货币的行,并且可以根据需要引用它。尤其适用于更多的货币组合。您可以在查询编辑器中转换选项卡中进行展开。

我选择了反转解决方案,因为它使数据集和公式更简单。 - Panda Coder

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接