Maison >base de données >tutoriel mysql >Comment puis-je faire pivoter dynamiquement des données dans BigQuery lorsque les valeurs des colonnes pivotées sont inconnues ?
Le dernier ajout de BigQuery, la fonction PIVOT, a suscité une attention considérable pour sa capacité à transformer les données dans un format semblable à celui d'un tableau croisé dynamique. . Cependant, face à des scénarios dans lesquels les valeurs des colonnes pivot ne sont pas connues à l'avance, les méthodes conventionnelles peuvent s'avérer inefficaces.
Dans de tels cas, une approche dynamique utilisant la concaténation de chaînes peut contourner cette limitation. En générant dynamiquement la requête pivot basée sur les valeurs distinctes de la colonne quart, nous pouvons gérer efficacement n'importe quel nombre de valeurs pivot inconnues.
L'extrait de code suivant illustre cette approche dynamique :
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) );
Génération de requête :
Sous-requête :
Cette approche dynamique offre plusieurs avantages :
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!