みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
環境:FileMaker Pro 18(Windows)
テーブルオカレンス内競走馬マスタデータに18万件のデータがあり、その中から「調教師コード」に合わせた対象レコードをインポートしたいのですが、どのようなスクリプトステップを組んだらよいか分かりません。
競走馬マスタデータソース(SQLServerからODBCで取得)(レコード18万件)
フィールド:ChokyosiCode
フィールド:馬名
その他フィールド:225フィールド
預託管理馬テーブル(レイアウト:預託管理馬))(レコードは空)
フィールド:調教師コード
フィールド:馬名
その他フィールド:225フィールド
目的:ボタンを押したら調教師コードに基づいて自動でマスタデータから必要なレコードを他のテーブルにインポートしたい。
宜しくお願いいたします。
Last edited by ウィン (2019-12-24 14:02:01)
Offline
流れは、マスターソース側でレコードを抽出し、預託管理馬テーブル にインポートする、でしょう。
マスターソース側に、シリアル番号のようなユニークなデータはありませんか。無ければ、シリアル値で十分ですので、それを作っておきます。預託テーブル側でどの様な作業が行われるかにもよるでしょうが、そのシリアル値のみをインポートし、残りのフィールドは参照としておくと、データの取り込みは非常に軽いです。
絞り込みは、預託テーブルにグローバルフィールドを作っておき、そこからマスターソースの ChokyosiCode へリレーションを張っておき、関連レコードへ移動、を行うのが早いでしょう。
または、変数に保存しておき、普通に検索する、でもいいと思います。
Offline
マスターデータは重複の無いユニークIDとしては、競走馬血統番号になります。
一番欲しいデータは血統番号を含め、調教師コード、馬名、馬主コード、馬主名のみです。
預託テーブル側は厩舎単位預託馬データのみを管理預託馬テーブルに収めておき、厩舎用マスタデータにしておき、そこから2次利用したいと考えています。
厩舎単位でのマスタデータを作っておけば、大した頭数にならないので軽快になるのではないかと思っていたのですが、膨大なマスターデータからの参照でも軽いものなのでしょうか?
大元となるマスターデータがあれば、レコードをインポートする必要すらないものなのでしょうか?
Offline
そのデータベースの運用がわからないですが。
血統番号でリレーションを張っておけば、必要最小限の動きは作れます。関連するテーブルの情報の参照は、通常は非常に早いです。(サーバー環境ですと、ネットワークの速度に依存します)
もし、調教師コード、馬名、馬主コード、馬主名などでのアクセス(検索やソートなど)が頻回にあれば、必要に応じてルックアップなどで取り込めばいいと思います。
または、複雑な検索はマスターファイル側で対象レコードを絞り込んで行い結果のみを転送したり、集計はマスターファイル側で行うように作り込んだ方が早い事もあります。索引ができていれば、数百万レコードでも抽出などは非常に早いです。FileMaker server での運用でしたら、サーバーサイドスクリプトで実行させ、結果のみを転送しましょう。
私が業務で運用しているファイル群は、主に参照をおこなうメインファイル(ごく一部の基本情報は持たせています)と、全情報を持たせているファイルにわけて FIleMaker server で運用しており、基本情報側には、多数のテーブルがあり、最大8万レコードで合計数十万レコードあります。参照側のファイルから基本情報をみていますが、大きなストレスはありません。たんなる参照ですと一瞬で表示されています。1万レコードの大きなテーブルのソートは、さすがに数十秒かかることもありますが。
Last edited by Shin (2019-12-25 10:39:50)
Offline
Pages: 1
[ Generated in 0.006 seconds, 10 queries executed - Memory usage: 509.07 KiB (Peak: 513.61 KiB) ]