Heim >Datenbank >MySQL-Tutorial >Wie kann der UNPIVOT-Operator von BigQuery Tabellendaten umstrukturieren?
Die Neuorganisation von Daten von einer tabellarischen Struktur in ein flexibleres und benutzerfreundlicheres Format ist oft erforderlich. In BigQuery bietet der UNPIVOT-Operator eine leistungsstarke Lösung für diese Transformation.
Betrachten Sie das folgende Beispiel:
Ursprüngliche Tabellenstruktur:
product | Q1 | Q2 | Q3 | Q4 |
---|---|---|---|---|
Kale | 51 | 23 | 45 | 3 |
Apple | 77 | 0 | 25 | 2 |
Gewünschte Tabellenstruktur:
product | sales | quarter |
---|---|---|
Kale | 51 | Q1 |
Kale | 23 | Q2 |
Kale | 45 | Q3 |
Kale | 3 | Q4 |
Apple | 77 | Q1 |
Apple | 0 | Q2 |
Apple | 25 | Q3 |
Apple | 2 | Q4 |
SQL Abfrage mit UNPIVOT:
SELECT product, value AS sales, OFFSET AS quarter FROM UNNEST(FLATTEN( ARRAY( STRUCT('Q1' AS OFFSET, Q1 AS value), STRUCT('Q2' AS OFFSET, Q2 AS value), STRUCT('Q3' AS OFFSET, Q3 AS value), STRUCT('Q4' AS OFFSET, Q4 AS value) ) )) AS UNNESTED ORDER BY product, quarter;
Diese Abfrage verwendet die Funktionen ARRAY und STRUCT, um ein temporäres Array von Strukturen für jede Zeile in der Originaltabelle zu erstellen. Anschließend wird die Funktion FLATTEN verwendet, um die Strukturfelder (Umsatz und Quartal) aus jeder Struktur im Array zu extrahieren. Abschließend wird der UNNEST-Operator verwendet, um die einzelnen Werte aus dem ARRAY zu extrahieren.
Die resultierende Tabelle hat das gewünschte Format, mit Spalten für Produkt, Umsatz und Quartal.
Das obige ist der detaillierte Inhalt vonWie kann der UNPIVOT-Operator von BigQuery Tabellendaten umstrukturieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!