ホームページ >データベース >mysql チュートリアル >BigQuery の UNPIVOT 演算子は表形式データをどのように再構築できるのでしょうか?

BigQuery の UNPIVOT 演算子は表形式データをどのように再構築できるのでしょうか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-20 01:48:09407ブラウズ

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

UNPIVOT を使用した SQL クエリ:

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;

このクエリは、ARRAY 関数と STRUCT 関数を使用して、構造体の一時配列を作成します。元のテーブルの各行。次に、FLATTEN 関数を使用して、配列内の各構造体から構造体フィールド (売上と四半期) を抽出します。最後に、UNNEST 演算子を使用して ARRAY から個々の値を抽出します。

結果のテーブルは、製品、売上、四半期の列を含む目的の形式になります。

以上がBigQuery の UNPIVOT 演算子は表形式データをどのように再構築できるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。