孤毒の果て

成人後自閉症スペクトラム、アル中・双極性障害とも診断される診断された当事者ブログ。孤独な男。据え置きゲームを処分して趣味はカメラへと移行、ミニマル生活へ。

FileMakerでシンプルに重複レコードを探す方法

f:id:kotokunohate:20161112225345j:plain

はじめに

シンプルに重複レコードを検索する方法の紹介、昔の俺はこの方法をしらなくて検索チェック用フラグフィールドやループを作ってまどろっこしい方法で重複レコードを探していたが、今回はおそらく一番シンプルで簡単な方法だ。

データと設定

f:id:kotokunohate:20161112225604j:plain

  • フィールド:商品名
  • フィールド:値段

画像の通り超適当な商品名はアルファベット、価格は一律1000円。をNumbersで作成してCSVで書き出しFileMakerでインポートした、FileMakerはこの辺りのダミーデータを作るのが面倒なのでやはりNumbersはまだ現役。

FileMakerにインポート

f:id:kotokunohate:20161112225912j:plain

ここで設定として商品は重複しない事にする、値段は空白や1000円以外は異常と設定する。

適当に重複データを作成する

f:id:kotokunohate:20161112230116j:plain 適当に選んだレコードを複製して値段を消した。これで重複かつ価格フィールドに異常のあるレコードが発生していることになる。

重複検索スクリプトを作る

f:id:kotokunohate:20161112230253j:plain

解説

  • 2行目、検索モードに切り替える
  • 3行目、検索モードになっているのでこの段階でフィールド設定で"!"を入れる
  • 4行目、検索の実行をすると重複するレコードが表示される
  • 5行目、商品名を昇順でソートすると重複されたレコードが並んで見えるのでよりわかりやすい

重複レコードを検索するだけならこれだけOK。

スクリプトを実行すると下記画像のレコードだけ表示される。 f:id:kotokunohate:20161112231530j:plain

www.filemaker.com

さらに改良を加えて重複以上レコードを削除する。

f:id:kotokunohate:20161112230842j:plain

解説

  • 4行目、今回値段が空白だと異常レコード、いらない方のレコードなので価格フィールドを"="空白出ないか検索している。
  • 8行目、重複異常レコードのみ対象になっているので削除している。

f:id:kotokunohate:20161112231309j:plain

削除前のスクリプトを止めるとこのように重複していて値段が空白のレコードだけ検索されている。

重複確認には検索モードで!を使えばいいのだ。

FileMaker Pro 関数・スクリプト サンプル活用辞典 Ver.14/13/12/11/10/9対応

FileMaker Pro 関数・スクリプト サンプル活用辞典 Ver.14/13/12/11/10/9対応