みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
お世話になります。質問お願い致します。
環境:Filemaker 19
夜勤スタッフの勤怠管理を作っているのですが
時給が4部制となっていて
①18:00~22:00 時給A
②22:00~25:00 時給B
③25:00~27:00 時給C
④27:00~33:00 時給D
という形で以下のスレを検索で見つけて参考にしてやってみたのですが、
こちらは2部制のみでしたので、4部制にする方法が解りませんでした。
https://fm-aid.com/bbs2/viewtopic.php?id=8998
どのようにしたら時間給に4部制の時間給の結果を出せるでしょうか?
ご教授のほど宜しくお願い致します。
Let (
[
sta = GetAsTime ( 出勤 ) ;
end = GetAsTime ( 退勤 ) ;
t0 = Time ( 18 ; 0 ; 0 ) ;
t1 = Time ( 22 ; 0 ; 0 ) ;
t2 = Time ( 25 ; 0 ; 0 ) ;
t3 = Time ( 27 ; 0 ; 0 ) ;
t4 = Time ( 33 ; 0 ; 0 ) ;
s1 = Max ( sta ; t0 ) ;
e1 = Min ( end ; t1 ) ;
s2 = Max ( sta ; t1 ) ;
e2 = Min ( end ; t2 ) ;
s3 = Max ( sta ; t2 ) ;
e3 = Min ( end ; t3 ) ;
s4 = Max ( sta ; t3 ) ;
e4 = Min ( end ; t4 )
] ;
Case ( not ( sta > t1 or end < t0 ) ; e1 - s1 ) * 秒給A
+ Case ( not ( sta > t2 or end < t1 ) ; e2 - s2 ) * 秒給A
+ Case ( not ( sta > t3 or end < t2 ) ; e3 - s3 ) * 秒給A
+ Case ( not ( sta > t4 or end < t3 ) ; e4 - s4 ) * 秒給A
)でいいかも。検証できていません。
Last edited by Shin (2022-12-03 10:29:43)
Offline
ご回答ありがとうございます。
PC環境にないため、まだ確認が出来ていないのですが、
Case ( not ( sta > t1 or end < t0 ) ; e1 - s1 ) * 秒給A
+ Case ( not ( sta > t2 or end < t1 ) ; e2 - s2 ) * 秒給A
+ Case ( not ( sta > t3 or end < t2 ) ; e3 - s3 ) * 秒給A
+ Case ( not ( sta > t4 or end < t3 ) ; e4 - s4 ) * 秒給A
)
とありますが、上から時給A 時給B 時給C 時給D
ということで宜しいでしょうか?
概ねそうです
Offline
試したところ莫大な数字が出ましたが
Case ( not ( sta > t1 or end < t0 ) ; e1 - s1 ) * 1000 / 3600
+ Case ( not ( sta > t2 or end < t1 ) ; e2 - s2 ) * 1500 / 3600
+ Case ( not ( sta > t3 or end < t2 ) ; e3 - s3 ) * 2000 / 3600
+ Case ( not ( sta > t4 or end < t3 ) ; e4 - s4 ) * 2500 / 3600
としたところ正確な時間給が出てきました。だから時給じゃなくて秒給だったんですね。
解決です。ありがとうございました。
Pages: 1
[ Generated in 0.007 seconds, 9 queries executed - Memory usage: 552.55 KiB (Peak: 579.46 KiB) ]