# firstworkdate スクリプトおよびチャート関数

firstworkdate 関数は、end\_date までに no\_of\_workdays (月～金曜日) の日数に達するように、オプションで指定された休日を考慮した最遅開始日を返します。end\_date および holiday は有効な日付またはタイムスタンプでなければなりません。

構文:

firstworkdate(end\_date, no\_of\_workdays {, holiday} )

戻り値データ型： 整数

引数：

引数

| 引数 | 説明 |
| --- | --- |
| end\_date | 評価する終了日のタイムスタンプ。 |
| no\_of\_workdays | 作成する作業日数。 |
| holiday | 作業日から除外する休日期間。休日は文字列定数の日付として示されます。コンマで区切り、複数の休日を設定できます。<br><br>`  '12/25/2013', '12/26/2013', '12/31/2013', '01/01/2014' ` |

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/firstworkdate.htm)

#### 例と結果:

これらの例は、日付書式 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 |