首頁 >資料庫 >mysql教程 >如何在 BigQuery 中逆透視表以將行轉換為列?

如何在 BigQuery 中逆透視表以將行轉換為列?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-28 12:11:10285瀏覽

How Can I Unpivot Tables in BigQuery to Transform Rows into Columns?

BigQuery 中的逆透視表

重建表以將行轉換為列是一項常見的資料操作任務。在 BigQuery 中,此過程稱為逆透視。

問題陳述:

假設您有一個表,其中數據的組織格式類似於以下內容:

如何在 BigQuery 中逆透視表以將行轉換為列?

但是,您想要的輸出表的結構應如下所示:

「在此輸入影像描述」

解決方案:

至要實現此轉換,您可以利用 BigQuery 中的 UNPIVOT 運算符。此運算符將行旋轉為列,讓您根據需要重塑表格。

更新的解決方案 (2021):

BigQuery 引入了專用的 UNPIVOT 運算子來簡化此操作流程。使用 UNPIVOT 可以表示如下:

SELECT
  product,
  sales,
  quarter
FROM (
  SELECT
    product,
    UNNEST([Q1, Q2, Q3, Q4]) AS sales,
    UNNEST(["Q1", "Q2", "Q3", "Q4"]) AS quarter
  FROM UNNEST(sales_table) AS sales_table
)

此查詢將列 Q1、Q2、Q3、Q4 逆透視為新列 sales 和季度。 UNNEST 運算子用於從巢狀數組欄位 sales_table 中提取值。

以上是如何在 BigQuery 中逆透視表以將行轉換為列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn