【问题标题】:how can i pivot/ transpose my data in BigQuery我如何在 BigQuery 中旋转/转置我的数据
【发布时间】:2022-12-11 12:00:47
【问题描述】:

我有下表: |指标 | uuid |project_id |project_name |values | | ------ | -------------- |----------------|------------|----- ------ |公制一个 | uuid 1 |行 |行 |1| |公制 b | uuid 2 |行 |行 |2| |公制 c | uuid 1 |行 |行 |3| |公制 c | uuid 3 |行 |行 |3| |公制一个 | uuid 3 |行 |行 |1| |公制 b | uuid 3 |行 |行 |2|

我正在尝试使用 SQL 使其在 BigQuery 中看起来像这样。我认为这可能是枢轴/转置的某种组合,但我不确定从哪里开始

metric a metric b metric c
uuid 1 1 3
uuid 2 2 3
uuid 3 1 2 3

最好的方法是什么?对 sql/bigquery 很陌生,所以如果答案很明显,请多多包涵!

先感谢您!

【问题讨论】:

  • 你想写一个 SQL 查询吗?

标签: google-bigquery


【解决方案1】:

考虑下面的 PIVOT 查询。

SELECT * FROM (
  SELECT uuid, metrics, values 
    FROM sample_table
) PIVOT (SUM(values) FOR TRANSLATE(metrics, ' ', '_') IN ('metric_a', 'metric_b', 'metric_c'));
  • 由于列名称中不能有空格,请将TRANSLATE 函数替换为下划线。

查询结果

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-18
    • 1970-01-01
    • 2022-11-03
    相关资源
    最近更新 更多