みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
お世話になります。(FileMaker17 Win8です)
以前、「クロス集計のデータの表示がうまくいかない」
というトピで助けていただいたminamiと申します。その節はありがとうございました。
おかげさまでHiroさんの作っていただいたサンプルファイルを元に一週間の予定が完成し、問題なく動いているのですが、このたび、「週の予定明細データを、毎月のデータとして反映させろ」との指示がありまして、上手くいかず悩んでおりました。
今までは週予定で曜日だけを重視していましたので、日付という概念が無くても良かったのですが、今回は月ごとに、今までの週のデータを反映させなくてはいけなくなりました。
現在の週の予定明細は
曜日 区分 開始 終了 担当
月曜日 A 13:00 14:00 担当A
月曜日 A 13:30 14:30 担当B
火曜日 A 10:30 11:30 担当C
火曜日 A 12:30 13:30 担当D
火曜日 B 17:30 19:30 担当D
水曜日 A 10:00 11:30 担当E
木曜日 A 12:30 13:30 担当F
木曜日 B 18:00 19:00 担当G
金曜日 A 12:30 13:30 担当H
このようなデータでしたが、
今後は1か月ごとに日付や曜日に反映させ、
5月1日 金曜日 A 12:30 13:30 担当H
5月4日 月曜日 A 13:00 14:00 担当A
5月4日 月曜日 A 13:30 14:30 担当B
5月5日 火曜日 A 10:30 11:30 担当C
5月5日 火曜日 A 12:30 13:30 担当D
5月5日 火曜日 B 17:30 19:30 担当D
,
,
,(2週目)
5月8日 金曜日 A 12:30 13:30 担当H
5月11日 月曜日 A 13:00 14:00 担当A
5月11日 月曜日 A 13:30 14:30 担当B
5月12日 火曜日 A 10:30 11:30 担当C
5月12日 火曜日 A 12:30 13:30 担当D
5月12日 火曜日 B 17:30 19:30 担当D
,
,
(3週目、4週目・・・)
というような各月ごとのデータを作成しなくてはいけなくなりました。
そこで、月のカレンダーデータを生成させるために、
別テーブルに、開始日と日付設定の繰返しフィールド 31日分を作り
日付設定の計算式
Let (
d = 開始日[1] - Day (開始日[1] ) + Get ( 計算式繰り返し位置番号 ) ;
Case ( Month ( d ) = Month ( 開始日[1] ) ; d ; "" )
)
を設定し、
更に、その繰返し分の日付設定を参照しながら上から順番にLOOP処理で、1カ月分の日毎データを作くり、元々のデータを順番に当てはめていこうと試みましたが、元々の週のデータが月曜日だけでも2~6データあったり、曜日によって複数あるので、上手くいきませんでした。どのようにして各月に反映させれば良いのか、アドバイスを頂けないでしょうか。宜しくお願いいたします。
週単位の予定を月に展開するだけでしたら、
現在の週ごとの予定表に、繰り返しフィールドで、
Let (
[
W1 = 曜日[1] ;
D0 = 基準日[1] ;
D1 = D0 - Day ( D0 ) ;
D = D1 - Mod ( DayOfWeek ( D1 ) - W1 + 7 ; 7 ) + Get ( 計算式繰り返し位置番号 ) * 7 ;
] ;
Case ( Month ( D0 ) = Month ( D ) ; D )
)
とします。曜日は、各レコードに、日曜日:1, 月曜日:2 .... という値を設定します。基準日は、その月内でしたらどの日付でもいいです。
それを、日毎を管理するテーブルから、繰り返しを別レコードにするようにインポートすればいいでしょう。
Last edited by Shin (2020-05-03 16:50:16)
Offline
1日ずつ曜日で抽出してインポートでもいいのでは。
30回ほどですから一瞬でしょう。
Offline
Shinさんありがとうございました。 バンザーイ!★★★★
1日ずつの抽出してインポートすることで可能になりました。
指定の1ヵ月カレンダーの日の順番で曜日を取得し
週のデータを、その取得された曜日ごとに絞り込んで、インポートすることで解決いたしました。
ありがとうございました。
一挙にレコードを作るサンプルです。loopを使っていませんので、簡単です。
https://www.dropbox.com/s/9k5qbi4eff3uz … 2.zip?dl=0
Offline
Shinさんサンプルまでありがとうございます。
凄いです!LOOP処理も必要ないのですね。めちゃめちゃ早いです。
ありがとうございました。
いちを解決したのですが、
Shinさんに質問がしたくて、再度投稿させてください。
サンプルFileのDOWフィールドの数値は都度手打ちになるのでしょうか・・・
それとも計算式のようなものはあるのでしょうか
よろしくおねがいいたします。
失礼しました
DayOfWeek ( 日付 )
でした。
Pages: 1
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 539.44 KiB (Peak: 544.34 KiB) ]