BigQuery / DataPrep - есть ли способ объединить строки одного и того же KEY, но разных порядковых номеров? - PullRequest
0 голосов
/ 05 июня 2019

Я использую 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>

1 Ответ

0 голосов
/ 05 июня 2019

Нашел старый пост о сообществе Trifacta, который показывает пути решения.Синтаксис, похоже, изменился с этого поста, но по сути «Aggregate» становится «Group»:

https://community.trifacta.com/s/question/0D51L000058bYzWSAU/how-can-i-merge-mostly-duplicate-rows-into-one-with-a-multivalued-column-that-changes-per-row-in-the-source-data

...