按列乘以度量,而不汇总后者

时间:2019-07-13 17:50:39

标签: powerbi dax powerbi-desktop

我将以下数据集和用户国家/地区用作过滤器。任务是计算收入-以本月支付的总和计算-上个月支付的总和。它应该以美元计算。下表中乘以汇率,然后使用PREVIOUSMONTH创建度量,然后进行减法的解决方案由于汇率波动较大而无法使用。

enter image description here

我们提供的解决方案是以当地货币计算收入。然后,如果用户从过滤器中选择瑞士,则收入将乘以相应国家/地区和相应日期的汇率。

enter image description here

这是实践中的公式。我的问题是我无法找到一种乘以实际汇率的方法,因为我需要以某种方式汇总汇率,而我目前正乘以均值。

措施:

prior_month_sum_lc = CALCULATE(sum(fact_payment[sum_paid_to_date]),PREVIOUSMONTH(calendar_3[Date]))
 
revenue = sum(fact_payment[sum_paid_to_date])-[prior_month_sum_lc] 
 
revenue_used = IF(SELECTEDVALUE(fact_payment[country])="Spain",
[revenue] * AVERAGEX(fact_payment,fact_payment[xr_es]),0 )

手动进行计算 enter image description here

1 个答案:

答案 0 :(得分:2)

我认为您没有正确设置此设置。您不应该平均汇率。这是没有意义的。相反,您应该将每个金额与其在行级别上的汇率相乘并求和。为此,您应该使用SUMX功能。此外,没有必要将汇率分为两列。只需使用一列。这些是我的结果:

enter image description here

这是我使用的措施:

Month_Sum = sum(Sheet1[cum sum paid])
Month_Sum_Exchanged = SUMX('Sheet1','Sheet1'[cum sum paid] * 'Sheet1'[xr])
Previous_Month_Sum = CALCULATE([Month_Sum],PREVIOUSMONTH(calendar_3[Date]))
Previous_Month_Sum_Exchanged = CALCULATE([Month_Sum_Exchanged],PREVIOUSMONTH(calendar_3[Date]))
Revenue = [Month_Sum] - [Previous_Month_Sum]
Revenue_Exchanged = [Month_Sum_Exchanged] - [Previous_Month_Sum_Exchanged]

这是指向我的pbix file

的链接