Azure 流分析 - 将一列拆分为多行

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

我有一个 json 输入,其中 A 列的方括号之间有数据值

我需要将 A 列的内容拆分为单独的列

输入:

我需要将数据分成

SPLIT 不可用。 请建议我是否可以使用交叉应用来实现这一点?子串?字符索引? A 列方括号中的值可能会改变,有些行可能有 4 个,有些行可能有 2 个等等。

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

输入数据似乎不是Json。如果您的数据是逗号分隔的数组值,您可以使用 cross apply 并将每个值转换为单独的行。然后您可以使用 substring 函数将它们转换为单独的列。

查询:

select 
substring(Rowvalue.arrayvalue,2,1) as col1, 
substring(Rowvalue.arrayvalue,4,1) as col2, 
substring(Rowvalue.arrayvalue,6,1) as col3
from input i
CROSS APPLY GetArrayElements(i.SensorReadings.columnA) AS Rowvalue 

输入数据:

输出数据:

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