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

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

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

You are not logged in.

Announcement

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


#1 2019-04-19 16:19:06

memn
Guest

請求月を元に、次回交換日を算出するアルゴリズム求む。

お世話になっております。
物品の交換周期を計算フィールドで算出したいです。

フィールド
交換周期(何日ごとに交換するか 基本は14か28です)
前回交換日(前回交換した日付です ランダムな日付が入っています)
請求締め日(15,20,末締めと様々)
フラグ_月一回( 例えば締め日が20日のお客様なら 21日から翌月20日までの訪問回数を1度に抑える という意味のフラグ)
フラグ_月二回( 例えば締め日が20日のお客様なら 21日から翌月20日までの訪問回数を2度に抑える という意味のフラグ)


〜〜例のアルゴリズム〜〜
お客様A
交換周期 28
締め日 20
前回交換日 2019/4/21

この場合、単純に足すと 2019/5/19 だが、ここでお伺いすると5月請求が二回になるのでダメ。
よって、交換周期28 の場合は”"14日""を足して2回請求を回避


お客様B
交換周期 14
締め日 15
前回交換日 2019/4/30

この場合、単純に足すと2019/5/14だが5月請求が2回なのでダメ。
よって 交換周期14 の場合は ””7日”” を足して2回請求を回避


これを ”次回交換日” という計算フィールド一つで計算させたいです。
よろしくお願いします。

#2 2019-04-19 18:12:21

Shin
Member

Re: 請求月を元に、次回交換日を算出するアルゴリズム求む。

Let (
 sd = Date ( Month ( 交換日 - 顧客テーブル::請求締日 ) + 1 ; 顧客テーブル::請求締日 ; Year ( 交換日 - 顧客テーブル::請求締日 ) ) ; // 締日
 交換日
 + Case (
  ( sd - 交換日 ) > 顧客テーブル::交換周期 * 1.5 ; 顧客テーブル::交換周期 ;
  ( sd - 交換日 ) > 顧客テーブル::交換周期 ; 顧客テーブル::交換周期 * 1.5 ;
  顧客テーブル::交換周期
 )
)

で求められる様です。
https://www.dropbox.com/s/a3puar5z1r0r3 … 2.zip?dl=0

( sd - 交換日 ) > 顧客テーブル::交換周期 * 1.5 という条件については、交換周期が28、14日でしたらいいようですが、それ以外ですと検討が必要かもしれません。

Last edited by Shin (2019-04-20 14:51:00)

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 501.92 KiB (Peak: 516.17 KiB) ]