Como criar colunas variáveis fictícias para milhares de categorias no Google BigQuery?

Eu tenho uma tabela simples com 2 colunas: UserID e Category, e cada UserID pode repetir com algumas categorias, assim:

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

Quero "dumificar" esta tabela: ou seja, para criar uma tabela de saída que tenha uma coluna exclusiva para cada categoria que consiste em variáveis fictícias (0/1, dependendo de o UserID pertencer a essa categoria específica):

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

Meu problema é que tenho MILHARES de categorias (não apenas 3 como neste exemplo) e, portanto, isso não pode ser realizado com eficiência usando a instrução CASE WHEN.

Então, minhas perguntas são:

1) Existe uma maneira de "dumificar" a coluna Categoria no Google BigQuery sem usar milhares de instruções CASE WHEN.

2) É uma situação em que a funcionalidade UDF funciona bem? Parece que seria o caso, mas não estou familiarizado o suficiente com o UDF no BigQuery para resolver esse problema. Alguém seria capaz de ajudar?

Obrigado.