【问题标题】:Processing Array of Arrays in Azure Stream Analytics在 Azure 流分析中处理数组
【发布时间】:2018-12-17 17:04:58
【问题描述】:

我将这个 JSON 结构输入到我的 ASA:

[{
  "Stages": [
    {
      "Name": "Stage 1",
      "Count": 45,
      "First": "2018-12-17T11:31:12.7448439-04:00",
      "Average": 1.0,
      "Max": 0.0
    },
    {
      "Name": "Stage 2",
      "Count": 7,
      "First": "2018-12-17T11:31:12.7448469-04:00",
      "Average": 0.0,
      "Max": 0.0
    }
  ],
  "DateTimeET": "2018-12-17T11:31:12.7448477-04:00",
  "Division": "One"
}]

我一直纠结于如何获取 Stages 数组中每个元素的 Name、Count、First、Average 和 Max。

我这样做了:

WITH CTE AS (
    SELECT  
        event.Division
        ,event.DateTimeET
        ,StageElement
    FROM
        StageSummary AS event
    CROSS APPLY getarrayelements(event.Stages) AS StageElement
)

SELECT
    event2.Division
    ,event2.DateTimeET
    ,event2.StageElement
FROM
    CTE AS event2

我可以使用 GetRecordProperties 获取数组,但我又得到了完整的数组,我无法获取特定的“名称”或“计数”

感谢任何帮助。

更新:

我使用如下查询:

WITH CTE AS (
    SELECT  
        event.Division
        ,event.DateTimeET
        ,StageElement
    FROM
        StageSummary AS event
    CROSS APPLY getarrayelements(event.Stages) AS StageElement
)

SELECT
    event2.Division
    ,event2.DateTimeET
    ,getrecordpropertyvalue(Elements,'Name') AS NameValue
FROM
    CTE AS event2
    CROSS APPLY getrecordproperties(event2.StageElement) AS Elements

但 NameValue 返回空。

【问题讨论】:

    标签: json azure-stream-analytics


    【解决方案1】:

    由于我的 Stages 数组的结构是固定的,解决方案是使用 ArrayValue 来查询每个元素,如下所示:

        SELECT  
            event.Division
            ,event.DateTimeET
            ,StageElement.ArrayValue.Name
            ,StageElement.ArrayValue.Count
            ,StageElement.ArrayValue.First
            ,StageElement.ArrayValue.Average
            ,StageElement.ArrayValue.Max
    
        FROM
            StageSummary AS event
        CROSS APPLY getarrayelements(event.Stages) AS StageElement

    这给了我我需要的价值观。我缺少 ArrayValue 来引用实际数据,因为 GetArrayElements 返回 ArrayValue 和 ArrayIndex

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多