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
Libérer: 2024-12-28 12:11:10
original
285 Les gens l'ont consulté

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
)
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal