使用 DAX 公式的 Power BI 动态列参考
Power BI dynamic column reference with DAX formula
我有一个 Orders
和 ExchangeRates
表通过 date
键连接:
我想做的是从 ExchangeRates
中获取正确的货币汇率,它们按列组织,列名与 Orders
.[=26 中的货币代码相匹配=]
我基本上是在尝试通过使用匹配的 Orders[orderCurrency]
对 EUR
或 JPY
列进行动态列引用,如下所示:
orderExchangeRate = LOOKUPVALUE(ExchangeRates[Orders[orderCurrency]],
ExchangeRates[date],Orders[date])
或:
orderExchangeRage = SELECTCOLUMNS(ExchangeRates,Orders[orderCurrency], ....)
但是 none 的函数接受动态列引用,它们期望列的实际名称
如何根据Orders[orderCurrency]
动态引用EUR
和JPY
列? PowerBI中不是有类似INDIRECT的动态引用吗?
据我所知,DAX中没有INDIRECT这样的函数。
您(至少)有两个选择:
如果只是欧元和日元,您可以创建两个公式,并根据它们之间的货币切换使用 IF() 或 SWITCH()。比如:If (Currency = "EUR", LOOKUPVALUE(EUR), LOOKUPVALUE(JPY)。当然是伪代码。
反转汇率中的 EUR 和 JPY 列 table。然后每个日期和货币都有一行,您可以根据需要引用它。对于更多货币组合尤其有用。您可以在查询编辑器的转换选项卡中取消透视。
我有一个 Orders
和 ExchangeRates
表通过 date
键连接:
我想做的是从 ExchangeRates
中获取正确的货币汇率,它们按列组织,列名与 Orders
.[=26 中的货币代码相匹配=]
我基本上是在尝试通过使用匹配的 Orders[orderCurrency]
对 EUR
或 JPY
列进行动态列引用,如下所示:
orderExchangeRate = LOOKUPVALUE(ExchangeRates[Orders[orderCurrency]],
ExchangeRates[date],Orders[date])
或:
orderExchangeRage = SELECTCOLUMNS(ExchangeRates,Orders[orderCurrency], ....)
但是 none 的函数接受动态列引用,它们期望列的实际名称
如何根据Orders[orderCurrency]
动态引用EUR
和JPY
列? PowerBI中不是有类似INDIRECT的动态引用吗?
据我所知,DAX中没有INDIRECT这样的函数。
您(至少)有两个选择:
如果只是欧元和日元,您可以创建两个公式,并根据它们之间的货币切换使用 IF() 或 SWITCH()。比如:If (Currency = "EUR", LOOKUPVALUE(EUR), LOOKUPVALUE(JPY)。当然是伪代码。
反转汇率中的 EUR 和 JPY 列 table。然后每个日期和货币都有一行,您可以根据需要引用它。对于更多货币组合尤其有用。您可以在查询编辑器的转换选项卡中取消透视。