本质上,我在 PowerPivot 中使用两个链接表。第一个包含以下列 [日期]、[金额]、[Id]。第二个表仅包含用于过滤第一个表的 id 的 [Id]。在我将其与计算累积总和的度量结合起来之前,这一直很有效。
=CALCULATE(SUM( [Amount] ) ; FILTER(ALL( 'Table') ; 'Table'[Date] <= MAX('Table'[Date] )))
我尝试将各种过滤器直接应用到计算语句中,但这些似乎都不起作用。应该正确的条件似乎总是返回错误,指出在当前上下文中无法确定列。需要注意的一件事是 [Id] 列是一个字符串值。
最佳解决方案是一种使用应用于数据透视表的任何 Id 过滤器来计算累积值的方法(我使用其中几个表来过滤到包含数据的一个表),但是计算度量的多个变体也很好.
我是 DAX 新手,所以我非常感谢这一切!
最佳答案
我也遇到过类似的问题。一种解决方法是创建一个仅包含相关日期的新表(我将其称为“虚拟”),并使用以下内容在“虚拟”中创建一个计算列:
=SUMX( FILTER('Table','Table'[Date]<='Dummy'[Date]) , 'Table'[Amount] )
此后,您应该能够将“Table”和“Dummy”关联起来,并根据需要从“Dummy”中提取累积数字。
这并不理想,如果有人有一个简洁的公式来获得这个结果而不需要创建额外的表喊话。
关于excel - DAX 累积 SUM 忽略我的过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20330662/