我不确定这是否可以在 Google Refine 中实现。但基本上,我有这样的数据。
第一个表是所有用户的表。第二张表显示所有朋友。但是,在"friends"
列中的第二个表中,并非所有 id 都存在于我要删除的第一个表中。那么,如何friends
在第二个表的列中搜索每个 id 并删除表 1 中不存在的 id?
我不确定这是否可以在 Google Refine 中实现。但基本上,我有这样的数据。
第一个表是所有用户的表。第二张表显示所有朋友。但是,在"friends"
列中的第二个表中,并非所有 id 都存在于我要删除的第一个表中。那么,如何friends
在第二个表的列中搜索每个 id 并删除表 1 中不存在的 id?
将这两个表放在不同的项目中(我们将它们称为Table1
和Table2
)。
在Table2
上列friends
:
cross(cell,'Table1','user_id').length()
如果没有匹配,则返回 0,如果匹配则返回 1,如果 Table1 中有重复项,则返回 N>1
如果您希望数据恢复为原始格式,请设置一个方面以过滤有效性列,清除所有错误值,然后使用“连接多值单元格”来反转您之前执行的拆分操作。
我为 OpenRefine 2.6 使用 cross() 修复了一些缓存错误,所以如果交叉不起作用,请尝试停止并重新启动 Refine 服务器。