Heim > Datenbank > MySQL-Tutorial > Wie entpivotiere ich Daten in BigQuery?

Wie entpivotiere ich Daten in BigQuery?

Susan Sarandon
Freigeben: 2024-12-23 03:19:09
Original
938 Leute haben es durchsucht

How to Unpivot Data 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
Nach dem Login kopieren

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
Nach dem Login kopieren

Beispieldatenkonvertierung

Das folgende Beispiel konvertiert das Pivot Tabelle:

product | Q1 | Q2 | Q3 | Q4
-------------------------------
Kale    | 51 | 23 | 45 | 3
Apple   | 77 | 0  | 25 | 2
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage