【问题标题】:Pivot Table In BigQuery Using Standard SQL使用标准 SQL 在 BigQuery 中数据透视表
【发布时间】:2022-01-07 02:50:50
【问题描述】:

我有一组未透视的数据(引用了附加的 Excel 表),我正在尝试对其进行透视并将行转换为列。

在这种情况下,黄色标题是重复数据。绿色标题是我想要从行转换为列的内容,这将删除重复项,从而对数据进行透视。

Excel 表格的顶部是我目前拥有的,底部是我想要达到的。 我正在使用 BigQuery 标准 SQL。

感谢任何帮助。

Excel Screenshot

这是我所拥有的一个简短示例。

catalog_number manufacturer region region_price region_catalog_number
123 nike north 10 123-n
123 nike south 8 123-s

这是我想要的示例。

catalog_number manufacturer region_north region_north_price region_north_catalog_number region_south region_south_price region_south_catalog_number
123 nike north 10 123-n south 8 123-s

【问题讨论】:

    标签: google-bigquery dynamic-pivot


    【解决方案1】:

    考虑下面的简单方法

    select *
    from your_table
    pivot (
      any_value(region) region, 
      any_value(region_price) region_price, 
      any_value(region_catalog_number) region_catalog_number 
      for region in ('north', 'south')
    )    
    

    如果应用于您问题中的样本数据 - 输出是

    【讨论】:

    • 你试过了吗?它对你有用吗?
    • 我尝试了这种方法,虽然它确实实现了将行转换为列的预期输出,但列都是完全空白的。
    猜你喜欢
    • 1970-01-01
    • 2019-03-08
    • 2016-05-12
    • 2021-06-15
    • 1970-01-01
    • 2019-04-12
    • 1970-01-01
    • 1970-01-01
    • 2013-10-25
    相关资源
    最近更新 更多