はじめに
2つの日付を平日/営業日の差として計算したい場合は、Beast ModeまたはSQL DataFlowでクエリを使って行うことができます。SQLクエリ
次のSQLクエリをコピーして、Beast ModeまたはDataFlowに貼り付けます。「Start Date」と「End Date」は対応するデータ列に置き換えます。解決策の詳細とステップ
- 開始日と終了日が同じ場合は0を返します。
- 開始日と終了日が異なるとき、いずれかの日付が週末にあたる場合は、終了日を金曜日に、開始日を月曜日に移動します。次に、減算を行って日付の差を特定します。これにより、開始日と終了日から週末の日付が除外されます。
- 開始日の週の番号が終了日の週の番号と等しい場合は0を返します。等しくない場合は終了日の週の番号を返します。
- 開始日の週の番号が終了日の週の番号と等しい場合は0を返します。等しくない場合は開始日の週の番号を返します。この週の番号はステップ3で計算された終了日の週の番号から減算されます。次に2で乗算します。これは開始日と終了日の範囲内に含まれる週末の日数の合計になります。
- 最後に、上記のステップ2で計算された日付の差から週末の日数の合計が減算されます。
注記: SQLクエリは日付が同じ年内である場合にのみ動作します。異なる年の日付を比較する必要がある場合は、代わりにMagic ETLメソッドを使用してください。
Magic ETL
- 入力DatSetタイルを日付演算タイルに接続します。
-
以下に示すようにタイルを設定します。
注記: ステップ4では、この関数は日付を減算するので、最初に終了日を、次に開始日を必ず選択します。最初に開始日を入力するとマイナスになります。
