Maison > base de données > tutoriel mysql > Comment puis-je personnaliser dynamiquement les requêtes PIVOT dans BigQuery ?

Comment puis-je personnaliser dynamiquement les requêtes PIVOT dans BigQuery ?

Linda Hamilton
Libérer: 2024-12-21 01:42:13
original
159 Les gens l'ont consulté

How Can I Dynamically Customize PIVOT Queries in BigQuery?

Personnalisation des requêtes avec la fonction PIVOT dans BigQuery

La fonction PIVOT récemment introduite dans BigQuery permet une refonte pratique des données, mais parfois nous ne le savons pas les valeurs de colonne spécifiques au préalable. Cet article aborde un défi courant rencontré lorsque l'on tente de faire pivoter les données de manière dynamique.

Problèmes de requête PIVOT statique

Lorsque nous avons des valeurs de colonne prédéfinies, nous pouvons utiliser une requête PIVOT simple. comme ceci :

SELECT * FROM
  (SELECT * FROM Produce)
  PIVOT(SUM(sales)
    FOR quarter IN ('Q1', 'Q2', 'Q3', 'Q4'))
Copier après la connexion

Requête PIVOT dynamique Solution

Cependant, dans les scénarios du monde réel, nous n'avons souvent pas les valeurs des colonnes disponibles à l'avance. Pour gérer cela, nous pouvons créer dynamiquement les colonnes PIVOT à l'aide de la requête suivante :

execute immediate (             
select '''select * from (select * from `project.dataset.Produce`)
  pivot(sum(sales) for quarter in ("''' ||  string_agg(quarter, '", "')  || '''"))
'''
from (select distinct quarter from `project.dataset.Produce` order by quarter) 
);
Copier après la connexion

En générant dynamiquement les colonnes PIVOT, nous pouvons interroger et remodeler les données quelles que soient les valeurs de colonne connues. Cette approche s'avère particulièrement utile lorsque vous travaillez avec des ensembles de données volumineux ou évolutifs.

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