みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
FM16 WIN10です
開始時間と終了時間を入力するデータベースをつくっています
毎日、複数の対象に対して入力します
2017/12/05 A 8:00 20:00 12時間
2017/12/05 B 7:00 14:00 7時間
といった感じです
このとき、
2週間で100時間、月に180時間という上限を設定し、
2週間単位、月単位で集計して、それが上限をこえていないかを計算するには
どうしたらいいでしょうか?
Last edited by LZZY (2017-12-05 17:42:20)
Offline
無難なのは、2週間単位や月単位といった集計基準となるテーブルとそのレコードを用意し、
記録と日付の範囲でリレーションシップを定義。
時間数を集計テーブル側でSum()すれば合計時間が出ます。
Offline
月単位の集計は、年月のフィールドを作り、リレーションで集計できますので、簡単でしょう。
2週間、というのが少し面倒かも。どのような区切りでの2週間の計算ですか。うまくいくと、Div ( 日付 ; 14 ) で求められる数値でリレーションを張れば、うまく区切れるかもしれません。
Offline
月の1から数えはじめて、2週間、月2つのグループということになります
第1週と第2週で1グループ3,4が2グループといった感じです
Excelでは
=INT((WEEKNUM(…)-1)/2)+1
という処理にして、1グループと2グループを識別して計算していました
Offline
WeekOfYear や WeekOfYearFiscal が似た関数です。
Offline
どちらを使いどのような式にしたらできますか?
上記のExcelでの式も、ひとに教えて頂いたので
自分でファイルメーカーの式がかけそうにありません
Offline
目的をリレーション集計法で実装する作例サンプルをアップしました。
集計期間の開始日と終了日を算出して、それを照合キーに自己リレーションを組み、
期間内集計をしています。
●サンプル「複数期間内同時集計.fmp12」 → https://yahoo.jp/box/ISQViB
Offline
どちらを使いどのような式にしたらできますか?
何週、という定義を書き出してください。
例えば、1月1日が土曜日だった場合、1月2日は第何週ですか、1月3日は... という具合です。
Offline
Hiroサンのサンプルを見ていないので重複等ご容赦を
WeekOfYear
WeekOfYearFiscal
どちらも、年初でその値がリセットされます。
年をまたいだときに不都合がでる恐れがありますね。
週を定義した、最初の曜日となる適当な過去の日を起点にして、
それから14日ごとをグループとすればいいでしょう。
Offline
みなさま、すみません
私が勘違いしていました
2週間の集計というのは間違いでした
"1週間に2回だけ、1レコードあたりの時間が10時間を超えて良い"、でした
月火水木金土日 のうち2日のみ10時間以上になってもいい、ということです
そして、月の合計が180時間以内、それを超えたら、-1時間、といった表示にしたいです
Offline
> "1週間に2回だけ、1レコードあたりの時間が10時間を超えて良い"
これをどうするのでしょうか?
結果の入力なら、
3回目でアラートでは遅過ぎるでしょうし・・
2回目でアラート?
また、
> 月の合計が180時間以内、それを超えたら、-1時間、といった表示にしたいです
これはどういうことでしょうか?
Last edited by チポ (2017-12-06 17:26:16)
Offline
週間の制限は、Div ( 日付 - 1 ; 7 ) というフィールドを作り、自己リレーションします。そのリレーション先で10時間を越えるレコードを数えればいいです。
月間は、Year ( 日付 ) * 12 + Month ( 日付 ) というフィールドを作り、自己リレーションします。そのリレーション先の時間を合計すればいいです。
https://www.dropbox.com/s/by44mvvq3f3am … 7.zip?dl=0
Last edited by Shin (2017-12-06 18:08:49)
Offline
ありがとうございました
参考にしてがんばってみます
Offline
Pages: 1
[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 526.39 KiB (Peak: 547.3 KiB) ]