Maison > base de données > tutoriel mysql > Comment puis-je faire pivoter dynamiquement des données dans BigQuery sans connaître à l'avance les valeurs des colonnes ?

Comment puis-je faire pivoter dynamiquement des données dans BigQuery sans connaître à l'avance les valeurs des colonnes ?

Barbara Streisand
Libérer: 2025-01-04 17:03:41
original
264 Les gens l'ont consulté

How Can I Dynamically Pivot Data in BigQuery Without Knowing the Column Values in Advance?

Utiliser dynamiquement PIVOT dans BigQuery

La nouvelle fonction PIVOT dans BigQuery permet aux utilisateurs de transformer des données en résumant plusieurs valeurs d'un groupe dans des valeurs distinctes. colonnes.

Problème :

Dans des scénarios réels, les valeurs trimestrielles peuvent ne pas être connues à l'avance. L'exécution d'une requête PIVOT statique avec des valeurs trimestrielles codées en dur devient irréalisable.

Solution :

Pour gérer dynamiquement les valeurs trimestrielles inconnues, l'approche suivante peut être utilisée :

  1. Créer une sous-requête pour obtenir un trimestre distinct Valeurs :
(SELECT DISTINCT quarter FROM `project.dataset.Produce` ORDER BY quarter)
Copier après la connexion
  1. Utilisez STRING_AGG pour générer une liste de colonnes pivot dynamique :
STRING_AGG(quarter, '", "')
Copier après la connexion
  1. Exécuter immédiatement pour créer une requête pivot Dynamiquement :
EXECUTE IMMEDIATE (
  'SELECT * FROM (SELECT * FROM `project.dataset.Produce`)
  PIVOT(SUM(sales) FOR quarter IN (' || STRING_AGG(quarter, '", "') || '"))'
)
Copier après la connexion

En construisant dynamiquement la liste des colonnes pivot en fonction de valeurs trimestrielles distinctes, cette méthode permet des opérations PIVOT flexibles sans avoir besoin de prédéterminer la plage des quarts.

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