Power BI Предыдущий элемент по дате - PullRequest
0 голосов
/ 28 декабря 2018

Целевой результат:

enter image description here

Я использую формулу для нового столбца:

previousTaskName = var previous = CALCULATE (
    FIRSTNONBLANK (Process[PYTASKNAME];"");
    FILTER ( 
      Process;
      Process[PXHISTORYFORREFERENCE] = EARLIER(Process[PXHISTORYFORREFERENCE])
        && Process[PXTIMECREATED] > EARLIER(Process[PXTIMECREATED])
    )
)
return
IF (ISBLANK(previous); BLANK(); previous)

Фактический результат:

enter image description here

Может кто-нибудь сказать мне, где я совершил ошибку?

1 Ответ

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

Функция EARLIER в этом контексте ссылается на значение из текущей строки, поэтому вам, вероятно, необходимо изменить> на <. </p>

. Кроме того, функция FIRSTNONBLANK выдаст вам первое значение, используя последовательность сортировки полей.- вероятно, алфавитный в вашем сценарии.Так что в случае более сложного тестового примера любая предыдущая строка с Соглашением приведет к Соглашению - это может быть не то, что вы хотели.

Возможно, вы захотите создать другой промежуточный VAR для перехвата MAX (Процесс [PXTIMECREATED])из набора предыдущих строк, затем напишите другой CALCULATE ... FILTER, чтобы вернуть PYTASKNAME из самой последней предыдущей строки.

У вас также будет более чистый код, если вы замените свои РАННИЕ функции на большее количество определений VAR, например

VAR vPXHISTORYFORREFERENCE = [PXHISTORYFORREFERENCE]
...