Как найти значение текущего значения строки, если текущее значение строки совпадает с предыдущим значением строки в степени bi? - PullRequest
1 голос
/ 16 января 2020

Я пытаюсь найти текущее значение строки, если условие совпадает с предыдущим значением строки

enter image description here

Мое состояние

1) если значение моего столбца tra c равно T645, я должен проверить следующее значение транзакции: «T644» или «TA63» или «T643», любое из них в новом столбце, но не BZ12. Я должен принять значение TotalPremium столбца T645, другие представления не

Мой код

sub Value = CALCULATE(SUM('Table'[TotalPremium]),FILTER(ALL('Table'),
        'Table'[trac] = "T645" && EARLIER('Table'[trac])= "T644" || 
        EARLIER ('Table'[trac]) = "TA63" || EARLIER ('Table'[trac]) = "T643" && 
        EARLIER ('Table'[trac]) <> "BZ12" && 'Table'[Stat] = "PS"))

Вывод:

enter image description here

, но ожидаемый результат равен

enter image description here

1 Ответ

2 голосов
/ 16 января 2020

Наконец, я решил использовать концепцию индекса, то есть я создал столбец индекса для сравнения текущего значения и следующего значения

Код:

New Val = 
    VAR device = 'Table'[trac]    
    VAR ind = 'Table'[Index]
    VAR preInd= ind-1
    VAR TotalPremiumPreDate  = 
      SUMX(
        FILTER(
          'Table', 'Table'[Index] = preInd && ('Table'[date] >= MIN('Table'[date]) 
          && 'Table'[date] <= MAX('Table'[date]) ) &&
          'Table'[trac] = "T645" && (EARLIER('Table'[trac])= "T644" || 
                EARLIER ('Table'[trac]) = "TA63" || EARLIER ('Table'[trac]) = "T643") && 
                EARLIER ('Table'[trac]) <> "BZ12" && 'Table'[Stat] = "PS"  
        ),
        'Table'[TotalPremium]
    )
    RETURN TotalPremiumPreDate

Выход:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...