首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bigquery中的数据透视表

Bigquery中的数据透视表
EN

Stack Overflow用户
提问于 2021-03-18 06:54:46
回答 1查看 47关注 0票数 0

我有以下疑问:

代码语言:javascript
复制
SELECT DISTINCT
    Mes,
    cliente,
    Squad,
    SUM(Trafego_Estimado) AS Trafego_Estimado
FROM `Ranktank.RT_BD`
    GROUP BY Mes, cliente, Squad;

这将返回给我:*每条线路上的流量不同

代码语言:javascript
复制
Mes,     client,    Squad,  Trafic  
2020-11, A,         UM,     15664.47
2020-10, B,         DOIS,   15664.47
2020-09, C,         TRES,   15664.47
2020-19, A,         UM,     15664.47
2020-11, B,         DOIS,   15664.47
2020-10, C,         TRES,   15664.47
2020-10, A,         UM,     15664.47
2020-09, B,         DOIS,   15664.47
2020-11, C,         TRES,   15664.47

我试着用这样的结构来简化电子表格:

代码语言:javascript
复制
Cliente, Squad, 2020-11,  2020-10,  2020-09
A,       UM,    15664.47, 15664.47, 15664.47
B,       DOIS,  15664.47, 15664.47, 15664.47
C,       TRES,  15664.47, 15664.47, 15664.47

这样做有可能吗?

我试着这样做,但不起作用:How to Pivot table in BigQuery

EN

回答 1

Stack Overflow用户

发布于 2021-03-20 00:32:14

我能够使用Hoffa解决方案(经过一些调整)来透视您的表。问题是表中"mes“列的值。使用此方法时,不能使用带"-“的列名,因为它们需要用引号引起来。您可以做的是将"-“替换为"_”。

代码语言:javascript
复制
SELECT DISTINCT
    replace(Mes, '-', '_') as Mes,
    cliente,
    Squad,
    SUM(Trafego_Estimado) AS Trafego_Estimado
FROM `Ranktank.RT_BD`
GROUP BY Mes, cliente, Squad;

然后,您必须将结果保存在表中,因为pivot脚本在输入中需要一个表。现在,您可以运行pivot过程。请记住,该过程是在美国区域,因此,或者您复制代码和归一化函数在您的数据集中,或者您的数据也需要在美国。然后,您可以运行:

代码语言:javascript
复制
call `fhoffa.x.pivot`(
    'project_id.dataset_id.data_to_pivot'
    , 'project_id.dataset_id.data_pivotted'
    , ['Client', 'Squad']
    , 'Mes'
    , 'Trafego_Estimado'
    , 5
    , 'any_value'
    , '');
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66682414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档