Wie erstelle ich Dummy-Variablenspalten für Tausende von Kategorien in Google BigQuery?

Ich habe eine einfache Tabelle mit 2 Spalten: Benutzer-ID und Kategorie, und jede Benutzer-ID kann mit ein paar Kategorien wiederholt werden, wie zum Beispiel:

UserID   Category
------   --------
1         A
1         B
2         C
3         A
3         C
3         B

Ich möchte diese Tabelle "dummifizieren": d. H. Eine Ausgabetabelle mit einer eindeutigen Spalte für jede Kategorie erstellen, die aus Dummy-Variablen besteht (0/1, abhängig davon, ob die Benutzer-ID zu dieser bestimmten Kategorie gehört):

UserID    A  B  C
------    -- -- --
1         1  1  0
2         0  0  1
3         1  1  1

Mein Problem ist, dass ich TAUSENDE Kategorien habe (nicht nur 3 wie in diesem Beispiel) und dies daher mit der CASE WHEN-Anweisung nicht effizient bewerkstelligt werden kann.

Also meine Fragen sind:

1) Gibt es eine Möglichkeit, die Spalte "Category" in Google BigQuery zu "dummifizieren", ohne Tausende von CASE WHEN-Anweisungen zu verwenden?

2) Ist dies eine Situation, in der die UDF-Funktionalität gut funktioniert? Anscheinend ist dies der Fall, aber ich kenne UDF in BigQuery nicht gut genug, um dieses Problem zu lösen. Würde jemand helfen können?

Vielen Dank

Antworten auf die Frage(2)

Ihre Antwort auf die Frage