PowerBI: вычислить столбец, содержащий текущую прошивку, на основе отдельных сообщений - PullRequest
0 голосов
/ 24 февраля 2020

Table called MachineEvents

У меня есть таблица с именем MachineEvents, содержащая данные, аналогичные показанным выше.

Я пытаюсь создать измеренный столбец в DAX содержит текущую прошивку машины. Это будет использоваться для фильтрации только сообщений, когда на машинах установлена ​​определенная прошивка.

Я пробовал искать, но у меня проблемы с поиском подобных проблем.

1 Ответ

1 голос
/ 24 февраля 2020

Предполагая, что вы хотите, чтобы ваш столбец Firmware возвращал значение последний из поля message_info, где message_type = 1, на основе event_time, затем используйте этот код DAX в вычисляемом столбце:

Firmware = 
VAR LastFirmwareTime = 
    CALCULATE ( 
        MAX ( MachineEvents[event_time] ),
        FILTER ( 
            ALLEXCEPT ( MachineEvents, MachineEvents[machine_id] ),
            MachineEvents[message_type] = 1 && MachineEvents[event_time] <= EARLIER ( MachineEvents[event_time] )
        )
    )
RETURN
    CALCULATE ( 
        VALUES ( MachineEvents[message_info] ),
        FILTER ( 
            ALLEXCEPT ( MachineEvents, MachineEvents[machine_id] ),
            MachineEvents[message_type] = 1 && MachineEvents[event_time] = LastFirmwareTime
        )
    )

См. Работающий пример файла PBIX здесь: https://pwrbi.com/so_60372050/

...