如何使用OpenRefine中的键连接两个数据集,辅助表具有多个值?

时间:2016-03-03 15:28:12

标签: openrefine

我有一个像这样的数据集X:

Code | Name
------------
123  | AAA
456  | BBB

另一个Y喜欢这个:

Code | Level
------------
123  | A
123  | B
456  | B
456  | C

我想使用OpenRefine加入他们:

Code | Name | Level A | Level B | Level C
------------------------------------------
123  | AAA  |  value  |  value  |   -
456  | BBB  |    -    |  value  | value

当我尝试使用来自' X.Code '的cell.cross()添加列时,它只获取第一次出现' X.Code 的值'in' Y '。

cell.cross("Y", "Code")[0].cells["Rede"].value[0]

如何使用GREL获得所需的输出?

1 个答案:

答案 0 :(得分:0)

您需要按项目Y的键/值对列表进行按列,按级别设置一列,如下例所示。使用Transpose -> Columnize by key/value

Code | Level A | Level B | Level C
------------------------------------------
123  | value  |  value  |   -
456  |   -    |  value  | value

然后您可以为每列使用cell.cross函数。例如:cell.cross("Y", "Code")[0].cells["Level A"].value[0]将数据导入Project X