みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
FMA 14 / Win7
いつも拝見し、勉強させて頂いております。
今回ご質問させて頂く内容ですが、
現在、今月分の月の累計値と第1週・・・第5週までの各週の予定・実績が表示される集計表を作成しているのですが、
今月のように7/1が土曜スタートで6週まである月の場合のみ、週の設定を7/1~7/8までを1週目と設定を行いたいと思っております。
※7/30と31は5週目で大丈夫です。
現状の設定方法は各集計値を取得する項目に別途週を取得するFを設け、
日付が入力されたタイミングでその日付が何週目に値するのか出しています。
【計算式】
Div ( Day ( 日付 ) +
DayOfWeek ( Date ( Month ( 日付 ) ; 1 ; Year ( 日付 ) ) ) - 2 ; 7 ) + 1
【リレーション】
年月 = 年月(取得する項目に入力された日付をもとに作成したF)
1週目 = 上記で取得した週
良い方法があればご教示を頂きたいです。
Offline
日曜日から始まる月間カレンダーで6週がある月も、
最大5週に圧縮して、日付から週番を求める式、
Let(
[
#start=Date(Month(日付);1;Year(日付));
#start=#start-DayOfWeek(#start)+1;
#end=Date(Month(日付)+1;0;Year(日付));
#end= #end-#start+1;
#start=日付-#start+1
];
Max(Div(#start-1;7)+(#end<=7*5); 1)
)
Last edited by Hiro (2017-07-25 01:05:35)
Offline
その月の2日を基準にすればいいだけの話なので、
Max ( Div ( 日付 ; 7 ) - Div ( Date ( Month ( 日付 ) ; 2 ; Year ( 日付 ) ) ; 7 ) ; 0 ) +1
でどうでしょう
Last edited by Shin (2017-07-25 09:36:49)
Offline
Hiroさん
ご教示頂いた方法を試したところ考えていた結果が得られました。
本当にありがとうございました!
日曜日から始まる月間カレンダーで6週がある月も、
最大5週に圧縮して、日付から週番を求める式、Let(
[
#start=Date(Month(日付);1;Year(日付));
#start=#start-DayOfWeek(#start)+1;
#end=Date(Month(日付)+1;0;Year(日付));
#end= #end-#start+1;
#start=日付-#start+1
];
Max(Div(#start-1;7)+(#end<=7*5); 1)
)
Offline
Pages: 1
[ Generated in 0.007 seconds, 8 queries executed - Memory usage: 507.87 KiB (Peak: 512.41 KiB) ]