首頁 > 資料庫 > mysql教程 > BigQuery 的 UNPIVOT 運算子如何重組表格資料?

BigQuery 的 UNPIVOT 運算子如何重組表格資料?

Patricia Arquette
發布: 2024-12-20 01:48:09
原創
460 人瀏覽過

How Can BigQuery's UNPIVOT Operator Restructure Tabular Data?

使用 UNPIVOT 運算子在 BigQuery 中轉置資料

通常需要將資料從表格結構重新組織為更靈活、更可用的格式。在 BigQuery 中,UNPIVOT 運算子為這種轉換提供了強大的解決方案。

請考慮以下範例:

原始表格結構:

product Q1 Q2 Q3 Q4
Kale 51 23 45 3
Apple 77 0 25 2

想要的桌子結構:

product sales quarter
Kale 51 Q1
Kale 23 Q2
Kale 45 Q3
Kale 3 Q4
Apple 77 Q1
Apple 0 Q2
Apple 25 Q3
Apple 2 Q4

想要的桌子結構:

SELECT product, value AS sales, OFFSET AS quarter
FROM UNNEST(FLATTEN(
  ARRAY(
    STRUCT('Q1' AS OFFSET, Q1 AS value),
    STRUCT('Q2' AS OFFSET, Q2 AS value),
    STRUCT('Q3' AS OFFSET, Q3 AS value),
    STRUCT('Q4' AS OFFSET, Q4 AS value)
  )
)) AS UNNESTED
ORDER BY product, quarter;
登入後複製

使用UNPIVOT 的SQL查詢:

此查詢使用 ARRAY 和 STRUCT 函數建立臨時結構數組原始表中的每一行。然後使用 FLATTEN 函數從數組中的每個結構中提取結構字段(銷售額和季度)。最後,使用 UNNEST 運算子從 ARRAY 中提取各個值。 產生的表格將採用所需的格式,其中包含產品、銷售額和季度的欄位。

以上是BigQuery 的 UNPIVOT 運算子如何重組表格資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板