firstworkdate - スクリプトおよびチャート関数
firstworkdate 関数は、end_date までに no_of_workdays (月~金曜日) の日数に達するように、オプションで指定された休日を考慮した最遅開始日を返します。end_date および holiday は有効な日付またはタイムスタンプでなければなりません。
構文:
firstworkdate(end_date, no_of_workdays {, holiday} )
戻り値データ型: integer
引数:
引数
end_date
|
評価する終了日のタイムスタンプ。 |
no_of_workdays
|
作成する作業日数。 |
holiday
|
作業日から除外する休日期間。休日は文字列定数の日付として示されます。コンマで区切り、複数の休日を設定できます。
'12/25/2013', '12/26/2013', '12/31/2013', '01/01/2014'
|
これらの例は、日付書式 DD/MM/YYYY を使用しています。日付書式は、データ ロード スクリプト上部の SET DateFormat ステートメントで指定されています。必要に応じて、書式を変更してください。
スクリプトの例
firstworkdate ('29/12/2014', 9)
|
'17/12/2014' を返します。 |
firstworkdate ('29/12/2014', 9, '25/12/2014', '26/12/2014')
|
2 日間の休日期間を考慮したため、'15/12/2014' を返します。 |
アプリにスクリプト例を追加して実行します。結果を表示するには、結果列に含まれている項目をアプリのシートに追加します。
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 |