みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
OS:[windows10 64bit]
FileMaker Ver:[14 advanced]
よろしくお願いいたします
説明自体うまく伝えにくくて言葉足らずでしたらすみません
2つの健診の検査結果データを結合しようと考えています
一つ目のテーブルはレコード5000くらいで「日時」「検査結果」「名前ひらがな」「名前漢字」「年齢1」「他の検査結果」
二つ目のテーブルにもレコード5000くらいで「日時」「検査結果」「名前ローマ字」「年齢2」「通し番号ID」
が主な内容になり、これらを結合し「通し番号」と「他の検査結果」が繋がるようにしたいと考えています
最終的には残ったレコードは目視で名前を見て合わせるしかないかと思いますが、
人為ミスも起こりうるので、なるべく多くのレコードを機械的にうまくマッチさせたいと思っています
「日時」「検査結果」は機械が自動測定しており間違いないので信頼性がありますが
レコード数が多く、また検査結果も2桁の結果のため、この二つのみではダブりが多く
レコードの大半を一意に絞れない状況です(900レコードくらいは絞れますが)。
年齢に関してですが、「年齢1」の方は本人の自己申告、「年齢2」は生年月日から計算された正しい値です。
実際のところサバを読んでいなくとも勘違いや測定時期の問題で±1ズレていることがあり、
ぴったり正確なマッチングができないorマッチした人が本当は正しくない人の可能性があります
±1と幅を持たせて合わせられないか、また間違ってマッチングしないようにできないかと考えていますがよい知恵が浮かびません
名前がマッチできるとかなり大半を処理できるかと思うのですが
名前ひらがなor漢字 と 名前ローマ字のためうまく合わせられません
それぞれのテーブル内では、すべての項目をチェック(特に名前)すればレコードのダブりはほぼない様子で4500くらいの一意なデータとなります。
結局この3週間、試行錯誤するもののこの両者のデータの結合に関して
一向に良い方法が浮かばず困っております
良いお知恵がありましたらご教授お願いいたします
ローマ字とカナは、変換表を作れば、相互変換が可能ですよ。
例えば、
Substitute ( ローマ字 ;["kya" ; "キャ"];["kyu" ; "キュ"];["kyo" ; "キョ"];["gya" ; "ギャ"];["gyu" ; "ギュ"];["gyo" ; "ギョ"];["sya" ; "シャ"];["syu" ; "シュ"];["syo" ; "ショ"]; ... ;["ro" ; "ロ"];["wo" ; "ヲ"];["n" ; "ン"])
などすればいいです。かなりの力技ですが。その逆も同様に可能でしょう。
Offline
>それぞれのテーブル内では、すべての項目をチェック(特に名前)すればレコードのダブりは
>ほぼない様子で4500くらいの一意なデータとなります。
1テーブルで同じ人の同じ日の検査が500個もダブっているということですか。
これだとしたらこれを排除するのが先かと。
それとも同じ人の別の日の検査が複数あるのですか。
いずれにしてもとても面倒そうで、答えられそうには無いのですが。
Offline
おそらく、別のシステムから吐き出されてくるデータの突き合わせをする,という事でしょう。
付き合わせのデータが、人が見ていると解る,というレベルですので,最も厄介な作業の一つですよ。名前ひらがな があるだけ、マシかも。
Offline
ありがとうございます
名前はひらがなとローマ字で無理で、「年齢」で何とかマッチさせないとと
頭から思い込んでしまっていました
shinさまのご指摘のような発想がなかったので目から鱗です
外国名の方のデータも入っているのでその辺は手作業になりそうですが
場合によっては名前の一文字目のひらがなをローマ字に直してマッチさせるだけでも
日付と検査結果と合わせればかなり一意なデータになると思います
ご教授ありがとうございます
とりあえずご指摘の方法でやってみます
データに関しては一日だいたい40人くらいが測定を行いました
ただ、上手く測定できず同日日にテストデータや測定しなおしなどの複数回測定のデータも混じっています
それが2年分です。なので二つのテーブルで総数も違います
ダブりを先に除去するというのはおっしゃるとおりですが
実はそれも今試行錯誤しているところです
1.ダブったデータのうち一つだけデータを残す
2.念のため、破棄するダブったデータを別のテーブルに移す
をもっとスマートに行えないかと思います
例えば2.に関しては対象外データをcsvで吐き出して分け
メインテーブルからは削除
新しいテーブルにcsv読み込みして対応したりしています
こういった場面こそ「スクリプトを組む」という技術が必要なのかなと思いなおし
現在本とにらめっこしているところです
データは再検になった元データも意味が有る物ですから,削除する,という考え方は止めましょう。データを移すにしても,その途中でエラーが起きていたら,データは永久に失われます。
データを取る時に,その一連の測定で,同項目ならば最新のデータを有効にする,という設計が良いのでは無いかと思いますが。
Offline
shinさま
大変ありがとうございました
ひらがなの変換を行い、名前完全一致させ大半を結合しました
名前入力のひどい打ち間違いもあり単純な変換式では難しかったです
そのため名前の頭3文字のみで一致させ8割のデータが結合できました
あとは日にちと検査データでマッチさえて目視で確認しました
残りのデータの大半はそもそも対応するデータが存在していなかったことが分かったので
手持ちのデータで合わせられる例はほぼ合わせられました
一意性はその都度確認しているのでミスマッチはないかと思っています
大変ありがとうございました
Pages: 1
[ Generated in 0.008 seconds, 11 queries executed - Memory usage: 516.07 KiB (Peak: 520.61 KiB) ]