BigQuery 中的逆透视表
重构表以将行转换为列是一项常见的数据操作任务。在 BigQuery 中,此过程称为逆透视。
问题陈述:
假设您有一个表,其中数据的组织格式类似于以下内容:
但是,您想要的输出表的结构应如下所示:
解决方案:
至要实现此转换,您可以利用 BigQuery 中的 UNPIVOT 运算符。此运算符将行旋转为列,允许您根据需要重塑表格。
更新的解决方案 (2021):
BigQuery 引入了专用的 UNPIVOT 运算符来简化此操作过程。使用 UNPIVOT 可以表示如下:
SELECT product, sales, quarter FROM ( SELECT product, UNNEST([Q1, Q2, Q3, Q4]) AS sales, UNNEST(["Q1", "Q2", "Q3", "Q4"]) AS quarter FROM UNNEST(sales_table) AS sales_table )
此查询将列 Q1、Q2、Q3、Q4 逆透视为新列 sales 和季度。 UNNEST 运算符用于从嵌套数组字段 sales_table 中提取值。
以上是如何在 BigQuery 中逆透视表以将行转换为列?的详细内容。更多信息请关注PHP中文网其他相关文章!