我正在使用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有一个唯一的CODE。其余的DATA相同。
我偶然发现了“将值转换为列”的配方,这使我接近下面的选项B,但每个SEQ_NO仍然具有唯一的行。
<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>
<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>
答案 0 :(得分:0)
在Trifacta社区上找到了一条旧帖子,其中显示了解决方法。自从这篇文章发表以来,语法似乎已经改变,但是从本质上说,“ Aggregate”变成了“ Group”:
答案 1 :(得分:0)
要获取选项1,可以使用MERGE列转换或Trifacta中“搜索”中的MERGE功能,或从工具栏中选择“合并”图标。请将分隔符字段值包括为:
下一个数据透视表,其行标签为PERSON_ID和DATA列,聚合值为LIST(合并列)。
您可能会发现本文也很有帮助https://community.trifacta.com/s/article/Use-case-Grouping-company-information-on-pivot