lastworkdate - スクリプトおよびチャート関数
lastworkdate 関数は、オプションで指定された holiday を考慮した上で、start_date に開始した場合に no_of_workdays (月~金曜日) の日数に達する最早終了日を返します。start_date と holiday は、有効な日付またはタイムスタンプでなければなりません。
構文:
lastworkdate(start_date, no_of_workdays {, holiday})
戻り値データ型:デュアル
引数:
引数 | 説明 |
---|---|
start_date | 評価する開始日。 |
no_of_workdays | 作成する作業日数。 |
holiday |
作業日から除外する休日期間。休日期間は、開始日と終了日で指定され、コンマで区切られます。 '25/12/2013', '26/12/2013' コンマで区切ることで、複数の休日期間を除外することもできます。 '25/12/2013', '26/12/2013', '31/12/2013', '01/01/2014' |
例と結果:
これらの例は、日付書式 DD/MM/YYYY を使用しています。日付書式は、ロード スクリプト上部の SET DateFormat ステートメントで指定されています。必要に応じて、書式を変更してください。
例1:
lastworkdate ('19/12/2014', 9)
「31/12/2014」を返します。
例2:
lastworkdate ('19/12/2014', 9, '2014-12-25', '2014-12-26')
2 日間の休日期間を考慮したため、'02/01/2015' を返します。
例3:
ドキュメントに例のスクリプトを追加して実行します。その後、結果列に含まれている項目をドキュメントのシートに追加して結果を表示します。
ProjectTable:
LOAD *, recno() as InvID INLINE [
StartDate
28/03/2014
10/12/2014
5/2/2015
31/3/2015
19/5/2015
15/9/2015
] ;
NrDays:
Load *,
LastWorkDate(StartDate,120) As EndDate
Resident ProjectTable;
Drop table ProjectTable;
結果テーブルには、テーブルの各レコードに対する LastWorkDate の戻り値が表示されます。
InvID | StartDate | EndDate |
---|---|---|
1 | 28/03/2014 | 11/09/2014 |
2 | 10/12/2014 | 26/05/2015 |
3 | 5/2/2015 | 27/07/2015 |
4 | 31/3/2015 | 14/09/2015 |
5 | 19/5/2015 | 02/11/2015 |
6 | 15/9/2015 | 29/02/2016 |