DAX累积SUM忽略我的过滤器

时间:2013-12-02 14:28:18

标签: excel powerpivot excel-2013 dax cumulative-sum

基本上我使用两个与PowerPivot相关联的表。第一个包含以下列[Date],[Amount],[Id]。第二个表只包含用于过滤第一个表的id [Id]。这一直很有效,直到我将其与计算累积总和的度量相结合。

=CALCULATE(SUM( [Amount] ) ; FILTER(ALL( 'Table') ; 'Table'[Date] <= MAX('Table'[Date] )))

我试图将各种过滤器直接应用到Calculate语句中,但这些过滤器似乎都不起作用。应该是正确的条件似乎总是返回一个错误,即在当前上下文中无法确定列。需要注意的一点是[Id]列是一个字符串值。

最佳解决方案是使用应用于数据透视表的任何Id过滤器计算累积值的方法(我使用其中几个表过滤到包含数据的一个表),但是计算度量的多个变量也很好

我是DAX的新手,所以我非常感谢所有这一切!

2 个答案:

答案 0 :(得分:2)

我遇到过类似的问题。一种解决方法是使用相关日期创建一个新表(我称之为'Dummy'),并在'Dummy'中创建一个计算列,其中包含以下内容:

=SUMX( FILTER('Table','Table'[Date]<='Dummy'[Date]) , 'Table'[Amount] )

在此之后你应该能够将'Table'和'Dummy'联系起来,并根据需要从'Dummy'中提取累积数字。

这不是理想的,如果有人有一个整洁的公式来获得这个结果而不诉诸于额外的表格喊叫。

答案 1 :(得分:0)

我认为你犯了一个错误,不是在你的计算中,而是在你的方程式中。

你不把计算放在你的桌子上,你把它放在底部的外面。

您要做的是创建一个数据透视表,其中包含行中的日期和列上的产品,因此基本上每个产品都有运行总计。如果我没弄错的话。

我保证这会奏效。enter image description here