Bigquery:在添加总 x 行的同时进行旋转

问题描述 投票:0回答:1

我在 BigQuery 中构建了一个动态数据透视表,它可以满足我的需要,但有一个例外。

最终目标是还获得补充列中每行项目总数的总和,该补充列不属于传递给数据透视调用的动态列集的一部分。

我尝试过使用窗口函数和分区,但没有成功。

有什么想法吗?

下面是一小段数据摘录

Product,agent,qty
Apple,Jon,10
Banana,Jon,5
Apple,Mark,20

即使我可以在内部查询中对每个代理的总数进行求和,我也无法弄清楚如何在 PIVOT IN 中公开。 到目前为止我尝试过的所有内容都仅返回 1,作为单行项目,但不是太阳(例如 Jon、15 和 Mark 20)

有什么想法吗?

dynamic google-bigquery pivot pivot-table
1个回答
0
投票

正如 @Andrea Moro 和 @samuel 在上面的评论中提到的,您可以利用 CTE,这些

WITH
语句中的每个表都可以被寻址。您可以使用
PIVOT 
创建一个 CTE 表,并使用该表来处理窗口函数。

为了获得所需嵌套的预期结果,一个可能的解决方案可能是您可以使用

group by
,在动态列 regexp_ 之间的末尾用不必要的字符替换或用反引号替换以使其成为列。

将答案发布为社区 wiki,以造福于将来可能遇到此用例的社区。请随意编辑此答案以获取更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.