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.