运行一个度量的总计

时间:2017-10-23 13:56:12

标签: excel powerbi powerpivot dax measure

我希望创建一个MEASURE的运行总计(此处名称为Open vs Closed)。除了最后一个“Total Open”之外,我的所有colums都正确无误。 有人知道将此作为Open vs Closed列的运行总数的措施吗?

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

1 个答案:

答案 0 :(得分:1)

在这种情况下,使用EARLIER函数的计算列可以执行:

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

结果:

results

更新:

在这种情况下,以下措施应该有效。将ALL函数放入表中时忽略行级上下文需要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
    )
)

results2

第二次更新:

鉴于所有列都是衡量标准的奇怪情况:

MonthIndex

results3

第三次更新:

我只能想出一种使用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

要过滤掉没有突发事件的行,我在24407指标上添加了可视级别过滤器:

results4