Heim >Datenbank >MySQL-Tutorial >Wie entpivotiere ich Daten in BigQuery?
So transformieren Sie Daten von einer Pivot-Struktur in eine nicht Pivot-Struktur in BigQuery
In BigQuery stehen Sie vor der Herausforderung, eine zu transformieren Pivottabelle in ein nichtpivotiertes Format. Dabei werden die Daten in eine eher tabellarische Darstellung überführt. Um dies zu erreichen, berücksichtigen Sie die folgenden Schritte:
Verwendung des UNPIVOT-Operators (empfohlen)
BigQuery bietet jetzt einen dedizierten UNPIVOT-Operator, der diese Transformation vereinfacht. Mit diesem Operator können Sie die zu rotierenden Pivot-Spalten (z. B. Q1, Q2, Q3, Q4) und die resultierenden Spalten (z. B. Umsatz, Quartal) angeben.
SQL-Syntax:
SELECT product, UNPIVOT(value FOR quarter IN (Q1, Q2, Q3, Q4)) AS sales_quarter FROM pivoted_table
Verwenden einer verschachtelten Abfrage
Vor dem Durch die Einführung des UNPIVOT-Operators könnten BigQuery-Benutzer das Aufheben der Pivotierung mithilfe einer verschachtelten Abfrage erreichen:
SQL-Syntax:
SELECT product, (SELECT value FROM UNNEST(SAFE_CAST(STRUCT(NULL AS name, Q1 AS "value") AS STRUCT<name STRING, value STRING>))) AS Q1, (SELECT value FROM UNNEST(SAFE_CAST(STRUCT(NULL AS name, Q2 AS "value") AS STRUCT<name STRING, value STRING>))) AS Q2, (SELECT value FROM UNNEST(SAFE_CAST(STRUCT(NULL AS name, Q3 AS "value") AS STRUCT<name STRING, value STRING>))) AS Q3, (SELECT value FROM UNNEST(SAFE_CAST(STRUCT(NULL AS name, Q4 AS "value") AS STRUCT<name STRING, value STRING>))) AS Q4 FROM pivoted_table
Beispieldatenkonvertierung
Das folgende Beispiel konvertiert das Pivot Tabelle:
product | Q1 | Q2 | Q3 | Q4 ------------------------------- Kale | 51 | 23 | 45 | 3 Apple | 77 | 0 | 25 | 2
In die nichtpivotierte Tabelle:
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
Das obige ist der detaillierte Inhalt vonWie entpivotiere ich Daten in BigQuery?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!