¿Cómo crear columnas variables ficticias para miles de categorías en Google BigQuery?

Tengo una tabla simple con 2 columnas: ID de usuario y Categoría, y cada ID de usuario puede repetirse con algunas categorías, así:

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

Quiero "dummify" esta tabla: es decir, crear una tabla de salida que tenga una columna única para cada Categoría que consista en variables ficticias (0/1 dependiendo de si el UserID pertenece a esa Categoría en particular):

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

Mi problema es que tengo MILES de categorías (no solo 3 como en este ejemplo) y, por lo tanto, esto no se puede lograr de manera eficiente usando la declaración CASO CUANDO.

Entonces mis preguntas son:

1) ¿Hay alguna manera de "dummificar" la columna Categoría en Google BigQuery sin usar miles de declaraciones CASO CUANDO?

2) ¿Es esta una situación en la que la funcionalidad UDF funciona bien? Parece que sería el caso, pero no estoy lo suficientemente familiarizado con UDF en BigQuery para resolver este problema. ¿Alguien podría ayudar?

Gracias.