在 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 () )
分别对应以下两种显示方式
我需要显示连接的温度传感器的电流(最后读数)。来自传感器的数据每分钟发送一次到 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 () )
分别对应以下两种显示方式