Расчет основан на предыдущей строке в том же столбце и предыдущей строке в другом столбце в степени би - PullRequest
0 голосов
/ 19 декабря 2018

Я пытаюсь вычислить столбец NoofEventsInQueue, как показано ниже для мощности Bi.157 - общее количество событий

enter image description here

1 Ответ

0 голосов
/ 19 декабря 2018

В вычисляемом столбце:

NumberOfEventsInQueue = 
IF ( 
    ISBLANK ( Table1[NoOfEventsAtATime] ),
    BLANK(),
    CALCULATE ( 
        SUM ( Table1[NoOfEventsAtATime] ),
        FILTER ( 
            ALL ( Table1 ),
            Table1[Ref_Time] >= EARLIER ( Table1[Ref_Time] )
        )
    )
)

Если у вас есть пустые строки в середине столбца NoOfEventsAtATime, и вы все еще хотите получить значение, возвращаемое в вычисляемом столбце, вы можете использовать что-то вроде:

NumberOfEventsInQueue = 
VAR TimeMin = 
    CALCULATE ( 
        MIN ( Table1[Ref_Time] ),
        FILTER ( 
            ALL ( Table1 ),
            NOT ISBLANK ( Table1[NoOfEventsAtATime] )
        )
    )
VAR TimeMax = 
    CALCULATE ( 
        MAX ( Table1[Ref_Time] ),
        FILTER ( 
            ALL ( Table1 ),
            NOT ISBLANK ( Table1[NoOfEventsAtATime] )
        )
    )
VAR Output = 
    IF ( 
        Table1[Ref_Time] >= TimeMin && Table1[Ref_Time] <= TimeMax,
        CALCULATE ( 
            SUM ( Table1[NoOfEventsAtATime] ),
            FILTER ( 
                ALL ( Table1 ),
                Table1[Ref_Time] >= EARLIER ( Table1[Ref_Time] )
            )
        ),
        BLANK()
    )
RETURN Output
...