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'))
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) );
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!