Die neueste Ergänzung von BigQuery, die PIVOT-Funktion, hat aufgrund ihrer Fähigkeit, Daten in ein eher Pivot-Tabellen-ähnliches Format umzuwandeln, große Aufmerksamkeit erregt . In Szenarien, in denen die Pivot-Spaltenwerte nicht im Voraus bekannt sind, können sich herkömmliche Methoden jedoch als unwirksam erweisen.
In solchen Fällen kann ein dynamischer Ansatz mithilfe der Zeichenfolgenverkettung diese Einschränkung umgehen. Durch die dynamische Generierung der Pivot-Abfrage basierend auf den unterschiedlichen Werten der Viertelspalte können wir effektiv eine beliebige Anzahl unbekannter Pivot-Werte verarbeiten.
Der folgende Code-Snippet veranschaulicht diesen dynamischen Ansatz:
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) );
Abfragegenerierung:
Unterabfrage:
Dieser dynamische Ansatz bietet mehrere Vorteile:
Das obige ist der detaillierte Inhalt vonWie kann ich Daten in BigQuery dynamisch pivotieren, wenn Pivot-Spaltenwerte unbekannt sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!