Power BI:如何动态更改货币
Power BI: How to dynamically change currency
我们要求允许用户选择他想在仪表板中看到的货币,如下例所示:
默认为GBP
,如果用户更改为USD
,我们需要以美元显示支出。在幕后,我们已经有了 table InvoiceDetail
,其中包含预先进行货币转换的列:
SpendInGBP
SpendInUSD
SpendInEUR
当用户使用 ChicletSlicer 选择不同的货币到不同的列时,我不确定如何映射。
如果您有一个 table 包含所有可应用的格式,就可以实现。
我创建了这些 table 作为示例:
MyTable
CurrencyFormat
在 MyTable
table 中,我创建了两个名为 Format
和 Total Sales
的度量。
Format = LASTNONBLANK ( CurrencyFormat[Format], 1 )
Total Sales = Total Sales = FORMAT(SUM(MyTable[Sales]),[Format])
注意 Total Sales
度量使用 [Format]
度量从切片器中获取选定的格式。
添加 ChicletSlicer 并在 Category
窗格中设置 CurrencyFormat
table 的 FormatName
列,您应该会得到预期的结果。
另请注意,我使用的格式可能与您需要的不同,因此您必须对格式字符串添加一些更改,请快速阅读 documentation 关于它的内容。
Format Region
$#,##0;($#,##0) SpendInUSD
£#,##0;(£#,##0) SpendInGBP
€#,##0;(€#,##0) SpendInEUR
更新: OP 想要根据切片器获取右列的总和。
幸运的是,您的 table 对每种货币都有一列,正如您在我将切片器值映射到您的度量的建议中发现的那样,这是最终表达式:
Spend =
IF (
LASTNONBLANK ( 'Currency'[Code], 1 ) = "GBP",
SUM ( Invoice[SpendGBP] ),
IF (
LASTNONBLANK ( 'Currency'[Code], 1 ) = "USD",
SUM ( Invoice[SpendUSD] ),
SUM ( Invoice[SpendEUR] )
)
)
如果您需要进一步的帮助,请告诉我。
我们要求允许用户选择他想在仪表板中看到的货币,如下例所示:
默认为GBP
,如果用户更改为USD
,我们需要以美元显示支出。在幕后,我们已经有了 table InvoiceDetail
,其中包含预先进行货币转换的列:
SpendInGBP
SpendInUSD
SpendInEUR
当用户使用 ChicletSlicer 选择不同的货币到不同的列时,我不确定如何映射。
如果您有一个 table 包含所有可应用的格式,就可以实现。
我创建了这些 table 作为示例:
MyTable
CurrencyFormat
在 MyTable
table 中,我创建了两个名为 Format
和 Total Sales
的度量。
Format = LASTNONBLANK ( CurrencyFormat[Format], 1 )
Total Sales = Total Sales = FORMAT(SUM(MyTable[Sales]),[Format])
注意 Total Sales
度量使用 [Format]
度量从切片器中获取选定的格式。
添加 ChicletSlicer 并在 Category
窗格中设置 CurrencyFormat
table 的 FormatName
列,您应该会得到预期的结果。
另请注意,我使用的格式可能与您需要的不同,因此您必须对格式字符串添加一些更改,请快速阅读 documentation 关于它的内容。
Format Region
$#,##0;($#,##0) SpendInUSD
£#,##0;(£#,##0) SpendInGBP
€#,##0;(€#,##0) SpendInEUR
更新: OP 想要根据切片器获取右列的总和。
幸运的是,您的 table 对每种货币都有一列,正如您在我将切片器值映射到您的度量的建议中发现的那样,这是最终表达式:
Spend =
IF (
LASTNONBLANK ( 'Currency'[Code], 1 ) = "GBP",
SUM ( Invoice[SpendGBP] ),
IF (
LASTNONBLANK ( 'Currency'[Code], 1 ) = "USD",
SUM ( Invoice[SpendUSD] ),
SUM ( Invoice[SpendEUR] )
)
)
如果您需要进一步的帮助,请告诉我。