DAX:使用最新条目创建 table
DAX: Create table with LATEST entries
我家里有很多传感器,我想使用 PowerBI 显示不同房间的温度图表,并测量 current/most 最近的值。
我在 dax 中写这个最困难:
数据从名为 "DeviceReadings" 的 Azure Table 进入 PowerBI,格式为:
- 位置(文本、分区键)
- RowKey(基于存储日期的数值,未使用)
- 日期(日期时间、时间戳)
- 温度(十进制)
- 湿度(十进制)
我想要的是:(伪代码)
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]
)
我很确定有一种更简单的方法可以实现您所追求的目标,但我现在无法弄清楚。
如果有帮助请告诉我。
我家里有很多传感器,我想使用 PowerBI 显示不同房间的温度图表,并测量 current/most 最近的值。
我在 dax 中写这个最困难:
数据从名为 "DeviceReadings" 的 Azure Table 进入 PowerBI,格式为:
- 位置(文本、分区键)
- RowKey(基于存储日期的数值,未使用)
- 日期(日期时间、时间戳)
- 温度(十进制)
- 湿度(十进制)
我想要的是:(伪代码)
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]
)
我很确定有一种更简单的方法可以实现您所追求的目标,但我现在无法弄清楚。
如果有帮助请告诉我。