DAX:使用最新条目创建 table

DAX: Create table with LATEST entries

我家里有很多传感器,我想使用 PowerBI 显示不同房间的温度图表,并测量 current/most 最近的值。

我在 dax 中写这个最困难:

数据从名为 "DeviceReadings" 的 Azure Table 进入 PowerBI,格式为:

我想要的是:(伪代码)

Select Location, Last(Date), Temperature, Humidity FROM DeviceReadings 
GROUP BY Location

Expected/Wanted 结果是:

"Mediaroom", "01.10.2017 09:00", 26, 17
"Office", "01.10.2017 09:03", 28, 23
"Livingroom", "01.10.2017 09:13", 22, 32

显然,我正在尝试根据这些读数创建计算出的 DAX table。我的想法是创建一个始终包含最新 temperature/humidity 的计算 table,以便我可以在仪表样式的视觉效果中显示这些值。

我一直在尝试设置 table = SUMMARIZECOLUMNS,按位置分组,然后添加命名列 "LastSampled" 作为 "MAX(DeviceReadings[Date]) and then "Temperature";LASTNONBLANK(DeviceReadings[Temperature];DeviceReadings[Temperature]); 但这并没有得到“连接的温度读数,而是其他东西。

理想情况下,我想按位置分组,然后按最大日期pr位置,然后显示原始温度+湿度值

我只想在我的 PowerBI 仪表板上按位置显示 "Most recent temperature reading"。 (我正在使用 PowerBI 桌面编写所有查询并制作报告,还没有上传到 PowerBI 门户)

我的 DAX 技能很低,所以我在编写计算查询时需要帮助。

尝试使用这个表达式:

Table = SELECTCOLUMNS (
    FILTER (
        CROSSJOIN (
            SELECTCOLUMNS (
                GROUPBY (
                    DeviceReadings,
                    DeviceReadings[Location],
                    "LASTDATE", MAXX ( CURRENTGROUP (), DeviceReadings[Date] )
                ),
                "Location", DeviceReadings[Location],
                "Date", [LASTDATE]
            ),
            SELECTCOLUMNS (
                DeviceReadings,
                "DateJoin", DeviceReadings[Date],
                "LocationJoin", DeviceReadings[Location],
                "Humidity", DeviceReadings[Humidity],
                "Temperature", DeviceReadings[Temperature]
            )
        ),
        [Date] = [DateJoin]
            && [Location] = [LocationJoin]
    ),
    "Location", [Location],
    "LastDate", [Date],
    "Temperature", [Temperature],
    "Humidity", [Humidity]
)

我很确定有一种更简单的方法可以实现您所追求的目标,但我现在无法弄清楚。

如果有帮助请告诉我。