Как создать вычисляемый DAX-столбец в PowerBi, который находит значение MIN на основе других столбцов FIRSTDATE? - PullRequest
0 голосов
/ 21 апреля 2020

Нужна некоторая помощь для вычисления следующих значений в двух отдельных столбцах формулы DAX

  • Самое раннее чтение для каждого оборудования

  • Последнее чтение для каждая экипировка

Снимок экрана листа

Я смог получить первую дату каждого снаряжения с этим.

CALCULATE(FIRSTDATE(Transactions[Date]),ALLEXCEPT(Transactions,Transactions[Equip No]))

Но не могу понять, как получить значение «Чтение», связанное с первой датой

Мне удалось сделать это с помощью показателя, но я также хотел бы получить это в кал c. столбец.

Latest Reading = 
SUMX (
    VALUES( Transactions[Equip No] ),
    CALCULATE ( MIN ( Transactions[Reading] ), FIRSTDATE ( Transactions[Date] ) )
)

1 Ответ

0 голосов
/ 22 апреля 2020

это должно вам помочь.

Самый ранний столбец

Earliest = 
VAR __equipNumber = 'Transaction'[Equip No] //Get the Equip No to filter the main table and create an auxiliar table for every different Equip No.
VAR __minDate = CALCULATE( MIN('Transaction'[Date]), FILTER( 'Transaction', 'Transaction'[Equip No] = __equipNumber ) ) //Get the lowest date asociated to every Equip No.
VAR __subTable = FILTER( 'Transaction', 'Transaction'[Date] = __minDate ) //Create a table that contains 1 row asociate to the lowest date.
Return CALCULATE(SUM('Transaction'[Reading]), __subTable) //Operate over the auxiliar table to get the expected value.

Последний столбец

Latest = 
VAR __equipNumber = 'Transaction'[Equip No]
VAR __maxDate = CALCULATE( MAX('Transaction'[Date]), FILTER( 'Transaction', 'Transaction'[Equip No] = __equipNumber ) )
VAR __subTable = FILTER( 'Transaction', 'Transaction'[Date] = __maxDate )
Return CALCULATE(SUM('Transaction'[Reading]), __subTable)

Я получил ожидаемый результат

enter image description here

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