Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure Stream Analytics复杂查询未返回所需结果_Azure_Azure Stream Analytics - Fatal编程技术网

Azure Stream Analytics复杂查询未返回所需结果

Azure Stream Analytics复杂查询未返回所需结果,azure,azure-stream-analytics,Azure,Azure Stream Analytics,这是输入JSON数据包。我正在流分析中编写转换查询,以获取源和主标记属性 [{ "source": "xda", "data": [{ "masterTag": "UNIFY", "speed": 180 }], "EventEnqueuedUtcTime": "2018-07-20T19:28:18.5230000Z", }, { "source": "xd

这是输入JSON数据包。我正在流分析中编写转换查询,以获取源和主标记属性

[{
      "source": "xda",
      "data": 
        [{
            "masterTag": "UNIFY",
            "speed": 180
        }],
      "EventEnqueuedUtcTime": "2018-07-20T19:28:18.5230000Z",
  },
  {
      "source": "xda",
      "data": [{
            "masterTag": "UNIFY",
            "speed": 214
        }],
      "EventEnqueuedUtcTime": "2018-07-20T19:28:20.5550000Z",
  }
]
以下是我得到的:

WITH data AS
(
    SELECT
        source,
        GetArrayElement(data,0) as data_packet 
    FROM input 
)

SELECT 
    source, 
    data_packet.masterTag 
INTO 
    output
FROM data

但是,此查询只返回一个元素。如何更新此查询以获取JSON数据包中的所有元素?

尝试使用带有交叉应用的函数GetArrayElements(复数)

例子


我用您的源数据和查询进行了测试,它得到了2个输出元素。所以,我想你的意思是如何返回所有元素,因为你的数据数组有更多的元素

您可以使用以下查询:

SELECT 
    jsoninput.source, 
    arrayElement.ArrayValue.masterTag
INTO 
    output
FROM jsoninput
CROSS APPLY GetArrayElements(jsoninput.data) AS arrayElement 
Json示例:

输出:


希望它能对您有所帮助。

奇怪的是,当我用您提供的输入尝试您的查询时,我确实得到了两个输出事件。虽然这不是我所需要的,但我可能会发现这在不久的将来很有用。
[{
      "source": "xda",
      "data": 
        [{
            "masterTag": "UNIFY1",
            "speed": 180
        },
        {
            "masterTag": "UNIFY2",
            "speed": 180
        }],
      "EventEnqueuedUtcTime": "2018-07-20T19:28:18.5230000Z",
  },
  {
      "source": "xda",
      "data": [{
            "masterTag": "UNIFY3",
            "speed": 214
        },
        {
            "masterTag": "UNIFY4",
            "speed": 180
        }],
      "EventEnqueuedUtcTime": "2018-07-20T19:28:20.5550000Z",
  }
]