初心者のFileMaker pro Q&A

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

1.ファイルメーカーで解らない事があればここで質問して下さい。

何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

ログインしていません。

アナウンス


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

memn
ゲストユーザー

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

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

フィールド
交換周期(何日ごとに交換するか 基本は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
メンバー

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日でしたらいいようですが、それ以外ですと検討が必要かもしれません。

編集者 Shin (2019-04-20 14:51:00)

オフライン

クィック投稿

メッセージを書いて送信してください。
登録の確認

実在の人物による登録であることを確認します。

Board footer