みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
OS:[Win7]
FileMaker Ver:[ FileMaker Pro Advanced14 ]
ご質問大変失礼致します。
カスタム関数のBusinessDays 関数を編集したいのですが、
どのようにしたら下記のように表示するか御教示御願い致します。
【質問】
http://www.fmpro.jp/fmi/xsl/plugin/cf.xsl?ID=0014
上記記載の動作だと第2,第4土曜日が休日となり営業日としてカウントされないが、
万が一、開始日or終了日が土曜日だった場合、営業日としてカウントするように設定するには、
どうしたらよいのでしょうか。
大変お手数おかけしますが、ご回答御願い致します。
カスタム関数はそのままにして、
Let (
[
~startDate = Date ( 1 ; 15 ; 2016 ) ;
~endDate = Date ( 1 ; 21 ; 2016 )
] ;
BusinessDays ( ~startDate ; ~endDate ) +
( DayOfWeek ( ~startDate ) = 6 ) +
( DayOfWeek ( ~endDate ) = 6 )
)
でどうでしょうか?
普通に計算して、開始日=6(土曜日) だったら +1 、終了日=6(土曜日) だったらさらに +1。
土曜日以外だったら、( DayOfWeek ( ~startDate ) = 6 )この部分が 0 になりますので、プラスされません。
社本さん。その説明は自称初心者の方には辛いでしょう。
この場合、開始日も終了日もフィールドがあるから、
Let関数なんか使わずに単に
BusinessDays ( 開始日 ; 終了日 ) +
( DayOfWeek ( 開始日 ) = 6 ) +
( DayOfWeek ( 終了日 ) = 6 )
と簡潔にすべきでしょう。
ステップアップしてもらうために
あえて
Case (( DayOfWeek ( 開始日 ) = 6 );1) +
Case (( DayOfWeek ( 終了日 ) = 6 );1)
としてもいいかもね。
作者様、とおりすがり様
ご回答ご意見ありがとうございました。
営業日及び作業時間を算出する関数等ですが…、
イレギュラー的なところも加味してしまうと、本当きりのない補正が必要なのですね…。
御二方の例文を参考にし、イメージに近い動作になりました。
創意工夫を加え良いDBを作成していきます。
また壁にぶつかった際はお力ご指導御願い致します。
Pages: 1
[ Generated in 0.004 seconds, 8 queries executed - Memory usage: 507.93 KiB (Peak: 512.84 KiB) ]