Power BI:如何动态更改货币 [英] Power BI: How to dynamically change currency

查看:609
本文介绍了Power BI:如何动态更改货币的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们有一项要求,允许用户选择他想要在仪表板上看到的货币,例如以下示例:

We have requirement to allow user to choose which currency he wants to see in the dashboard, like below example:

默认情况下,如果用户更改为 USD GBP c $ c>,我们需要按美元显示支出。在后台,我们已经有了表 InvoiceDetail ,该表包含预先进行货币换算的列:

By default, it's GBP, if user changes to USD, we need to show the spend by USD. Under the hood we already have table InvoiceDetail which contains columns doing currency conversion beforehand:

SpendInGBP
SpendInUSD
SpendInEUR

我不确定如何处理当用户使用ChicletSlicer选择不同的货币映射到不同的列。

I am not sure how I can map when user chooses different currency using ChicletSlicer to different Columns.

推荐答案

如果您有一个包含所有可用格式的表,可以

If you have a table containing all formats available to apply this can be achieved.

我已经创建了以下表格:

I've created these tables as example:

MyTable

CurrencyFormat

MyTable 表中,我创建了两个度量,分别称为 Format Total Sales

In the MyTable table I've created two measures called Format and Total Sales.

Format = LASTNONBLANK ( CurrencyFormat[Format], 1 )

总销售额=总销售额= FORMAT(SUM(MyTable [Sales]),[Format])

注意总销售额度量使用 [Format] 测量以从切片器中获取选定的格式。

Note Total Sales measures uses the [Format] measure to get the selected format from the slicer.

添加ChicletSlicer并从中设置 FormatName Category 窗格中的 CurrencyFormat 表,您应该得到预期的结果。

Adding the ChicletSlicer and setting FormatName column from CurrencyFormat table in Category pane, you should get the expected result.

还要注意,我使用的格式可能与您需要的格式有所不同,因此您必须在格式字符串中添加一些更改,快速阅读有关此文档的文档

Also note the formats I've used can vary from what you need, so you have to add some changes to the format strings, do a quick read of the documentation about it.

    Format            Region
$#,##0;($#,##0)     SpendInUSD
£#,##0;(£#,##0)     SpendInGBP
€#,##0;(€#,##0)     SpendInEUR

更新:OP希望基于切片器获取右列的总和。

UPDATE: OP wants to get the sum of the right column based on the slicer.

幸运的是,您的表中有每种货币的列,正如您在我的建议中将切片器值映射到您的量度时所发现的,这是最终表达式:

Fortunately your table has a column for every currency, as you found with my proposal to map the slicer value to your measure, this is the final expression:

Spend =
IF (
    LASTNONBLANK ( 'Currency'[Code], 1 ) = "GBP",
    SUM ( Invoice[SpendGBP] ),
    IF (
        LASTNONBLANK ( 'Currency'[Code], 1 ) = "USD",
        SUM ( Invoice[SpendUSD] ),
        SUM ( Invoice[SpendEUR] )
    )
) 

让我知道您是否需要进一步的帮助。

Let me know if you need further help.

这篇关于Power BI:如何动态更改货币的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆