Power Bi桌面上通过DAX度量得出的总计错误

时间:2019-12-22 06:09:43

标签: powerbi dax

我有3栏销售,利润,数量,我正在计算两个度量sales_per_unitprofit_per_unit

Profit_Per_Unit = DIVIDE(SUM(Orders[Profit]), SUM(Orders[Quantity]))

Sales_Per_Unit = DIVIDE(SUM(Orders[Sales]), SUM(Orders[Quantity]))

我对所有行都得到正确答案,但是总计错误,如下面的屏幕截图所示:

enter image description here

所以我想了解两件事:

  1. 为什么会这样
  2. 什么是解决方案

编辑

使用Sales_Per_Unit2 = SUMX(Orders, DIVIDE(Orders[Sales],Orders[Quantity]))可以使我获得预期的总计,但对于某些行却得到了错误的答案,如下图突出显示了

enter image description here

更新

我已经搜索了互联网,人们在条件条件下使用HASONEVALUE函数来筛选出不同的真实上下文公式和不同的虚假上下文公式,因此我也将该公式与@MarcoVos答案结合使用,我在其中的行中得到了空白结果结果有误,但我仍然不了解我在做什么错的完整情况,但是我知道公式是正确的,但是行上下文有问题,所以我想在我的问题中进行更新。

If_Sales = IF(HASONEVALUE(Orders[Sales]),SUMX(Orders, DIVIDE(Orders[Sales], Orders[Quantity])))

enter image description here

1 个答案:

答案 0 :(得分:0)

对于您正在使用的DAX表达式总数,现在计算每列总和的除法。

当您希望对行级别的除法结果求和时,需要使用一个迭代函数。在这种情况下为SUMX。像这样:

Sales_Per_Unit = SUMX('Orders', DIVIDE( Orders[Sales], Orders[Quantity] ) )

对于其他行,结果将是相同的,因为那里的filtercontext会将Orders表过滤到一行。