firstworkdate - スクリプトおよびチャート関数
firstworkdate 関数は、end_date までに no_of_workdays (月~金曜日) の日数に達するように、オプションで指定された休日を考慮した最遅開始日を返します。end_date と holiday は、有効な日付またはタイムスタンプでなければなりません。
構文:
firstworkdate(end_date, no_of_workdays [, holiday] )
戻り値データ型:整数
引数:
引数 | 説明 |
---|---|
end_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:
firstworkdate ('29/12/2014', 9)
'17/12/2014' を返します。
例2:
firstworkdate ('29/12/2014', 9, '25/12/2014', '26/12/2014')
2 日間の休日期間を考慮したため、'15/12/2014' を返します。
例3:
ドキュメントに例のスクリプトを追加して実行します。その後、結果列に含まれている項目をドキュメントのシートに追加して結果を表示します。
ProjectTable:
LOAD *, recno() as InvID INLINE [
EndDate
28/03/2015
10/12/2015
5/2/2016
31/3/2016
19/5/2016
15/9/2016
] ;
NrDays:
Load *,
FirstWorkDate(EndDate,120) As StartDate
Resident ProjectTable;
Drop table ProjectTable;
結果テーブルには、テーブルの各レコードに対する FirstWorkDate の戻り値が表示されます。
InvID | EndDate | StartDate |
---|---|---|
1 | 28/03/2015 | 13/10/2014 |
2 | 10/12/2015 | 26/06/2015 |
3 | 5/2/2016 | 24/08/2015 |
4 | 31/3/2016 | 16/10/2015 |
5 | 19/5/2016 | 04/12/2015 |
6 | 15/9/2016 | 01/04/2016 |