运行 总计一项措施

Running total of a Measure

我想创建一个 运行 总计的 MEASURE(此处命名为开放与封闭)。除了最后一个"Total Open",我所有的列都是正确的。 任何人都知道将其作为打开与关闭列的 运行 总数的度量?

WeekIndex |Open Incidents | Closed Incidents | Open vs Closed | Total Open
1         | 5             | 0                | +5             | 5
2         | 4             | 5                | -1             | 4
3         | 2             | 0                | +2             | 6
4         | 3             | 3                | +0             | 6
5         | 10            | 12               | -2             | 4

使用EARLIER函数的计算列在这种情况下可以做到:

Total Open = 
CALCULATE(
    SUM('Table'[Open vs Closed]),
    FILTER(
        'Table',
        'Table'[WeekIndex] <= EARLIER('Table'[WeekIndex])
    )
)

结果:


已更新:

以下措施应该适用于这种情况。 ALL 函数需要在 table:

中忽略行级上下文
Total Open Measure = 
CALCULATE(
    [Open vs Closed Measure],
    FILTER(
        ALL('Table'),
        'Table'[WeekIndex] <= MAX('Table'[WeekIndex])
    )
)


第二次更新:

考虑到所有列都是度量的奇怪情况:

Total Open Measure = 
VAR CurrentIndex = [Index]
RETURN
CALCULATE(
    [Open vs Closed Measure],
    FILTER(
        ALL('Table'),
        [Index] <= CurrentIndex
    )
)


第三次更新:

只能用MonthIndex想出办法了。我认为额外 6 的原因是您计算 Incidents Closed 的方式。无论如何,我通过将 'Calendar'[MonthIndex] >= 1 添加到过滤器来修复它:

Total Open Measure = 
CALCULATE(
    [Open vs Closed],
    FILTER(
        ALL('Calendar'),
        'Calendar'[MonthIndex] >= 1 &&
        'Calendar'[MonthIndex] <= MAX('Calendar'[MonthIndex])
    )
)

为了过滤掉没有事件的行,我在 Index 度量上添加了一个视觉级别过滤器: