【问题标题】:Pivot table in BigqueryBigquery 中的数据透视表
【发布时间】:2021-06-15 08:11:59
【问题描述】:

我有以下疑问:

SELECT DISTINCT
    Mes,
    cliente,
    Squad,
    SUM(Trafego_Estimado) AS Trafego_Estimado
FROM `Ranktank.RT_BD`
    GROUP BY Mes, cliente, Squad;

返回我: *每条线路的流量不同

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

我正在尝试使用这样的结构简化电子表格:

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

【问题讨论】:

    标签: google-bigquery pivot


    【解决方案1】:

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

    SELECT DISTINCT
        replace(Mes, '-', '_') as Mes,
        cliente,
        Squad,
        SUM(Trafego_Estimado) AS Trafego_Estimado
    FROM `Ranktank.RT_BD`
    GROUP BY Mes, cliente, Squad;
    

    然后您必须将结果保存在表格中,因为数据透视脚本需要输入表格。现在,您可以运行数据透视过程。请记住,该过程在美国地区,所以或者您复制数据集中的代码和规范化函数,或者您的数据也需要在美国。然后就可以运行了:

    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'
        , '');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-07
      • 2016-05-12
      • 2013-10-25
      • 2021-06-10
      • 2016-06-18
      • 2014-12-04
      相关资源
      最近更新 更多