我正在使用“流分析工作”来显示来自“iot hub”的两个不同设备的数据,即device1和device2; device1发送以下消息:
{"messageId": 5576, "deviceId": "Raspberry Pi Web", "rpm": 22.80972122577826, "torque": 72.65678451219686}
device2发送以下消息:
{"messageId": 1272, "deviceId": "Raspberry Pi Web Client", "temperature": 23.815921380797004, "humidity": 78.7491052866882}
消息是在同一时间发送的,当我想要显示power bi中的数据时,我只看到其中一条消息的键, messageId,温度,湿度,PartitionId 。这些密钥属于device2发送的消息;但是没有出现与device1对应的 messageId,rpm,torque,PartitionId 键。
我在流分析作业中使用的查询如下:
SELECT
*
INTO
output
FROM
input
我的设备是我使用的模拟设备,并通过以下链接进行配置:https://azure-samples.github.io/raspberry-pi-web-simulator/#Getstarted
如何使用流分析作业在同一个iot集线器中查看来自两个不同设备的消息?
注意:我在“IoT Hub”中使用F1级别
感谢您的帮助
答案 0 :(得分:3)
在PowerBI中,一个数据集代表单个数据源,并且必须采用以下格式:
您可以使用数百种不同的数据源 与Power BI。但无论你从何处获得数据,都是如此 数据必须采用Power BI服务可用于创建的格式 报告和仪表板。
参考:dataset concept和data source for Power BI。
对于您的问题,您可以将两个设备事件路由到两个Power BI数据集。(ASA作业中的两个输出)。
查询如下所示:
SELECT
*
INOT
powerbi
FROM
iothubevents
WHERE
deviceId = 'Raspberry Pi Web'
SELECT
*
INOT
powerbidevice2
FROM
iothubevents
WHERE
deviceId = 'Raspberry Pi Web Client'
查看以下快照: 在流分析工作中:
在Power BI中: