Я использую DataPrep для обработки и импорта данных в BigQuery. Мой набор данных содержит «транзакции» для каждого PERSON_ID с новой строкой для каждой SEQ_NO (транзакции) следующим образом:
<code>
PERSON_ID SEQ_NO CODE DATA1 DATA2 DATA3.... DATAN
1001 1 A X Y Z ...
1001 2 B X Y Z ...
1001 3 C X Y Z ...
1002 1 A X2 Y2 Z2...
1002 2 F X2 Y2 Z2...
1003 1 A X3 Y3 Z3...
1004 1 B X4 Y4 Z4...
1005 1 ...
</code>
Первый столбец PERSON_ID - это ключ, который может иметь N SEQ_NO (начиная с 1). Для SEQ_NO существует уникальный код. Остальные данные совпадают.
Я наткнулся на рецепт «Преобразовать значения в столбцы», который приближает меня к варианту B ниже, но все еще имеет уникальную строку для SEQ_NO.
желаемое решение
Вариант A: (Массив)
<code>
PERSON_ID new_SEQ_NO__CODE DATA1 DATA2 DATA3.... DATAN
1001 [1:A,2:B,3:C] X Y Z ...
1002 [1:A,2:F] X2 Y2 Z2...
1003 [1:A] X3 Y3 Z3...
1004 [1:B] X4 Y4 Z4...
1005 [1:...
</code>
Вариант B: (значения в столбцах)
<code>
PERSON_ID CODE_A CODE_B CODE_C CODE_NN DATA1 DATA2 DATA3....
1001 1 1 1 null X Y Z ...
1002 1 null null ... X2 Y2 Z2...
1003 1 null null ... X3 Y3 Z3...
1004 null 1 null ... X4 Y4 Z4...
1005 ...
</code>