みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
初心者ですみません。
フィールド 「ID」「測定日」「体重」があります。
体重の測定月で検索をかけると、対象者の一覧表がでるようなレイアウトをつくりました。
さらに、体重の値の横に過去の体重(例えば3ヶ月前)を表示するにはどのようにすればよいでしょうか。
例)
ID 体重kg 測定日 体重kg(3ヶ月前) 体重kg(6ヶ月前)
______________________________________________________________
12345 50 2000/1/1 48 45
______________________________________________________________
54321 80 2000/1/10 82 85
______________________________________________________________
こんな感じです。体重(3ヶ月前,6ヶ月前)を求めるための計算式やリレーションで簡単な方法があれば教えてください。
よろしくお願いいたします。
Last edited by shimo5501 (2018-01-31 16:28:41)
Offline
測定は月1回ですか?
ならば、
年月フィールドと、それから、
3ヶ月前フィールド
6ヶ月前フィールド
を作ってそれぞれリレーションすればいいですね。
Offline
実際に運用すると、3ヶ月前の定義を考えないといけないでしょうね。
例えば、12月1日の3ヶ月前は9月1日ですが、8月31日と9月30日があればどうするか、とか。その月が測定が抜けていればどうするか、など
Offline
チポさん
返信ありがとうございます。
測定は月1回です。
3ヶ月前フィールド=Month ( 測定日 ) - 3 でよいでしょうか。
具体的にリレーションのやり方教えていただいてよろしいですか?
無知ですみません。
Offline
Shinさん
返信ありがとうございます。
たしかに運用面まで考えていませんでした。
もしも、先ほどの内容の解決策があれば教えてください。
Offline
Date ( Month ( 検査日 ) - 3 ; 1 ; Year ( 検査日 ) )
で、3ヶ月前がでます。これの年月情報を使えばいいです。
Offline
日付の年月からその3ヶ月前、6ヶ月前でいいのなら、
年月フィールドの計算式
年 * 12 + 月
結果は分かりにくいですが、これだと年が変わっても連続した数値になりますから、
これから
- 3
- 6
を得れば3ヶ月前、6ヶ月前の値が得られます。
リレーションは
ID = ID
and
3ヶ月前 = 年月
6ヶ月前も同様に考えればいいですね。
> 3ヶ月前フィールド=Month ( 測定日 ) - 3
これでは年をまたいだときに困ります。
Offline
初心者で何度もすみません。
・年月フィールドに計算式をいれればよいのでしょうか?
・3ヶ月前、6ヶ月前の体重の値をかえすのが、3ヶ月前フィールドと6ヶ月前フィールド でよいでしょうか?
申し訳ありません。
もうすこし詳しくお願いできませんでしょうか。
Offline
計算フィールド「年月」の計算式
Year ( 測定日 ) * 12 + Month ( 測定日 )
計算フィールド「三ヶ月前」の計算式
年月 - 3
自己リレーション
ID = ID
and
三ヶ月前 = 年月
これで、
三ヶ月前体重 = 自己リレーション::体重
で求められます。
三ヶ月前体重は、関連フィールドの配置で表示できますから、フィールドを作る必要は特にないでしょう。
六ヶ月前も同様に考えます。
Offline
チポさん
丁寧な解説ありがとうございました。
表示することができました。
Offline
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 562.04 KiB (Peak: 581.7 KiB) ]