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

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

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

You are not logged in.

Announcement

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


#1 2017-04-12 13:20:17

hiroito
Member

連続した日付の期間計算

はじめまして。
どのようにして計算をしたらよいのか分からずにいます。
ご教授いただけると、大変助かります。

Filemaker Pro 8 を使用しています。

人   薬    日付
A   薬a   2017/3/1
A   薬a   2017/3/2
A   薬a   2017/3/3
A   薬a   2017/3/4   4日間
A   薬a   2017/3/28
A   薬a   2017/3/29
A   薬a   2017/3/30
A   薬a   2017/3/31
A   薬a   2017/4/1   5日間
B   薬c   2017/3/4

上記のような場合に、同じ人、同じ薬の連続投与日数を求めたいと考えています。
理想としては、右に書かれているような、連続投与期間を求めたいです。

よろしくお願いいたします。

Offline

#2 2017-04-12 14:26:37

チポ
Member

Re: 連続した日付の期間計算

日付フィールドの前日のフィールドを作り、
自己リレーションを
  人 = 人
  and
  薬 = 薬
  and
  前日 = 日付
として、

連続日数フィールドの計算式
  自己リレーション::連続日数 + 1

で求められます。


これを、例で書かれた様に連続が途切れた日だけで表示するには

日付フィールドの翌日のフィールドを作り、
上記と同様にリレーションし(自己リレーション2 とします)、
表示用フィールドの計算式
  Case ( not IsValid ( 自己リレーション2::日付 ) ; 連続日数 ; "" )
とすればいいですね。


連続日数フィールドは参照の連鎖になっていますので、
レスポンスに問題が出るようでしたら、
ルックアップでフィールド値として取り込めばいいでしょう。

Offline

#3 2017-04-12 16:11:05

Hiro
Member

Re: 連続した日付の期間計算

現在の対象レコードを対象に集計できる案、
変数計算値の全置換で実装したサンプルです。

●サンプル「連続日数.fp7」→ http://yahoo.jp/box/yoJqNT

Offline

#4 2017-04-12 23:20:16

hiroito
Member

Re: 連続した日付の期間計算

ご返答ありがとうございます。

大変初歩的な質問で恐縮なのですが、

連続日数フィールドの計算式
  自己リレーション::連続日数 + 1

連続日数フィールドの計算式を作る際に、「自己リレーション::連続日数」が選択するところに
表示されていないので、どのように作成してよいのか分からずにいます。

なにか勉強するべき方法があるのでしょうか。

Offline

#5 2017-04-13 09:18:01

チポ
Member

Re: 連続した日付の期間計算

> 自己リレーション::連続日数
この
  自己リレーション
はリレーションシップグラフでのテーブル名のことです。

Offline

#6 2017-04-17 13:41:43

hiroito
Member

Re: 連続した日付の期間計算

ご返信ありがとうございます。

「連続日数」というフィールドの計算式の中に、そのフィールド自身の「連続日数」というのフィールドを組み込むことができるのか
そこが分からずにいます。

お手数をおかけして、申し訳ないです。

Offline

#7 2017-04-17 13:58:18

チポ
Member

Re: 連続した日付の期間計算

自己リレーションは出来ましたか?

出来ていれば、
計算式の指定窓で、フィールド一覧の上の
「現在のテーブル(テーブル名)」
をプレスすると、その自己リレーション先のテーブル名が表示されますから、
それを選択して、
連続日数フィールドを選択します。

ですから、
そのフィールド自身ではなく、他のレコードのフィールドを指定するのです。

Offline

#8 2017-04-17 14:11:54

hiroito
Member

Re: 連続した日付の期間計算

何度もありがとうございます。

自己リレーションはできました。
連続日数の計算式も「自己リレーションテーブル名::連続日数+1」
を組み込むところまでできました。

しかし、表示される結果がすべて「?」となってしまっています。
計算結果を「数字」や「日付」と変更してみましたが、うまくいきませんでした。
すみません、これの解決方法はあるのでしょうか。

Offline

#9 2017-04-17 14:42:02

チポ
Member

Re: 連続した日付の期間計算

ああ、ごめんなさい。。。
前日のレコードの有無の評価が必要でした。

計算式を
  Case ( IsValid ( 自己リレーション::日付 ) ; 自己リレーション::連続日数 + 1 ; 1 )

このように変更してください。
お詫びして訂正をお願いいたします -_-

Offline

#10 2017-04-19 19:15:12

hiroito
Member

Re: 連続した日付の期間計算

ありがとうございます!

解決することができました。
また、大変勉強になりました。

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: 561.01 KiB (Peak: 579.62 KiB) ]