ホームページ >データベース >mysql チュートリアル >BigQuery でテーブルのピボットを解除して行を列に変換するにはどうすればよいですか?

BigQuery でテーブルのピボットを解除して行を列に変換するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-28 12:11:10288ブラウズ

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 中国語 Web サイトの他の関連記事を参照してください。

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