在某些业务中,可能会涉及到货币的汇率转换问题,这篇文章就来看一下如何在PowerBI中动态的切换汇率。
假设业务订单中是人民币金额,需要转换为按美元、英镑等几个币种的数据来展示,以每日的人民币汇率中间价来转换,首先将汇率表转换为一维表,
然后将日期表分别与这个汇率表和表建立关系。
汇率的度量值可以简单的写为:
汇率 = SUM( '汇率表'[汇率] )
这里的汇率是直接标价法,也就是100外币可以兑换多少人民币,所以将人民币金额转换为外币金额可以这样写:
外币收入 = DIVIDE( [收入] , [汇率]/100 )
用矩阵就可以直观的看出不同币种的收入数据:
但是这个结果是有问题的,因为节假日没有汇率的中间价,所以转换的结果是节假日没有数据,事实上每天都有新订单产生收入的。
一般的业务逻辑是,如果节假日当天没有公开的汇率,就按照前一个交易日的汇率来计算,根据这个逻辑,优化汇率度量值如下:
这个度量值的逻辑是,找出最近9个自然日中最后一个汇率:如果当天是交易日,返回当天的汇率,如果当天不是交易日,返回前面9天的最后一个汇率。
为什么是9天呢,因为一般来说,我国最长的节假日也不会超过9天,9天之内必然有一个交易日。
利用优化后的汇率就可以显示每个日期的外币收入了,利用切片器也可以动态的切换不同的币种:
本例是由人民币切换为不同的外币,如果订单中是来自不同国家、不同币种的收入,想统一转换为人民币数据,思路也是相似的。
-精彩推荐-
采悟 from PowerBI星球
网友评论