Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PowerBI:根据偶然消息计算包含当前固件的列_Powerbi_Dax_Powerbi Desktop - Fatal编程技术网

PowerBI:根据偶然消息计算包含当前固件的列

PowerBI:根据偶然消息计算包含当前固件的列,powerbi,dax,powerbi-desktop,Powerbi,Dax,Powerbi Desktop,我有一个名为MachineEvents的表,其中包含与上面看到的类似的数据 我试图在DAX中创建一个测量列,其中包含机器的当前固件。 这将仅用于在机器具有特定固件时过滤消息 我已尝试四处搜索,但发现类似问题时遇到困难。假设您希望您的固件列从消息信息字段返回最新值,其中消息类型=1,基于事件时间,然后在计算列中使用此DAX代码: Firmware = VAR LastFirmwareTime = CALCULATE ( MAX ( MachineEvents[even

我有一个名为MachineEvents的表,其中包含与上面看到的类似的数据

我试图在DAX中创建一个测量列,其中包含机器的当前固件。 这将仅用于在机器具有特定固件时过滤消息


我已尝试四处搜索,但发现类似问题时遇到困难。

假设您希望您的
固件
列从
消息信息
字段返回最新值,其中
消息类型
=1,基于
事件时间
,然后在计算列中使用此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
        )
    )
固件=
VAR LastFirmwareTime=
计算(
最大值(机器事件[事件时间],
过滤器(
所有异常(机器事件,机器事件[机器id]),

MachineeEvents[消息类型]=1&&MachineeEvents[事件时间]您当前固件的条件是什么?此外,您不能使用过滤器中的度量值,您需要使用计算表。感谢您的回答!很抱歉响应太晚。虽然这对少量数据有效,但似乎不适合我使用。我在尝试完成此操作时一直内存不足。可能是b最好在Power Query中添加此列-为每台机器创建一个分区,按时间对每个分区进行排序,添加一个固件列(
如果[message\u type]=1,那么[message\u info]else null
),然后填充,然后合并分区。感谢您的提示,我在这里解决了我的问题。