はじめまして。初めて投稿いたします。
現在、入金が発生すると自動的に会員の期限日が挿入されるフィールドを作成しようと考えております。
例えば入金日が2018年1月1日で3,000円の入金があった場合、かつ1ヶ月の会費が500円の場合
2018年7月31日と入力をさせたく考えております。(翌月から加算)
data(Month ( 入金日 ) + (3000/500)+1;0;year(入金日))等で入金日翌月より6ヶ月先の日付が出せると思うのですが、
同じ人が入金を会員期間中にする場合があり、入金日を起算とする計算式では会員期限が延長されないためどのように値を保持しておけばよいか困っております。
下記に行いたい動作を記載させていただきます。
入金日 入金額 会員期限(自動入力)
2018年1月1日 3000 2018年7月31日
2018年5月1日 2000 2018年11月30日
2019年1月1日 1000 2019年3月31日
と上記のように会員期限が自動入力される機能です。
どのような方法があるかご教授いただければ幸いです。
お手数をおかけいたしますがよろしくお願い申し上げます。
入金時以前の入金金額の総額を求め、入会日(最初の入金日)に対して期間を計算すればいいでしょう。
ID と入金日(自分より以前)で自己リレーションを張り、入金日で昇べきにソートします。次の式で求められます。
Let (
[
d0 = community192339 2::入金日 - 1 ;
m = Div ( community192339 2::s_金額 ; 500 )
] ;
Min ( Date ( Month ( d0 ) + m ; Day ( d0 ) ; Year ( d0 ) ) ; Date ( Month ( d0 ) + m + 1 ; 0 ; Year ( d0 ) ) )
)
Dropbox - community192339.fmp12.zip