我正在尝试使用参考数据加入流分析。
编写的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中的元素之一进行联接?
请参阅我的查询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是您的主要参考资料:
输入是您的输入:
输出: