Как создать фиктивные переменные столбцы для тысяч категорий в Google BigQuery?
У меня есть простая таблица с 2 столбцами: UserID и Category, и каждый UserID может повторяться с несколькими категориями, например так:
UserID Category
------ --------
1 A
1 B
2 C
3 A
3 C
3 B
Я хочу "dummify" этой таблицы: то есть, чтобы создать выходную таблицу, которая имеет уникальный столбец для каждой категории, состоящей из фиктивных переменных (0/1 в зависимости от того, принадлежит ли идентификатор пользователя этой конкретной категории):
UserID A B C
------ -- -- --
1 1 1 0
2 0 0 1
3 1 1 1
Моя проблема в том, что у меня есть ТЫСЯЧИ категорий (не только 3, как в этом примере), и поэтому это не может быть эффективно выполнено с помощью оператора CASE WHEN.
Итак, мои вопросы:
1) Есть ли способ «подставить» столбец Категория в Google BigQuery без использования тысяч операторов CASE WHEN.
2) Это ситуация, когда функциональность UDF работает хорошо? Кажется, что это так, но я недостаточно знаком с UDF в BigQuery, чтобы решить эту проблему. Кто-нибудь сможет помочь?
Благодарю.