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

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

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

You are not logged in.

Announcement

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


#1 2018-10-17 20:31:33

sawako
Member

1週間前と現在の体重を比べたい

初めまして。

ダイエットのために体重を記録し始めました。
当日の体重を入力すると、その横に、自動で前のレコードの体重との差が出るようにしています。
例えば、50.0kgと入力するとその横に -0.3kgと自動で表示されます。

これは前回比というフィールドを作り
(体重) -  GetNthRecord ( 体重 ; Get ( レコード番号 ) - 1 )
で、うまくいきました。

できれば、1週間前(2週間前、3週間前……)との比較も自動で表示させたいのですが
うまくいきません。

1日1度しか体重は入力しないため、同じ日付が複数のレコードにまたがることはありません。
特定の日付のあるレコードから特定のフィールドの内容を返す方法ということになるのでしょうか?

どうかご教示よろしくお願いいたします。

Offline

#2 2018-10-17 22:09:08

Shin
Member

Re: 1週間前と現在の体重を比べたい

必ず、1日一レコード作られているのでしたら、
GetNthRecord ( 体重 ; Get ( レコード番号 ) - 1 )
の最後の数字を7にすれば7日前、14にすれば14日前の計算ができます。

Offline

#3 2018-10-17 23:56:48

Hiro
Member

Re: 1週間前と現在の体重を比べたい

日付を元に、繰り返し計算フィールドに「5週次比較推移表」を計算式だけで
算出するとてもシンプルな作例サンプルです。
※こちらは、『必ず、1日1レコード作る』必要はありません。サボリもOKです。
また、
比較週数の変更も、フィールド設定で繰り返し回数を変えるだけで、非常に簡単です。

●サンプル「体重表.fmp12」 → https://yahoo.jp/box/DL0g65


「週次比較表」繰り返し計算フィールドの式は、
===========================
ExecuteSQL(
   "
      SELECT ? - ""体重""
      FROM ""マスタテーブル""
      WHERE ""日付""=?
   "
   ; ""
   ; ""
   ; 体重[1]
   ; 日付[1] - 7*Get(計算式繰り返し位置番号)
)
===========================

【サンプル・スクリーンショット】
サンプル・スクリーンショット

Last edited by Hiro (2018-10-18 00:45:37)

Offline

#4 2018-10-18 12:00:02

sawako
Member

Re: 1週間前と現在の体重を比べたい

Shinさま

ご返信ありがとうございます。
測り忘れや不在時などに対応したいため、
レコード番号以外の方法がないかと思っておりました。
付記し忘れており、すみませんでした。
ありがとうございました。

またわからないことがあった時は
どうぞよろしくお願いいたします。

Offline

#5 2018-10-18 12:36:57

sawako
Member

Re: 1週間前と現在の体重を比べたい

Hiroさま

ご返信ありがとうございます。
また、サンプルをありがとうございます!
ダウンロードさせていただきました。
こういう方法があるのですね。

今使っているものに組み込みたいと思います。
その際にわからないことがあれば
また質問させていただくかもしれません。
どうぞよろしくお願いいたします。

うまくいった場合もご報告いたします。
ありがとうございました。

Offline

#6 2018-10-18 23:43:10

sawako
Member

Re: 1週間前と現在の体重を比べたい

Hiroさま

昨日はサンプルをありがとうございました。
早速いただいたものを使い
===========================
ExecuteSQL(
"
   SELECT ? - \"体重\"
   FROM \"ダイエット\"
   WHERE \"日付\"=?
"
; ""
; ""
; 体重[1]
; 日付[1] - 7*Get(計算式繰り返し位置番号)
)
===========================
にしたのですが、フィールドに何も表示されません。
ExecuteSQLの関数を理解できていないので
(クエリとは何?というレベルです)
テーブル名のダイエットだけ置き換えてみたのですが……

フィールド定義等が、Hiroさんのものと違っているのかもしれません。
一応比較してみたのですが、体重は数字、日付は日付にしています。
可能性があることがあればご指摘いただければ幸いです。

Offline

#7 2018-10-19 00:20:19

Hiro
Member

Re: 1週間前と現在の体重を比べたい

設定は合っているとしても、
表示には、
最低でも1週間前のデータレコードが必要!
この点は?

Offline

#8 2018-10-19 19:06:52

sawako
Member

Re: 1週間前と現在の体重を比べたい

Hiroさま

ご返信ありがとうございます。
ご指摘の通り、
ちょうど今日が計量8日目でした。
入力した途端に表示されました!お騒がせしてすみませんでした。

-7のところを-90 -180などとすると
3ヶ月前や半年前との差もわかるのですね。
本当にありがとうございました。
ダイエット頑張ります。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.008 seconds, 9 queries executed - Memory usage: 563.17 KiB (Peak: 582.41 KiB) ]