Skip to main content

お世話になります。どなたかご教示いただければと思います。

稼働日のみの日付の加算、減算について稼働日カレンダーマスタの休暇フラグを読み込まずに

dateaddか他関数を使用して、日付加算をしたいのですがご教示頂けないでしょうか?

データとしましては2種類あります。

・稼働日カレンダー

・結合先データ

稼働日カレンダーに対して結合先データを外部結合し、以下のイメージ通りにアウトプット出来ればと思います!

稼働日のみの日付加算について

 

よろしくお願いいたします!!

12 个回答
  1. 2019年10月23日 14:22

    管理番号ごとに3営業日後を計算したいということですので、この場合は結合を変更して少し力業をすればLOD表現で取得可能です。

     

    まずは結合先データに対して稼働日カレンダーを内部結合します。

    このとき、符号を不等号にしておきます。

    管理番号ごとに3営業日後を計算したいということですので、この場合は結合を変更して少し力業をすればLOD表現で取得可能です。 まずは結合先データに対して稼働日カレンダーを内部結合します。このとき、符号を不等号にしておきます。 次に、Holidayに該当するデータを除外します。データソースフィルターが適切ですが、ここでは外していることが分かるようにコンテキストフィルターにしています。 これにより、ひと

     

    次に、Holidayに該当するデータを除外します。

    データソースフィルターが適切ですが、ここでは外していることが分かるようにコンテキストフィルターにしています。

    pastedImage_6.png

    pastedImage_7.png

     

    これにより、ひとつの管理番号につき、「その発行日よりも後の日付である」かつ「Holidayではない」データだけが残ります。

    データソースは次のようになっているイメージです。

    pastedImage_8.png

     

    あとは計算フィールドで「3番目に小さいto_date」を特定します。

    これが少々力業なのですが、LOD表現で最も小さい(1番目に小さい)to_dateを特定し、さらにその情報を使って2番目に小さいto_dateを特定し、さらにその情報を使って3番目に小さいto_dateを特定するという過程を踏みます。

    pastedImage_11.png

     

    これで管理番号ごとの「発行日から3営業日後の日付」を表示することができます。

    pastedImage_12.png

    (ここで管理番号:S000012の3営業日後の日付がNULLになっているのは、単純に3営業日後を判定するためのカレンダーが存在しないためです。)

0/9000