BigQuery 的最新功能 PIVOT 函数因其能够将数据转换为更类似于数据透视表的格式而受到广泛关注。然而,当面对事先未知数据透视列值的情况时,传统方法可能无效。
在这种情况下,使用字符串连接的动态方法可以绕过此限制。通过根据四分之一列的不同值动态生成枢轴查询,我们可以有效地处理任意数量的未知枢轴值。
以下代码片段举例说明了这种动态方法:
execute immediate ( select '''select * from (select * from `project.dataset.Produce`) pivot(sum(sales) for quarter in ("''' || string_agg(quarter, '", "') || '''")) ''' from (select distinct quarter from `project.dataset.Produce` order by quarter) );
查询生成:
子查询:
这种动态方法有几个好处:
以上是当数据透视列值未知时,如何在 BigQuery 中动态透视数据?的详细内容。更多信息请关注PHP中文网其他相关文章!