初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2019-12-28 23:59:56

ウィン
Member

ルックアップについて

マスタデータには速報系と通常系の2種類があり、一定時間が経つと速報系から通常系にデータが移動し蓄積されます。通常系に移った場合は速報系からデータが消失します。
早急にデータが必要な場合は速報系からデータを参照する必要があります。競馬直後にレポートを作成する人がいるため、速報系から情報を引っ張ってくる必要があります。

PKでリレーションを組んであります。ルックアップで複数データをコピーしていきたいのですが、通常系のデータが空で速報系にデータが入っていた場合と速報系のデータが空で通常系にデータが入っていた場合、どのようにルックアップのスクリプトを書いたらいいのでしょうか?

レース情報_通常系テーブル
フィールド:血統番号(PK)
フィールド:馬名
フィールド:開催日
フィールド:競馬場名
フィールド:レース番号

レース情報_速報系テーブル
フィールド:血統番号(PK)
フィールド:馬名
フィールド:開催日
フィールド:競馬場名
フィールド:レース番号

レースレポートテーブル
フィールド;血統番号(PK)
フィールド:馬名
フィールド:開催日
フィールド:競馬場名
フィールド:レース番号

レースレポートはレコード作成時に違うマスタデータから馬名を元にルックアップされています。ルックアップされた血統番号を元にレース情報から他4フィールドの情報をレース情報からルックアップしたいのです。
最悪、馬名と開催日だけルックアップできれば他は参照で十分です。

目的:馬名を入力した時点で血統番号が確定。血統番号と開催日を元にその他フィールドの入力を自動化させたい。

宜しくお願いいたします。

Offline

#2 2019-12-29 00:41:44

Hiro
Member

Re: ルックアップについて

「レースレポートテーブル」への関連データの件ですよネ?
なら、データはルックアップ転写でなく関連参照で良いのだから、
式内で分岐処理が可能では?
例えば、レースレポートテーブル::馬名 フィールドの計算式は

  • Case(
       IsEmpty(レース情報_通常系テーブル::血統番号)
       ; レース情報_速報系テーブル::馬名
       ; レース情報_通常系テーブル::馬名
    )

Offline

#3 2019-12-29 10:48:22

Shin
Member

Re: ルックアップについて

根本的に、
> マスタデータには速報系と通常系の2種類があり、一定時間が経つと速報系から通常系にデータが移動し蓄積されます。通常系に移った場合は速報系からデータが消失します。
という運用では、厳格な意味でのマスターテーブルでは無いです。
データはすべて通常系に保存し、速報系か通常系かのフラグを持たせるべきでしょう。
どうしても速報系というテーブル(マスターという概念ではありません)が必要でしたら、通常系にシリアル番号などのユニークなフィールドを設けて、それを取り込んで通常系マスターを参照するべきです。

この構造でしたら、他のテーブルから参照する際に、小細工は要りません。

Last edited by Shin (2019-12-29 16:58:36)

Offline

#4 2019-12-29 17:20:23

ウィン
Member

Re: ルックアップについて

hiroさんいつもありがとうございます。またその他多くの方々のアドバイスがファイルメーカーを面白くしてくれています。

無駄に実データのフィールドを作り、ユーザーに瀕雑な入力をさせて、重複データを多く作らせていました。元々あるマスタデータもうまく活用出来ずにいました。
hiroさんのアドバイスやヒントが間違いに気付かされます。本当にありがたいです…

このところ様々なアイデアが生まれたり、実データのしっかりした流れ、正常化がどんどん進んでいます。
計算フィールドによる視覚的自動化が便利で非常に見やすいものになってきました。今までスクリプトから逃げていた自分が恥ずかしい。
物凄い面白くなり18時間もぶっ通しで作業しちゃいました。
肝心なデータでどうしてもレコードに書き込みたいものはマスターから照合フィールドを用いてルックアップ・再ルックアップする方法も分かりデータベースに広がりを見せています。

テーブルオカレンスが多対多になりがちで見にくかったりするのでスマートな作りを目指しています。
オカレンスとリレーション、スクリプトをしっかりと理解しないと理想的なデータベースは作れませんね。理想と現実をしっかりとすり合わせて今後も頑張ります。

しかし、ここの皆さんのアイデアにはいつも脱帽です。特にhiroさんの書く変数を用いたスクリプトが本当に凄いです。

本当にありがとうございます!!またよろしくお願いいたします。

Offline

#5 2019-12-29 17:31:09

ウィン
Member

Re: ルックアップについて

>厳格な意味でのマスターテーブルでは無いです。
確かにその通りですね。トランザクションですよね。

http://cattle.x-winz.net/edb2_manual/12 … _RACE.html
この同じ構造のものが通常と速報で2種類あります。

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.034 seconds, 10 queries executed - Memory usage: 516.09 KiB (Peak: 521 KiB) ]