如何在BigQuery中拆分拼接错误消息并生成对应多行数据?
在BigQuery中拆分拼接的错误消息为多行
你可以借助BigQuery的SPLIT和UNNEST函数组合实现需求,核心逻辑是先把分号分隔的错误消息拆成数组,再将数组展开为多行,同时关联对应的客户ID。
假设你的表位于your_dataset.your_table,执行以下SQL即可得到预期结果:
SELECT `Customer ID`, TRIM(error) AS `Error messages` FROM `your_dataset.your_table`, UNNEST(SPLIT(`Error messages`, ';')) AS error WHERE TRIM(error) != ''
代码说明
SPLIT(Error messages, ';'):将每条错误消息按分号分割成字符串数组UNNEST(...) AS error:把数组中的每个元素单独拆成一行,同时保留原行的Customer IDTRIM(error):去除拆分后错误消息前后的空格(比如原字符串中missing_surname; missing_address里的空格)WHERE TRIM(error) != '':过滤掉原字段末尾分号导致的空字符串行
运行这段SQL后,就能得到你想要的每条错误消息单独一行、客户ID重复的结果。
内容的提问来源于stack exchange,提问作者MBEGUM
相关产品推荐
相关产品推荐

