DAX - 运行 总计 - 多个标准 + 分组

DAX - Running Total - Multiple Critiera + Grouping

我到处都在寻找这个,但任何其他示例都不是我想要实现的。我有这样的数据:

Day     Group        Sales
14        1            15
13        0            22
14        1            17

等等。现在我使用以下公式创建 运行 Total 的计算字段:

CALCULATE (
    SUM(Table[Sales]),
        FILTER (
            ALL (table),
            Table[Date] <= MAX(Table[Date])
         )
    )

我创建数据透视表 Table 并将日期和组作为行,然后 运行 总计作为值。为什么 运行 总计未针对每个组单独汇总?我希望第 1 组有它的计算,第 0 组也有。

运行 总数未针对每个组单独汇总的原因是因为您的公式不完整。您刚刚使用了 FILTER 的 ALL 函数。 ALL 意味着您将忽略现有的过滤器上下文。因此,在第 0 组的一行中,您将忽略第 0 组过滤器。

我想你想要的是保留群组过滤器。您可以通过将 ALL (table), 替换为 ALLEXCEPT(table,table[Group]),ALL(table[Date]), 来实现此目的。这两个都将为组行提供 运行 总数,因此您将有 运行 组 0 和组 1 的总数。

如果您要查找的是 运行 总计,其中总计按日期和组累计,您可以保留 ALL 并为 FILTER 添加一个额外的表达式:

CALCULATE (
    SUM ( table[Sales] ),
    FILTER (
        ALL ( table ),
        table[Date] <= MAX ( table[Date] )
            && table[Group] <= MAX ( table[Group] )
    )
)

我使用下面的代码,它对我有用

CALCULATE (
SUM ( table[Sales] ),
FILTER (
    ALL ( table ),
    table[Date] <= MAX ( table[Date] )
        && table[Group] = MAX ( table[Group] )
) )