Как создать показатель, который будет рассчитывать только последний статус на основе даты последней транзакции для каждого человека. Power BI - PullRequest
0 голосов
/ 09 января 2020

.pbix файл можно найти здесь: https://www.dropbox.com/s/61879ogf2slyavv/Count%20Open%20and%20Closed%20at%20Point%20of%20time.pbix?dl=0

Мне нужно создать две меры:

first будет рассчитывать только статус Open для каждого человека на основе последняя дата транзакции.

Например, для requestID 5 у нас есть три человека6. Последняя TransactionDate имеет статус "Open". Таким образом, число Open для Person6 будет равно 1 на 12-31-2018. То же самое с Person5. Мы считаем это как 1, потому что статус последней TransactionDate является «Открыт»

Для Person3 последний статус «Закрыт». Поэтому мы не считаем это открытым. То же самое с Person2.

То же самое для Closed. Если последний статус transactionDate закрыт, то мы считаем его равным 1. Предыдущие транзакции не учитываются.

Например, Person3 имеет статус Закрыто в последний раз TransactionDate. Мы считаем 1 для Person3 по состоянию на 12-31-2018

enter image description here

CR7SMS Спасибо за ваше время. На реальных данных почему-то это не работает. Я что-то упустил?

enter image description here

1 Ответ

0 голосов
/ 09 января 2020

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

Open Rank = IF(RANKX(CALCULATETABLE(Claims,ALLEXCEPT(Claims,Claims[Person])),Claims[TransactionDate])=1 && Claims[Status]="Open",1,0)
Closed Rank = IF(RANKX(CALCULATETABLE(Claims,ALLEXCEPT(Claims,Claims[Person])),Claims[TransactionDate])=1 && Claims[Status]="Closed",1,0)

Чтобы получить количество открытых и закрытых транзакций, вы можете суммировать эти столбцы. Это делается при условии, что имеет значение только последняя транзакция для каждого человека. Все остальное игнорируется. Надеюсь, это поможет.

Редактировать:

Добавление всех выбранных:

Open Rank = IF(RANKX(CALCULATETABLE(Claims,ALLSELECTED(),ALLEXCEPT(Claims,Claims[Person])),Claims[TransactionDate])=1 && Claims[Status]="Open",1,0)
Closed Rank = IF(RANKX(CALCULATETABLE(Claims,ALLSELECTED(),ALLEXCEPT(Claims,Claims[Person])),Claims[TransactionDate])=1 && Claims[Status]="Closed",1,0)

Редактировать2:

Rank = 
VAR Max_date = Max(Claimants[TransactionDate])
VAR Min_date = Min(Claimants[TransactionDate])
VAR Rank1 =    RANKX(
        FILTER(CALCULATETABLE(
            Claimants
            ,ALLEXCEPT(Claimants,Claimants[ClaimNumber],Claimants[ClaimantID])),Claimants[TransactionDate]>=Min_date&&Claimants[TransactionDate]<=Max_date
                      ),Claimants[TransactionDate],,ASC,Dense
        )
Return Rank1

Попробовал, чтобы увидеть, влияет ли дата динамически звание Это не сработало для меня, но с небольшой модификацией вы могли бы заставить его работать.

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