これがGoogleRefineで実現できるかどうかはわかりません。でも基本的にはこういうデータがあります。
最初のテーブルは、すべてのユーザーのテーブルです。2番目の表は、すべての友達を示しています。ただし、"friends"
列の2番目のテーブルでは、削除したい最初のテーブルにすべてのIDが存在するわけではありません。では、2番目のテーブルの列の各IDを検索friends
して、テーブル1に存在しないIDを削除するにはどうすればよいですか?
これがGoogleRefineで実現できるかどうかはわかりません。でも基本的にはこういうデータがあります。
最初のテーブルは、すべてのユーザーのテーブルです。2番目の表は、すべての友達を示しています。ただし、"friends"
列の2番目のテーブルでは、削除したい最初のテーブルにすべてのIDが存在するわけではありません。では、2番目のテーブルの列の各IDを検索friends
して、テーブル1に存在しないIDを削除するにはどうすればよいですか?
Table1
2つのテーブルを異なるプロジェクトに配置します(これらをとと呼びますTable2
)。
Table2
コラムでfriends
:
cross(cell,'Table1','user_id').length()
これは、一致するものがない場合は0、一致する場合は1、表1に重複がある場合はN>1を返します。
データを元の形式に戻したい場合は、有効性列でフィルタリングするファセットを設定し、すべての不正な値を空白にしてから、「複数値のセルを結合」を使用して、前に行った分割操作を元に戻します。
OpenRefine 2.6のcross()でいくつかのキャッシュのバグを修正したので、クロスが機能しない場合は、Refineサーバーを停止して再起動してみてください。