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