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

Wie entpivotiere ich Daten in BigQuery?

Susan Sarandon
Susan SarandonOriginal
2024-12-23 03:19:09938Durchsuche

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

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!

Stellungnahme:
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