重複排除の基本テクニック


FileMakerでデータ処理をしていると「重複を排除して1個だけにしたい」という必要がよく発生します。郵便番号簿から日本に存在する市区町村の一覧を作る、などの状況です。住所以外にも似たような状況は多々発生します。

自己連結リレーションを設定し重複を自動チェック

自己連結リレーションを設定し重複を自動チェック

方法はいくつかあるのですが、ここで紹介する「自己リレーション」を使った手法が、様々な場面で応用が効くことと、データをどう持たせるかの基本が理解できるという点、そしてなにより一番簡単という点でお勧めです。作業内容は以下のとおりです。

1. レコードにプライマリキーを設定
レコードを特定するためのプライマリキー(要は「通し番号」です)のフィールドを設定します。

2. キーに成る計算フィールドを設定
サンプルファイルでは都道府県と市区町村をつなげた計算フィールドを作っています。

3. 自己リレーションを設定
上記2.で作成した計算フィールドどうしをつなぎます。

4. 重複チェックの計算フィールドを定義
サンプルでは「#PK = 市区町村リスト#Self::#PK」という式になっています。

以上のシンプルな構造で重複チェックが実現し、複数データのうち最初に登場したレコードのみチェックが付く形となります。