Maison >base de données >tutoriel mysql >Comment puis-je annuler le pivotement des tableaux dans BigQuery pour transformer des lignes en colonnes ?

Comment puis-je annuler le pivotement des tableaux dans BigQuery pour transformer des lignes en colonnes ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-28 12:11:10270parcourir

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

Tableaux non pivotants dans BigQuery

La restructuration d'une table pour transformer des lignes en colonnes est une tâche courante de manipulation de données. Dans BigQuery, ce processus est appelé non-pivot.

Énoncé du problème :

Supposons que vous ayez une table avec des données organisées dans un format similaire au suivant :

entrer la description de l'image ici

Cependant, la table de sortie souhaitée doit être structurée comme ceci :

entrez la description de l'image ici

Solution :

Pour réaliser cette transformation, vous pouvez utiliser l'opérateur UNPIVOT dans BigQuery. Cet opérateur fait pivoter les lignes en colonnes, vous permettant de remodeler votre table selon vos besoins.

Solution mise à jour (2021) :

BigQuery a introduit un opérateur UNPIVOT dédié pour simplifier cela. processus. L'utilisation d'UNPIVOT peut être représentée comme suit :

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
)

Cette requête annule le pivotement des colonnes Q1, Q2, Q3, Q4 dans de nouvelles colonnes ventes et trimestre. L'opérateur UNNEST est utilisé pour extraire les valeurs du champ de tableau imbriqué sales_table.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn