加入流分析并在数组中添加元素

问题描述 投票:0回答:1

我正在尝试使用参考数据加入流分析。

编写的SAQL如下所示。

WITH INPUT1 AS (
    SELECT
    input.TriggeredDateTime.dateTime AS TIME,
    flatArrayElement as ABC,
    FROM [signals2] as input
    CROSS APPLY GetArrayElements(input.xyz) AS flatArrayElement
    )

由于流输入信号xyz中的xyz如下所示,我使用了CROSS APPLY将xyz中的每个元素都划分为不同的行。

"xyz":
    [
    {"id":1,"aaa":2631},
    {"id":2,"aaa":3633}
    ] 

INPUT1的输出如下所示。

+-------------------+---------------------------------------------------+
|     TIME          |   ABC                                             |
+-------------------+---------------------------------------------------+
|06-11-2019 10:12:10| {"ArrayValue":{"id":1,"aaa":2631},"ArrayIndex":0} |
|06-11-2019 10:12:10| {"ArrayValue":{"id":2,"aaa":3633},"ArrayIndex":0} |
+-------------------+---------------------------------------------------+

我正在尝试将数据xyz.aaa与以下参考数据合并,其中master是参考数据。

SIGNALS AS (
 SELECT * FROM INPUT1 I JOIN master M ON I.ABC.aaa = M.aaa

但是我在这里没有输出。我尝试使用GetArrayElements和GetArrayElement(),但是它不起作用。

任何人都将如何与ArrayValue中的元素之一进行联接?

azure azure-stream-analytics
1个回答
0
投票

请参阅我的查询sql:

WITH INPUT1 AS (
    SELECT
        input.name as name,
        flatArrayElement as ABC
    FROM
        [YourInputAlias] as input
        CROSS APPLY GetArrayElements(input.xyz) AS flatArrayElement
)

SELECT INPUT1.ABC.ArrayValue.aaa FROM INPUT1
JOIN jayrefer on INPUT1.ABC.ArrayValue.aaa = jayrefer.item

jayrefer是您的主要参考资料:

enter image description here

输入是您的输入:

enter image description here

输出:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.