在 Power BI 中显示来自 Azure 流的当前(最新)值

Show current (latest) value from Azure stream in Power BI

我需要显示连接的温度传感器的电流(最后读数)。来自传感器的数据每分钟发送一次到 Azure IoT 中心。流分析作业将其输出到 Power BI 接收器。这是传感器发送的 JSON 数据: { "temp": "22.88", "name": "POC", "id": "232053ab5ba5ceee", "time": "2018-09-23 07:09:06", "agentid": "ZRQOfcbeFBHk" }
这就是 PowerBI 收到的: [ { "temp": "AAAAA555555", "name": "AAAAA555555", "id": "AAAAA555555", "time": "AAAAA555555", "agentid": "AAAAA555555", "EventProcessedUtcTime": "2018-09-23T07:22:56.643Z", "PartitionId": 98.6, "EventEnqueuedUtcTime": "2018-09-23T07:22:56.643Z", "IoTHub": "AAAAA555555" } ]

什么是 PartitionId 以及如何只显示最新读数(当前温度)?

What is PartitionId?

根据你的描述,你的数据源是IOT-HUB,所以是IOT-HUB的partitionId service.You可以参考这个案例了解一下:

Here 是一个很好的博客供您参考,尤其是 "Power BI Real-time Dashboard" 章节。

打开数据集,您将看到 table 下的数据集包含我们传递的两个字段(ts 和值)以及事件中心的其他字段(EventEnqueuedUtcTime、EventProcessedUtcTime 和 PartitionId) .

how do I display just the latest reading (current temperature) only?

据我所知,您可以通过测量在桌面上实现它。

result = 
VAR maxdate =
    CALCULATE ( MAX ( Table1[time] ), ALL ( Table1 ) )
RETURN
  CALCULATE(MAX(Table1[temp]),FILTER(Table1,Table1[time]=maxdate)) 

result = 
VAR maxdate =
    CALCULATE ( MAX ( Table1[time] ), ALL ( Table1 ) )
RETURN
    IF ( MAX(Table1[time]) = maxdate, MAX(Table1[temp]), BLANK () )  

分别对应以下两种显示方式