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

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

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

You are not logged in.

Announcement

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


#1 2018-08-21 09:49:39

kubota
Member

算出方法について

久しぶりに質問させていただきます。
win10、FM13の環境です。

以下のとおりデータがあります。
Aは最小8から最大60まで、Bは最小3から最大40までの数値があり、AとBに対してCの値があります。
データの総数は900ほどあります。

テーブル1
A      B     C
8      3     0.01
8      4     0.02

10        3     0.02
10        4     0.03

60        39     4.96
60        40     5.08

テーブル2
A      B     C
70      30    ?
そこで、お尋ねですが、テーブル2のAに70、B30を入力したときに、Cの値を算出したいのですが良い方法がありましたら、教えていただけると助かります。
よろしくお願いします。

Offline

#2 2018-08-21 10:56:30

Hiro
Member

Re: 算出方法について

・「A」と「B」同士でリレーションを組み、その関連フィールド「テーブル1::C 」が答え。
・計算式だけの方法も考えられます。
      ExecuteSQL(" SELECT ""C"" FROM ""テーブル1"" WHERE ""A""=? ""B""=? "; ""; ""; A; B)

Offline

#3 2018-08-21 10:57:52

Shin
Member

Re: 算出方法について

テーブル2のA、B から、テーブル1のA、B にリレーションをはり、C を関連レコードとして表示させるか、ルックアップするのがいいでしょう。

Offline

#4 2018-08-21 11:11:07

チポ
Member

Re: 算出方法について

> Aは最小8から最大60まで
これなのに、
テーブル2のAが70とは?

間違いでなければルールの説明が必要です。

Offline

#5 2018-08-21 11:23:53

kubota
Member

Re: 算出方法について

Hiro様、Shin様、早速、ご教授いただきありがとうございます。

私の説明がわかりにくかったのかもしれませんが、テーブル2のAとBの組み合わせは、テーブル1に該当しないものです。
テーブル2のAとBに入力した値が、テーブル1に該当があれば、リレーションかルックアップで表示できますが、該当しない場合にテーブル2のCを計算式で算出したいと考えております。

Offline

#6 2018-08-21 12:54:42

Hiro
Member

Re: 算出方法について

その算出式自体の質問ではなく、関連値の有無で結果を分別したいのでしょうか?
つまり、・有れば→関連値、・無ければ→算出値 とする条件判別式ですか?

ならば、求める式はこんなこと?

Let(
   [ #C=ExecuteSQL(" SELECT ""C"" FROM ""テーブル1"" WHERE ""A""=? ""B""=? "; ""; ""; テーブル2::A; テーブル2::B) ];
   Choose(IsEmpty(#C); #C; 計算式)
)

もし事前リレーションを組むなら、Lookup関数の関連外オプション機能を利用して、
   Lookup(関連テーブル1::C; 計算式)

Last edited by Hiro (2018-08-21 13:39:17)

Offline

#7 2018-08-21 13:10:43

チポ
Member

Re: 算出方法について

なら、
Lookup関数
が便利ですね。

Offline

#8 2018-08-21 13:30:09

Shin
Member

Re: 算出方法について

私も、Lookup関数をお勧めします。

Offline

#9 2018-08-21 16:25:27

kubota
Member

Re: 算出方法について

Hiro様、チポ様、Shin様、ご教授ありがとうございました。
Lookupの方法で試してみます。
お世話になりました。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.004 seconds, 7 queries executed - Memory usage: 514.15 KiB (Peak: 518.69 KiB) ]