我在Transaction表中有各种货币的交易(TransactionAmount和TransactionCurrency列),还有相关的Currency表:
使用RateToEuro列我已经能够使用计算列将我的所有交易金额转换为欧元:
我想要的一个例子:我想在我的报告过滤器'Dollar'中选择,然后交易金额应该将所有原始交易金额转换为美元。因此,在上面的示例中,2052美元的原始trx金额也将在“交易金额($)”列中为2052。
[编辑:] 目前我已经创建了获取过滤器值的度量:
CurrencyFilter = IF(LASTNONBLANK('CurrencyFormat'[Name], 1) = "USD", "USD", "EUR")
每个交易的计算列计算转换后的交易金额(取决于所选的报表过滤器):
TransactionAmountConverted = CALCULATE(VALUES(Transactions[TransactionAmount]) * (IF([CurrencyFilter] = "EUR", VALUES('Currency'[RateToEuro]), VALUES('Currency'[RateToDollar]))))
但由于某种原因,IF
语句始终返回TRUE
(即始终使用RateToEuro
列)。
任何暗示或提示我指向正确的方向都会非常感激!