gpt4 book ai didi

sql - 如何在 Snowflake SQL/DBT 宏中映射对象/json 数组?

转载 作者:行者123 更新时间:2023-12-02 17:57:43 32 4
gpt4 key购买 nike

<表类=“s-表”><标题>id一些_属性json_array <正文>1“abc”[ { attr: '苹果'}, { attr: '香蕉' } ]

如何摆脱attrjson_array这样表格的结果就类似于下表?

<表类=“s-表”><标题>id一些_属性字符串数组 <正文>1“abc”['苹果','香蕉']

用例是在数据清理阶段,以便在管道的后续阶段简化进一步的处理和分析。

感谢您的帮助!

最佳答案

一种选择是FLATTEN json 数组,然后根据值构造字符串数组。

例如

WITH data AS(
SELECT 1 id, 'abc' as some_attribute
, [{ 'attr': 'apple'}, { 'attr': 'banana' } ] as json_array
)
SELECT
id
, some_attribute
, ARRAY_AGG(value:attr::string) WITHIN GROUP( ORDER BY index) as string_array
FROM
data
, TABLE(FLATTEN(input => json_array))
GROUP BY
id
, some_attribute

返回

ID|SOME_ATTRIBUTE|STRING_ARRAY      |
--+--------------+------------------+
1|abc |["apple","banana"]|

关于sql - 如何在 Snowflake SQL/DBT 宏中映射对象/json 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75296480/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com