在 BigQuery 中的大表中取消透视日期列
Posted
技术标签:
【中文标题】在 BigQuery 中的大表中取消透视日期列【英文标题】:Unpivoting dates columns in large table in BigQuery 【发布时间】:2021-12-26 03:41:03 【问题描述】:我在 BigQuery 中有一个由 16 列和 30M 条记录组成的表,格式如下:
数据有 2 个日期列,我想将它们放入同一列日期中,以便可以直观地看到每天发生了多少事件。
基本上,每个项目和itemtype
都有一行用于包装日期,statusdate
的几行取决于发生的状态数和表中的所有列。
期望的输出:
【问题讨论】:
【参考方案1】:我并不完全清楚你想要哪些日期的哪些行,但从概念上讲,我认为你所要求的最简单的方法是 UNION。
例如:
select itemtype, stages, <<date field (e.g. packagingdate)>> as dates
from mytable
where <<some condition (e.g. packagingdate is not null)>>
union all
select itemtype, stages, <<date field (e.g. signedoffdate)>> as dates
from mytable
where <<some condition (e.g. signedoffdate is not null)>>
【讨论】:
以上是关于在 BigQuery 中的大表中取消透视日期列的主要内容,如果未能解决你的问题,请参考以下文章