在 BigQuery 中动态使用 PIVOT
BigQuery 中的新 PIVOT 函数允许用户通过将一组的多个值汇总为单独的值来转换数据
问题:
在现实场景中,季度值可能无法提前知道。使用硬编码的季度值运行静态 PIVOT 查询变得不可行。
解决方案:
要动态处理未知的季度值,可以使用以下方法:
(SELECT DISTINCT quarter FROM `project.dataset.Produce` ORDER BY quarter)
STRING_AGG(quarter, '", "')
EXECUTE IMMEDIATE ( 'SELECT * FROM (SELECT * FROM `project.dataset.Produce`) PIVOT(SUM(sales) FOR quarter IN (' || STRING_AGG(quarter, '", "') || '"))' )
通过根据不同的季度值动态构建数据透视列列表,此方法允许灵活的 PIVOT 操作,而无需预先确定季度范围。
以上是如何在事先不知道列值的情况下动态透视 BigQuery 中的数据?的详细内容。更多信息请关注PHP中文网其他相关文章!