在较低的粒度内进行计算

时间:2019-02-19 18:29:34

标签: powerbi dax

我有一个矩阵,在行中使用字段“ Product Group”和“ Product”。

我想计算去年销售产品的平均价格。 Sales LY是一种计算得出的量度:

Sales LY = CALCULATE(SUM('Table'[Qty]);SAMEPERIODLASTYEAR('Calendar'[Date]))

这是我要寻找的方法:

AvgPrice= CALCULATE(DIVIDE([Turnover];[Quantity]);FILTER('Table'; [Sales LY]>0))

这在较低粒度(产品)上工作正常,但是在较高粒度(产品组)上,计算是错误的,因为产品组正在添加该产品组内的所有产品,而我只希望销售最后的产品年。

我如何告诉DAX:“使用较低的粒度”?

1 个答案:

答案 0 :(得分:0)

对于这种情况,一种选择是使较高的粒度与最低的粒度值之和。像这样:

GroupAvgPrice = CALCULATE( SUMX( VALUES( 'Table'[Product] ), [AvgPrice] ) )

当评估环境中只有一种产品时,它可以简化为[AvgPrice],但也应该在更高的粒度下工作。