

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# addWorkDays
<a name="addWorkDays-function"></a>

`addWorkDays` は、指定された日付値に、指定された稼働日数を加算または減算します。この関数は、指定された入力日付値の翌日またはそれより前の指定された稼働日の日付を返します。

## 構文
<a name="addWorkDays-function-syntax"></a>

```
addWorkDays(initDate, numWorkDays)
```

## 引数
<a name="addWorkDays-function-arguments"></a>

*initDate*  
計算の開始日となる有効な NULL 以外の日付。  
+ **データセットフィールド** – この関数を追加するデータセットの任意の `date` フィールド。
+ **日付関数** – 別の `date` 関数からの任意の日付出力 (例: `parseDate`、`epochDate`、`addDateTime` など)。  
**Example**  

  ```
  addWorkDays(epochDate(1659484800), numWorkDays)
  ```
+ **計算フィールド** – `date`値を返す任意のクイック計算フィールド。  
**Example**  

  ```
  calcFieldStartDate = addDateTime(10, “DD”, startDate)
  addWorkDays(calcFieldStartDate, numWorkDays)
  ```
+ **パラメータ** – 任意のクイック`datetime`パラメータ。  
**Example**  

  ```
  addWorkDays($paramStartDate, numWorkDays)
  ```
+ 上記の引数値の任意の組み合わせ。

 *numWorkDays*   
計算の終了日となる NULL 以外の整数。  
+ **リテラル** — エクスプレッションエディタに直接入力される整数リテラル。  
**Example**  

  ```
  ```
+ **データセットフィールド** – データセットの任意の日付フィールド   
**Example**  

  ```
  ```
+ **スカラー関数または計算** – `decimalToInt`、 など、別の から整数出力を返すスカラークイック関数`abs`。  
**Example**  

  ```
  addWorkDays(initDate, decimalToInt(sqrt (abs(numWorkDays)) ) )
  ```
+ **計算フィールド** – `date`値を返す任意のクイック計算フィールド。  
**Example**  

  ```
  someOtherIntegerCalcField = (num_days * 2) + 12
  addWorkDays(initDate, someOtherIntegerCalcField)
  ```
+ **パラメータ** – 任意のクイック`datetime`パラメータ。  
**Example**  

  ```
  addWorkDays(initDate, $param_numWorkDays)
  ```
+ 上記の引数値の任意の組み合わせ。

## 戻り型
<a name="addWorkDays-function-return-type"></a>

整数 

## 出力値
<a name="addWorkDays-function-output-type"></a>

期待される出力値には以下が含まれます。
+ 正の整数 (start\$1date < end\$1date の場合)
+ 負の整数 (start\$1date > end\$1date の場合)
+ 片方または両方の引数が `dataset field` から NULL 値を取得した場合は NULL。

## 入力エラー
<a name="addWorkDays-function-errors"></a>

次の例に示すように、無効な引数値を使用するとエラーが発生します。
+ 式の引数としてリテラル NULL を使用することはできません。  
**Example**  

  ```
  addWorkDays(NULL, numWorkDays) 
  ```  
**Example**  

  ```
  Error
  At least one of the arguments in this function does not have correct type. 
  Correct the expression and choose Create again.
  ```
+ 文字列リテラルを引数として使用したり、日付以外のデータ型を式で使用したりすることはできません。次の例では、文字列 **"2022-08-10"** は日付のように見えますが、実際には文字列です。これを使用するには、日付データ型に変換する関数を使用する必要があります。  
**Example**  

  ```
  addWorkDays("2022-08-10", 10)
  ```  
**Example**  

  ```
  Error
  Expression addWorkDays("2022-08-10", numWorkDays) for function addWorkDays has 
  incorrect argument type addWorkDays(String, Number). 
  Function syntax expects Date, Integer.
  ```

## 例
<a name="addWorkDays-function-example"></a>

`numWorkDays` 引数として正の整数を指定すると、入力日付の未来の日付が生成されます。`numWorkDays` 引数として負の整数を指定すると、入力日付の過去の結果の日付が生成されます。`numWorkDays` 引数の値がゼロの場合、それが就業日か週末かに関係なく、入力日付と同じ値が生成されます。

この `addWorkDays` 関数は次の粒度で動作します: `DAY`。精度は、`DAY` レベルより低い、または高い粒度では維持できません。

```
addWorkDays(startDate, endDate)
```

次の値を持つ `employmentStartDate` というフィールドがあるとします。

```
2022-08-10 2022-08-06 2022-08-07 
```

上記のフィールドと次の計算を使用して、`addWorkDays` が以下に示すように変更された値を返します。

```
addWorkDays(employmentStartDate, 7)

2022-08-19 
2022-08-16 
2022-08-16 

addWorkDays(employmentStartDate, -5)

2022-08-02 
2022-08-01 
2022-08-03 

addWorkDays(employmentStartDate, 0)

2022-08-10 
2022-08-06 
2022-08-07
```

次の例では、各従業員が実際に働いた日数に基づいて、2 年間に各従業員に支払われる日割り計算された賞与の合計を計算します。

```
last_day_of_work = addWorkDays(employment_start_date, 730)
total_days_worked = netWorkDays(employment_start_date, last_day_of_work)
total_bonus = total_days_worked * bonus_per_day
```

![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/quick/latest/userguide/images/addWorkDays-function-example.png)
