

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

# 関数
<a name="functions"></a>

このセクションでは、Amazon Quick で使用できる関数のリストを示します。簡単な定義を使用してカテゴリ別にソートされた関数のリストを表示するには、[「カテゴリ別の関数](https://docs.aws.amazon.com/quicksight/latest/user/functions-by-category.html)」を参照してください。

**Topics**
+ [addDateTime](addDateTime-function.md)
+ [addWorkDays](addWorkDays-function.md)
+ [Abs](abs-function.md)
+ [Ceil](ceil-function.md)
+ [Coalesce](coalesce-function.md)
+ [Concat](concat-function.md)
+ [contains](contains-function.md)
+ [decimalToInt](decimalToInt-function.md)
+ [dateDiff](dateDiff-function.md)
+ [endsWith](endsWith-function.md)
+ [epochDate](epochDate-function.md)
+ [Exp](exp-function.md)
+ [Extract](extract-function.md)
+ [Floor](floor-function.md)
+ [formatDate](formatDate-function.md)
+ [Ifelse](ifelse-function.md)
+ [in](in-function.md)
+ [intToDecimal](intToDecimal-function.md)
+ [isNotNull](isNotNull-function.md)
+ [isNull](isNull-function.md)
+ [isWorkDay](isWorkDay-function.md)
+ [Left](left-function.md)
+ [Locate](locate-function.md)
+ [Log](log-function.md)
+ [Ln](ln-function.md)
+ [Ltrim](ltrim-function.md)
+ [Mod](mod-function.md)
+ [netWorkDays](netWorkDays-function.md)
+ [Now](now-function.md)
+ [notIn](notIn-function.md)
+ [nullIf](nullIf-function.md)
+ [parseDate](parseDate-function.md)
+ [parseDecimal](parseDecimal-function.md)
+ [parseInt](parseInt-function.md)
+ [parseJson](parseJson-function.md)
+ [Replace](replace-function.md)
+ [Right](right-function.md)
+ [Round](round-function.md)
+ [Rtrim](rtrim-function.md)
+ [Split](split-function.md)
+ [Sqrt](sqrt-function.md)
+ [startsWith](startsWith-function.md)
+ [Strlen](strlen-function.md)
+ [Substring](substring-function.md)
+ [switch](switch-function.md)
+ [toLower](toLower-function.md)
+ [toString](toString-function.md)
+ [toUpper](toUpper-function.md)
+ [trim](trim-function.md)
+ [truncDate](truncDate-function.md)

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

`addDateTime` は日時値に対して時間単位を加算または減算します。たとえば、`addDateTime(2,'YYYY',parseDate('02-JUL-2018', 'dd-MMM-yyyy') )` は `02-JUL-2020` を返します。この関数を使用して日付および時刻データの日付計算を実行できます。

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

```
addDateTime(amount, period, datetime)
```

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

 *amount*   
正の値または負の整数値は、指定された日時フィールドに対して加算または減算する時間の量を表します。

 *期間*   
正の値または負の値は、指定された日時フィールドに対して加算または減算する時間の量を表します。有効な期間は次のとおりです。  
+ YYYY: 日付の年の部分を返します。
+ Q: 日付が属している四半期 (1～4) を返します。
+ MM: 日付の月の部分を返します。
+ DD: 日付の日の部分を返します。
+ WK: 日付の週の部分を返します。Amazon Quick の週は日曜日から始まります。
+ HH: 日付の時間の部分を返します。
+ MI: 日付の分の部分を返します。
+ SS: 日付の秒の部分を返します。
+ MS: 日付のミリ秒の部分を返します。

 *datetime*   
日付計算を実行する日付または時刻。

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

Datetime

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

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

```
2018 May 13 13:24
2017 Jan 31 23:06
2016 Dec 28 06:45
```

次の計算を使用して、`addDateTime`​ は値を次のように変更します。

```
addDateTime(-2, 'YYYY', purchaseDate)

2016 May 13 13:24
2015 Jan 31 23:06
2014 Dec 28 06:45


addDateTime(4, 'DD', purchaseDate)

2018 May 17 13:24
2017 Feb 4 23:06
2017 Jan 1 06:45


addDateTime(20, 'MI', purchaseDate)

2018 May 13 13:44
2017 Jan 31 23:26
2016 Dec 28 07:05
```

# 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)


# Abs
<a name="abs-function"></a>

`abs` は、指定された式の絶対値を返します。

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

```
abs(expression)
```

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

 *expression*   
式は数値である必要があります。フィールド名、リテラル値、または別の関数にすることができます。

# Ceil
<a name="ceil-function"></a>

`ceil` は、小数値を次に大きい整数へと切り上げます。たとえば、`ceil(29.02)` は `30` を返します。

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

```
ceil(decimal)
```

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

 *10 進数*   
小数データ型、**17.62** のようなリテラル値、または小数を出力する別の関数の呼び出しを使用しているフィールド。

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

整数

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

次の例では、小数フィールドを次に大きい整数へと切り上げます。

```
ceil(salesAmount)
```

次が指定したフィールド値です。

```
20.13
892.03
57.54
```

これらのフィールド値に対して、以下の値が返されます。

```
21
893
58
```

# Coalesce
<a name="coalesce-function"></a>

`coalesce` は、Null ではない最初の引数の値を返します。非 Null の値が検出された場合、リストの残りの引数は検証されません。すべての引数が null の場合、結果は null になります。0 長の文字列は有効な値で、Null と同等とは見なされません。

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

```
coalesce(expression1, expression2 [, expression3, ...])
```

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

`coalesce` は、2 つ以上の式を引数として取ります。すべての式は、同じデータ型であるか、同じデータ型に暗黙的にキャストできる必要があります。

 *expression*   
式は、数値データ型、日時データ型、または文字列です。フィールド名、リテラル値、または別の関数にすることができます。

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

`coalesce` は、同じデータ型の値を入力引数として返します。

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

次の例では、顧客の請求連絡先が存在する場合はその請求連絡先、請求連絡先が存在しない場合は住所を取得し、どちらも取得できない場合は "No address listed" を返します。

```
coalesce(billingAddress, streetAddress, 'No address listed')
```

# Concat
<a name="concat-function"></a>

`concat` は、2 つ以上の文字列を連結します。

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

```
concat(expression1, expression2 [, expression3 ...])
```

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

`concat` は、2 つ以上の文字列式を引数として取ります。

 *expression*   
expression は文字列である必要があります。文字列データ型を使用しているフィールドの名前、**'12 Main Street'** のようなリテラル値、または文字列を出力する別の関数の呼び出しを使用できます。

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

String

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

次の例では、3 つの文字列フィールドを連結し、適切な間隔を追加しています。

```
concat(salutation, ' ', firstName, ' ', lastName)
```

次が指定したフィールド値です。

```
salutation     firstName          lastName
-------------------------------------------------------
Ms.            Li                  Juan
Dr.            Ana Carolina        Silva
Mr.            Nikhil              Jayashankar
```

これらのフィールド値に対して、以下の値が返されます。

```
Ms. Li Juan
Dr. Ana Carolina Silva
Mr. Nikhil Jayashankar
```

次の例では、2 つの文字リテラルを連結しています。

```
concat('Hello', 'world')
```

次の値が返されます。

```
Helloworld
```

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

`contains` は、指定した部分文字列が式内に存在するかどうかを判断します。式に部分文字列が含まれている場合、contains は true を返し、それ以外の場合は false を返します。

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

```
contains(expression, substring, string-comparison-mode)
```

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

 *expression*   
expression は文字列である必要があります。文字列データ型を使用しているフィールドの名前、**'12 Main Street'** のようなリテラル値、または文字列を出力する別の関数の呼び出しを使用できます。

 *substring*   
式と照合する文字のセット。部分文字列は式の中で複数回出現することがあります。

 文字列比較モード   
(オプション) 文字列比較モードを指定し、以下を使用します。  
+ `CASE_SENSITIVE` – 文字列比較では、大文字と小文字が区別されます。
+ `CASE_INSENSITIVE` – 文字列比較では、大文字と小文字が区別されません。
空白の場合、この値はデフォルトで `CASE_SENSITIVE` です。

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

ブール値

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

### デフォルトの大文字と小文字を区別した例
<a name="contains-function-example-default-case-sensitive"></a>

次の例では大文字と小文字を区別し、`state_nm` が **New** を含めるかどうかを評価します。

```
contains(state_nm, "New")
```

次が指定したフィールド値です。

```
New York
new york
```

これらのフィールド値に対して、以下の値が返されます。

```
true
false
```

### 大文字と小文字を区別しない例
<a name="contains-function-example-case-insensitive"></a>

次の例では大文字と小文字を区別せず、`state_nm` が **new** を含めるかどうかを評価します。

```
contains(state_nm, "new", CASE_INSENSITIVE)
```

次が指定したフィールド値です。

```
New York
new york
```

これらのフィールド値に対して、以下の値が返されます。

```
true
true
```

### 条件ステートメントの例
<a name="contains-function-example-conditional-statements"></a>

contains 関数は、「[avgIf](https://docs.aws.amazon.com/quicksight/latest/user/avgIf-function.html)」、「[minIf](https://docs.aws.amazon.com/quicksight/latest/user/minIf-function.html)」、「[distinct\$1countIf](https://docs.aws.amazon.com/quicksight/latest/user/distinct_countIf-function.html)」、「[countIf](https://docs.aws.amazon.com/quicksight/latest/user/countIf-function.html)」、「[maxIf](https://docs.aws.amazon.com/quicksight/latest/user/maxIf-function.html)」、「[medianIf](https://docs.aws.amazon.com/quicksight/latest/user/medianIf-function.html)」、「[stdevIf](https://docs.aws.amazon.com/quicksight/latest/user/stdevIf-function.html)」、「[stdevpIf](https://docs.aws.amazon.com/quicksight/latest/user/stdevpIf-function.html)」、「[sumIf](https://docs.aws.amazon.com/quicksight/latest/user/sumIf-function.html)」、「[varIf](https://docs.aws.amazon.com/quicksight/latest/user/varIf-function.html)」、「[varpIf](https://docs.aws.amazon.com/quicksight/latest/user/varpIf-function.html)」の If 関数内の条件ステートメントとして使用できます。

次の例では、`state_nm` が **New** を含む場合にのみ `Sales` が合計されます。

```
sumIf(Sales,contains(state_nm, "New"))
```

### 例は含まれていません
<a name="contains-function-example-does-not-contain"></a>

条件 `NOT` 演算子を使用して、式に指定された部分文字列が含まれていないかどうかを評価できます。

```
NOT(contains(state_nm, "New"))
```

### 数値を使用した例
<a name="contains-function-example-numeric-values"></a>

`toString` 関数を適用することで、式または部分文字列引数に数値を使用できます。

```
contains(state_nm, toString(5) )
```

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

`decimalToInt` は、小数点と小数点の後に続く数字を取り除くことで、小数値を整数データ型に変換します。`decimalToInt`​ は切り上げません。たとえば、`decimalToInt(29.99)` は `29` を返します。

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

```
decimalToInt(decimal)
```

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

 *10 進数*   
小数データ型、**17.62** のようなリテラル値、または小数を出力する別の関数の呼び出しを使用しているフィールド。

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

整数

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

次の例では、小数フィールドを整数に変換します。

```
decimalToInt(salesAmount)
```

次が指定したフィールド値です。

```
 20.13
892.03
 57.54
```

これらのフィールド値に対して、以下の値が返されます。

```
 20
892
 57
```

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

`dateDiff` は、2 つの日付フィールド間の日数の差を返します。期間の値を含めた場合、`dateDiff` は、日数ではなく期間間隔の差を返します。

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

```
dateDiff(date1, date2,[period])
```

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

`dateDiff` は 2 つの日付を引数として取ります。期間の指定は任意です。

 *日付 1*   
比較の最初の日付。日付フィールド、または日付を出力する別の関数の呼び出し。

 *日付 2*   
比較の 2 番目の日付。日付フィールド、または日付を出力する別の関数の呼び出し。

 *期間*   
返される期間の差。引用符で囲みます。有効な期間は次のとおりです。  
+ YYYY: 日付の年の部分を返します。
+ Q: 日付が属している四半期の最初の日の日付を返します。
+ MM: 日付の月の部分を返します。
+ DD: 日付の日の部分を返します。
+ WK: 日付の週の部分を返します。Amazon Quick の週は日曜日に始まります。
+ HH: 日付の時間の部分を返します。
+ MI: 日付の分の部分を返します。
+ SS: 日付の秒の部分を返します。
+ MS: 日付のミリ秒の部分を返します。

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

整数

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

次の例では、2 つの日付の間の差を返します。

```
dateDiff(orderDate, shipDate, "MM")
```

次が指定したフィールド値です。

```
orderDate          shipdate
=============================
01/01/18            03/05/18
09/13/17            10/20/17
```

これらのフィールド値に対して、以下の値が返されます。

```
2
1
```

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

`endsWith` は、式が指定した部分文字列で終わるかどうかを判断します。式が部分文字列で終わる場合、`endsWith` は true を返し、それ以外の場合は false を返します。

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

```
endsWith(expression, substring, string-comparison-mode)
```

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

 *expression*   
expression は文字列である必要があります。文字列データ型を使用しているフィールドの名前、**'12 Main Street'** のようなリテラル値、または文字列を出力する別の関数の呼び出しを使用できます。

 *substring*   
式と照合する文字のセット。部分文字列は式の中で複数回出現することがあります。

 文字列比較モード   
(オプション) 文字列比較モードを指定し、以下を使用します。  
+ `CASE_SENSITIVE` – 文字列比較では、大文字と小文字が区別されます。
+ `CASE_INSENSITIVE` – 文字列比較では、大文字と小文字が区別されません。
空白の場合、この値はデフォルトで `CASE_SENSITIVE` です。

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

ブール値

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

### デフォルトの大文字と小文字を区別した例
<a name="endsWith-function-example-default-case-sensitive"></a>

次の例では大文字と小文字を区別し、`state_nm` endsWith **"York"** かどうかを評価します。

```
endsWith(state_nm, "York")
```

次が指定したフィールド値です。

```
New York
new york
```

これらのフィールド値に対して、以下の値が返されます。

```
true
false
```

### 大文字と小文字を区別しない例
<a name="endsWith-function-example-case-insensitive"></a>

次の例では大文字と小文字を区別せず、`state_nm` endsWith **"york"** かどうかを評価します。

```
endsWith(state_nm, "york", CASE_INSENSITIVE)
```

次が指定したフィールド値です。

```
New York
new york
```

これらのフィールド値に対して、以下の値が返されます。

```
true
true
```

### 条件ステートメントの例
<a name="endsWith-function-example-conditional-statements"></a>

この `endsWith` 関数は、「[avgIf](https://docs.aws.amazon.com/quicksight/latest/user/avgIf-function.html)」、「[minIf](https://docs.aws.amazon.com/quicksight/latest/user/minIf-function.html)」、「[distinct\$1countIf](https://docs.aws.amazon.com/quicksight/latest/user/distinct_countIf-function.html)」、「[countIf](https://docs.aws.amazon.com/quicksight/latest/user/countIf-function.html)」、「[maxIf](https://docs.aws.amazon.com/quicksight/latest/user/maxIf-function.html)」、「[medianIf](https://docs.aws.amazon.com/quicksight/latest/user/medianIf-function.html)」、「[stdevIf](https://docs.aws.amazon.com/quicksight/latest/user/stdevIf-function.html)」、「[stdevpIf](https://docs.aws.amazon.com/quicksight/latest/user/stdevpIf-function.html)」、「[sumIf](https://docs.aws.amazon.com/quicksight/latest/user/sumIf-function.html)」、「[varIf](https://docs.aws.amazon.com/quicksight/latest/user/varIf-function.html)」、「[varpIf](https://docs.aws.amazon.com/quicksight/latest/user/varpIf-function.html)」の If 関数内の条件ステートメントとして使用できます。

次の例では、`state_nm` の末尾が **"York"** の場合にのみ `Sales` が合計されます。

```
sumIf(Sales,endsWith(state_nm, "York"))
```

### 例は含まれていません
<a name="endsWith-function-example-does-not-start-with"></a>

条件 `NOT` 演算子を使用して、式が指定された部分文字列で始まらないかどうかを評価できます。

```
NOT(endsWith(state_nm, "York"))
```

### 数値を使用した例
<a name="endsWith-function-example-numeric-values"></a>

`toString` 関数を適用することで、式または部分文字列引数に数値を使用できます。

```
endsWith(state_nm, toString(5) )
```

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

`epochDate` は、エポック日付を (Joda プロジェクトのドキュメントの「**Class DateTimeFormat**」で指定された形式パターン構文を使用して) yyyy-MM-dd**T**kk:mm:ss.SSS[Z](http://www.joda.org/joda-time/apidocs/org/joda/time/format/DateTimeFormat.html) 形式の標準の日付に変換します。例: 「`2015-10-15T19:11:51.003Z`」。

`epochDate` は、Quick () に保存されているデータセットに基づく分析での使用がサポートされていますSPICE。

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

```
epochDate(epochdate)
```

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

 *epochdate*   
1970 年 1 月 1 日 00:00:00 UTC から経過した秒数として日付を整数で表したエポック日付。  
*epochdate* は整数である必要があります。整数データ型を使用するフィールドの名前、リテラルの整数値、または整数を出力する別の関数の呼び出しを使用できます。整数値が 10 桁よりも長い場合は、11 桁以降の桁が破棄されます。

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

日付

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

次の例では、エポック日付を標準の日付に変換します。

```
epochDate(3100768000)
```

次の値が返されます。

```
2068-04-04T12:26:40.000Z
```

# Exp
<a name="exp-function"></a>

`exp` は、自然対数 e の底を指定された式に累乗して返します。

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

```
exp(expression)
```

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

 *expression*   
式は数値である必要があります。フィールド名、リテラル値、または別の関数にすることができます。

# Extract
<a name="extract-function"></a>

`extract` は、日付値の指定された部分を返します。時間情報を含んでいない日付の時間関連の部分を要求した場合、0 が返されます。

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

```
extract(period, date)
```

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

 *期間*   
日付値から抽出する期間。有効な期間は次のとおりです。  
+ YYYY: 日付の年の部分を返します。
+ Q: 日付が属している四半期 (1～4) を返します。
+ MM: 日付の月の部分を返します。
+ DD: 日付の日の部分を返します。
+ WD: 曜日を整数で返します。日曜日を 1 とします。
+ HH: 日付の時間の部分を返します。
+ MI: 日付の分の部分を返します。
+ SS: 日付の秒の部分を返します。
+ MS: 日付のミリ秒の部分を返します。
**注記**  
ミリ秒の抽出は、バージョン 0.216 以下のプレストデータベースではサポートされていません。

 *date*   
日付フィールド、または日付を出力する別の関数の呼び出し。

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

整数

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

以下の例では、日付値から日を抽出しています。

```
extract('DD', orderDate)
```

次が指定したフィールド値です。

```
orderDate
=========
01/01/14  
09/13/16
```

これらのフィールド値に対して、以下の値が返されます。

```
01
13
```

# Floor
<a name="floor-function"></a>

`floor` は小数値を次に小さい整数に減らします。たとえば、`floor(29.08)` は `29` を返します。

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

```
floor(decimal)
```

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

 *10 進数*   
小数データ型、**17.62** のようなリテラル値、または小数を出力する別の関数の呼び出しを使用しているフィールド。

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

整数

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

次の例では、小数フィールドを最大の整数に切り下げています。

```
floor(salesAmount)
```

次が指定したフィールド値です。

```
20.13
892.03
57.54
```

これらのフィールド値に対して、以下の値が返されます。

```
20
892
57
```

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

`formatDate` は、指定されたパターンを使用して日付を書式設定します。データを準備するときに、`formatDate` を使用して日付を再フォーマットできます。分析で日付の書式を変更するには、日付フィールドのコンテキストメニューから書式オプションを選択します。

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

```
formatDate(date, ['format'])
```

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

 *date*   
日付フィールド、または日付を出力する別の関数の呼び出し。

 *format*   
(オプション) 適用する形式パターンを含んでいる文字列。この引数は、[サポートされている日付形式で指定された形式パターンを受け入れます](https://docs.aws.amazon.com/quicksight/latest/user/supported-date-formats.html)。  
書式を指定しない場合は、この文字列はデフォルトで yyyy-MM-dd**T**kk:mm:ss:SSS になります。

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

String

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

次の例では、UTC 日付の書式を設定します。

```
formatDate(orderDate, 'dd-MMM-yyyy')
```

次が指定したフィールド値です。

```
order date      
=========
2012-12-14T00:00:00.000Z  
2013-12-29T00:00:00.000Z
2012-11-15T00:00:00.000Z
```

これらのフィールド値に対して、以下の値が返されます。

```
13 Dec 2012
28 Dec 2013
14 Nov 2012
```

## 例
<a name="formatDate-function-example2"></a>

`yyyyMMdd'T'HHmmss` のように、日付に一重引用符やアポストロフィが含まれている場合、次のいずれかの方法を使用してこの日付形式に対応することができます。
+ 次の例に示すように、日付全体を二重引用符で囲みます。

  ```
  formatDate({myDateField}, "yyyyMMdd'T'HHmmss")
  ```
+ 一重引用符またはアポストロフィをエスケープするには、次の例に示すようにバックスラッシュ (`\`) を左側に入力します。

  ```
  formatDate({myDateField}, 'yyyyMMdd\'T\'HHmmss')
  ```

# Ifelse
<a name="ifelse-function"></a>

`ifelse` では、一連の *if*, *then* 式のペアを評価し、最初の *if* 引数が true に評価される *then* 引数の値を返します。true に評価される *if* 引数がない場合、*else* 引数の値が返されます。

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

```
ifelse(if-expression-1, then-expression-1 [, if-expression-n, then-expression-n ...], else-expression)
```

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

`ifelse` は、1 つ以上の *if*、*then* 式のペアと、1 つの正確な *else* 引数の式を必要とします。

 *if 式*   
式は true かどうかが評価されます。**address1** のようなフィールド名、**'Unknown'** のようなリテラル値、または `toString(salesAmount)` のような別の関数を使用できます。例: 「`isNotNull(FieldName)`」。  
`if` 引数で複数の AND と OR 演算子を使用する場合は、ステートメントを括弧で囲んで処理の順序を指定します。たとえば、次の `if` 引数は、月が 1、2、または 5 で、年が 2000 のレコードを返します。  

```
ifelse((month = 5 OR month < 3) AND year = 2000, 'yes', 'no')
```
次の `if` 引数では、同じ演算子を使用していますが、月が 5 で任意の年、または月が 1 または 2 で年が 2000 のレコードを返します。  

```
ifelse(month = 5 OR (month < 3 AND year = 2000), 'yes', 'no')
```

 *then 式*   
*if* 引数が true と評価される場合に返される式。**address1** のようなフィールド名、**'Unknown'** のようなリテラル値、または別の関数の呼び出しを使用できます。式は、他の `then` 引数および `else` と同じデータ型を使用する必要があります。

 *else 式*   
true と評価される *if* 引数がない場合に返される式。**address1** のようなフィールド名、**'Unknown'** のようなリテラル値、または `toString(salesAmount)` のような別の関数を使用できます。式は、すべての `then` 引数と同じデータ型を使用する必要があります。

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

`ifelse` は、同じデータ型の値を *then 式*で返します。すべてのデータを返す *then* および *else* 式は、同じデータ型であるか、同じデータ型に変換されている必要があります。

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

次の例では、フィールド `country` のエイリアスの列を生成します。

```
ifelse(country = "United States", "US", country = "China", "CN", country = "India", "IN", "Others") 
```

このようなユースケースでは、フィールド内の各値をリテラルのリストに対して評価し、最初に一致した値に対応する結果を返します。作業を簡単にするために、関数の切り替えをお勧めします。前の例は、[https://docs.aws.amazon.com/quicksight/latest/user/switch-function.html](https://docs.aws.amazon.com/quicksight/latest/user/switch-function.html) を使用して次の文に書き換えることができます。

```
switch(country,"United States","US","China","CN","India","IN","Others")
```

次の例では、顧客ごとの売上を人が読み取り可能なレベルに分類します。

```
ifelse(salesPerCustomer < 1000, “VERY_LOW”, salesPerCustomer < 10000, “LOW”, salesPerCustomer < 100000, “MEDIUM”, “HIGH”)
```

次の例では、AND、OR、および NOT を使用して、条件演算子を使用した複数の式を比較し、ワシントンまたはオレゴンではなく、特殊プロモーションを適用されており、注文数が 10 を超える上位の顧客にタグ付けします。値が返されない場合、値 `'n/a'` が使用されます。

```
ifelse(( (NOT (State = 'WA' OR State =  'OR')) AND Orders > 10),  'Special Promotion XYZ',  'n/a')
```

次の例では、OR のみを使用して、それぞれの `country` に対応する大陸の名前を含む新しい列を生成します。

```
ifelse(country = "United States" OR country = "Canada", "North America", country = "China" OR country = "India" OR country = "Japan", "Asia", "Others")
```

前の例は、次の例のように簡略化できます。次の例では、`ifelse` と [https://docs.aws.amazon.com/quicksight/latest/user/in-function.html](https://docs.aws.amazon.com/quicksight/latest/user/in-function.html) を使用して、テストされた値がリテラルリストにある任意の行について、新しい列に値を作成します。`ifelse` を [https://docs.aws.amazon.com/quicksight/latest/user/notIn-function.html](https://docs.aws.amazon.com/quicksight/latest/user/notIn-function.html) と一緒に使うこともできます。

```
ifelse(in(country,["United States", "Canada"]), "North America", in(country,["China","Japan","India"]),"Asia","Others")
```

作成者はリテラルリストを複数値パラメータに保存し、それを [https://docs.aws.amazon.com/quicksight/latest/user/in-function.html](https://docs.aws.amazon.com/quicksight/latest/user/in-function.html) または [https://docs.aws.amazon.com/quicksight/latest/user/notIn-function.html](https://docs.aws.amazon.com/quicksight/latest/user/notIn-function.html) 関数で使用できます。次の例は、リテラルリストが 2 つの複数値パラメータに格納されている点を除いて、前の例と同じです。

```
ifelse(in(country,${NorthAmericaCountryParam}), "North America", in(country,${AsiaCountryParam}),"Asia", "Others") 
```

次の例では、グループを売上合計に基づいて売上レコードに割り当てます。各 `if-then` フレーズの構造は、*between* の動作を模倣しています。これは現在、計算フィールドの式では機能しないキーワードです。例えば、比較 `salesTotal >= 0 AND salesTotal < 500` の結果は、SQL での比較 `salesTotal between 0 and 499` と同じ値を返します。

```
ifelse(salesTotal >= 0 AND salesTotal < 500, 'Group 1', salesTotal >= 500 AND salesTotal < 1000, 'Group 2', 'Group 3')
```

次の例では、`coalesce` を使用して最初の非 NULL の値を返すことで NULL 値をテストします。日付フィールドの NULL の意味を覚えておく必要はなく、代わりに読みやすい説明を使用できます。切断日が NULL の場合、両方が NULL でない限り、この例では中断日を返します。その後、`coalesce(DiscoDate, SuspendDate, '12/31/2491')` `'12/31/2491'` を返します。戻り値は、他のデータ型と一致する必要があります。この日付は一般的ではない値に見えるかもしれませんが、25 世紀の日付は、データマートで日付の最大値として定義された「時間の終わり」を合理的にシミュレートしています。

```
ifelse (  (coalesce(DiscoDate, SuspendDate, '12/31/2491') = '12/31/2491'),  'Active subscriber', 'Inactive subscriber')
```

以下は、すべてのコードを 1 つの長い行に圧縮する必要がないことを示すために、より読みやすい形式のより複雑な例を示しています。この例では、調査結果の値の複数比較を行います。このフィールドの潜在的な NULL 値を処理し、2 つの許容範囲を分類します。また、より多くのテストを必要とする 1 つの範囲と、有効ではない別の範囲 (範囲外) にラベルを付けます。残りのすべての値について、`else` 条件を適用し、その行の日付から 3 年後に再テストが必要であるというラベル付けをします。

```
ifelse
( 
    isNull({SurveyResult}), 'Untested',  
    {SurveyResult}=1, 'Range 1', 
    {SurveyResult}=2, 'Range 2', 
    {SurveyResult}=3, 'Need more testing',
    {SurveyResult}=99, 'Out of Range',
    concat  
    (
        'Retest by ', 
        toString    
        (
           addDateTime(3, "YYYY", {Date}) 
        )
    )
)
```

次の例では、「手動」で作成されたリージョン名をステートのグループに割り当てます。ここでは、コードの保守を容易にするために、`/* */` で囲みながらスペースとコメントを記述しています。

```
ifelse 
(    /* NE REGION*/
     locate('New York, New Jersey, Connecticut, Vermont, Maine, Rhode Island, New Hampshire',{State}) > 0,
    'Northeast',

     /* SE REGION*/
     locate('Georgia, Alabama, South Carolina, Louisiana',{State}) > 0,
    'Southeast',

    'Other Region'
)
```

リージョンのタグ付けのロジックは、次のように分類されます。

1. 次のように、各リージョンに必要な状態をリスト化し、各リストを引用符で囲み、文字列にします。
   + `'New York, New Jersey, Connecticut, Vermont, Maine, Rhode Island, New Hampshire'`
   + `'Georgia, Alabama, South Carolina, Louisiana'`
   + 必要に応じて、さらにセットを追加したり、国、都市、地方、または What3Words を使用したりできます。

1. 次のように、州がリストにある場合、`locate` 関数を使用してゼロ以外の値を返すことにより、(各行の) `State` の値がリストにあるかどうかを確認します。

   ```
   locate('New York, New Jersey, Connecticut, Vermont, Maine, Rhode Island, New Hampshire',{State}) 
   
   and
   
   locate('Georgia, Alabama, South Carolina, Louisiana',{State})
   ```

1. `locate` 関数は `TRUE` または `FALSE` の代わりに数値を返しますが、`ifelse` は `TRUE`/`FALSE` のブール値を必要とします。これを回避するために、`locate` の結果を数値と比較することができます。州がリストにある場合、戻り値はゼロより大きくなります。

   1. 州が存在するかどうかを尋ねます。

      ```
      locate('New York, New Jersey, Connecticut, Vermont, Maine, Rhode Island, New Hampshire',{State}) > 0
      ```

   1. リージョンが存在する場合は、特定のリージョン (この場合は Northeast リージョン) としてラベルを付けます。

      ```
      /*The if expression:*/     locate('New York, New Jersey, Connecticut, Vermont, Maine, Rhode Island, New Hampshire',{State}) > 0,
      /*The then expression:*/   'Northeast',
      ```

1. リストに含まれていない州があり、`ifelse` は単一の `else` 式を必要とするため、残りの州のラベルとして `'Other Region'` を提供します。

   ```
   /*The if expression:*/     locate('New York, New Jersey, Connecticut, Vermont, Maine, Rhode Island, New Hampshire',{State}) > 0,
   /*The then expression:*/   'Northeast',
   /*The else expression:*/   'Other Region'
   ```

1. それらをすべて `ifelse( )` 関数でラップして、最終バージョンを取得します。次の例では、元の [Southeast] リージョンの州を除外します。*`<insert more regions here>`* タグの代わりに、それらを追加し直すことができます。

   リージョンを追加する場合は、さらにこれらの 2 つの行のコピーを作成し、目的に合わせて州のリストを変更することができます。リージョン名は好きなものに、フィールド名は `State` から任意のものに変更できます。

   ```
   ifelse 
   (
   /*The if expression:*/     locate('New York, New Jersey, Connecticut, Vermont, Maine, Rhode Island, New Hampshire',{State}) > 0,
   /*The then expression:*/   'Northeast',
   
   /*<insert more regions here>*/
   
   /*The else expression:*/   'Other Region'
   )
   ```
**注記**  
if 式の初期比較を行う方法は他にもあります。たとえば、「このリストから欠落していない州は何ですか？」という質問があるとします。「どの州がリストに載っていますか？」ではありません。もしそうなら、別の言い方をするでしょう。次のように、locate ステートメントをゼロと比較してリストから欠落している値を見つけ、NOT 演算子を使用してそれらを「欠落していない」として分類することができます。  

   ```
   /*The if expression:*/      NOT (locate('New York, New Jersey, Connecticut, Vermont, Maine, Rhode Island, New Hampshire',{State}) = 0),
   ```
どちらのバージョンも正しいです。選択したバージョンは、ユーザーとそのチームにとって最も意味があり、簡単に維持できるものである必要があります。すべてのオプションが同等である場合は、最も単純なものを選択してください。

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

`in` は、リテラルリスト内に式が存在するかどうかを判断します。リストに式が含まれている場合は true を返し、それ以外の場合は false を返します。`in` は文字列型の入力では大文字と小文字が区別されます。

`in` は 2 種類のリテラルリストを受け入れます。1 つは手動で入力されたリスト、もう 1 つは「[multivalue parameter](https://docs.aws.amazon.com/quicksight/latest/user/parameters-in-quicksight.html)」(複数値パラメータ) です。

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

手動で入力したリストを使用:

```
in(expression, [literal-1, ...])  
```

複数値パラメータを使用:

```
in(expression, $multivalue_parameter)
```

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

 *expression*   
リテラルリスト内の要素と比較する式。`address` のようなフィールド名、‘**Unknown**' のようなリテラル値、単一値のパラメータ、または別のスカラー関数の呼び出しを使用できます。ただし、この関数が集計関数または表計算ではないことが条件です。

 リテラルリスト   
(必須) 手動で入力したリストでも、複数値のパラメータでもかまいません。この引数には、最大 5,000 の要素を使用できます。ただし、Oracle や Teradata などのサードパーティのデータソースへの直接クエリでは、制限が小さくなる可能性があります。  
+ **手動で入力したリスト** — 式と比較するリスト内の 1 つ以上のリテラル値。リストは角括弧で囲む必要があります。比較するリテラルはすべて、式と同じデータ型でなければなりません。
+ **複数値パラメータ** — リテラルリストとして渡される定義済みの複数値パラメータ。複数値パラメータは、式と同じデータ型でなければなりません。


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

ブール型: TRUE/FALSE

## 静的リストを使った例
<a name="in-function-example-static-list"></a>

次の例では、文字列リスト内の値の `origin_state_name` フィールドを評価します。文字列型入力を比較する場合、`in` は大文字と小文字を区別する比較のみをサポートします。

```
in(origin_state_name,["Georgia", "Ohio", "Texas"])
```

次が指定したフィールド値です。

```
"Washington"
        "ohio"
        "Texas"
```

これらのフィールド値に対して、以下の値が返されます。

```
false
        false
        true
```

3 番目の戻り値は true です。なぜなら、含まれる値は「テキサス」だけだからです。

次の例では、文字列リスト内の値の `fl_date` フィールドを評価します。型を合わせるために、日付型を文字列型にキャストするのに `toString` が使われます。

```
in(toString(fl_date),["2015-05-14","2015-05-15","2015-05-16"])
```

![\[表形式で示している、関数の例の結果の画像。\]](http://docs.aws.amazon.com/ja_jp/quick/latest/userguide/images/in-function-example-manual-list.png)


式引数には、リスト内のリテラルと比較できるように、リテラルと NULL 値がサポートされています。次の 2 つの例はどちらも、TRUE 値の新しい列を生成します。

```
in("Washington",["Washington","Ohio"])
```

```
in(NULL,[NULL,"Ohio"])
```

## 複数値パラメータ指定時の例
<a name="in-function-example-mutivalue-parameter"></a>

たとえば、作成者がすべての州名のリストを含む「[multivalue parameter](https://docs.aws.amazon.com/quicksight/latest/user/parameters-in-quicksight.html)」(複数値パラメータ) を作成したとします。次に、作成者はコントロールを追加して、読者がリストから値を選択できるようにします。

次に、読者はパラメータのドロップダウンリストコントロールから「ジョージア」、「オハイオ」、「テキサス」の 3 つの値を選択します。この場合、次の式は最初の例と同じです。ここでは、これら 3 つの州名がリテラルリストとして渡され、`original_state_name` フィールドと比較されます。

```
in (origin_state_name, ${stateName MultivalueParameter})
```

## `ifelse` を使用した例
<a name="in-function-example-with-ifelse"></a>

`in` は、ブーリアン値として他の関数にネストできます。一例として、作成者はリスト内の任意の式を評価し、`in` および `ifelse` を使用して必要な値を返すことができるというものがあります。次の例では、フライトの `dest_state_name` が米国の特定の州リストに含まれているかどうかを評価し、その比較に基づいてさまざまなカテゴリの州を返します。

```
ifelse(in(dest_state_name,["Washington", "Oregon","California"]), "WestCoastUSState", "Other US State")
```

![\[表形式で示している、関数の例の結果の画像。\]](http://docs.aws.amazon.com/ja_jp/quick/latest/userguide/images/in-function-with-ifelse.png)


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

`intToDecimal` は、整数値を小数データ型に変換します。

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

```
intToDecimal(integer)
```

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

 *int*   
整数データ型、**14** のようなリテラル値、または整数を出力する別の関数の呼び出しを使用しているフィールド。

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

レガシーデータ準備エクスペリエンスの 10 進数 (修正済み）。

新しいデータ準備エクスペリエンスの 10 進数 (浮動小数点）。

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

次の例では、整数フィールドを小数に変換しています。

```
intToDecimal(price)
```

次が指定したフィールド値です。

```
20
892
57
```

これらのフィールド値に対して、以下の値が返されます。

```
20.0
892.0
58.0
```

分析内に書式を適用することができます。たとえば、`price` を通貨として書式を設定できます。

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

`isNotNull` は、式を評価して式が Null ではないことを確認します。式が Null ではない場合、`isNotNull` は true を返し、それ以外の場合は false を返します。

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

```
isNotNull(expression)
```

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

 *expression*   
Null かどうか評価される式。**address1** のようなフィールド名、または文字列を出力する別の関数の呼び出しを使用できます。

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

ブール値

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

次の例では、売上金額フィールドが Null 値かどうかを評価します。

```
isNotNull(salesAmount)
```

次が指定したフィールド値です。

```
20.13
(null)
57.54
```

これらのフィールド値に対して、以下の値が返されます。

```
true
false
true
```

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

`isNull` は、式を評価して式が Null であることを確認します。式が Null である場合、`isNull` は true を返し、それ以外の場合は false を返します。

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

```
isNull(expression)
```

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

 *expression*   
Null かどうか評価される式。**address1** のようなフィールド名、または文字列を出力する別の関数の呼び出しを使用できます。

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

ブール値

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

次の例では、売上金額フィールドが Null 値かどうかを評価します。

```
isNull(salesAmount)
```

次が指定したフィールド値です。

```
20.13
(null)
57.54
```

これらのフィールド値に対して、以下の値が返されます。

```
false
true
false
```

次の例では、`ifelse` ステートメントで NULL 値をテストし、代わりに人間が読み取り可能な値を返します。

```
ifelse( isNull({ActiveFlag}) , 'Inactive',  'Active') 
```

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

`isWorkDay` は、指定された日時値を評価して、その値が稼働日かどうかを判断します。

`isWorkDay` は、月曜日から金曜日までの 5 日間の標準週労働を想定しています。土曜日と日曜日は週末と見なされます。この関数は常に、指定された入力日付を除いた `DAY` 粒度で結果を計算します。

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

```
isWorkDay(inputDate)
```

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

 *inputDate*   
評価する日付/時刻の値。有効な値は次のとおりです。  
+ データセットフィールド: この関数を追加するデータセットの任意の `date` フィールド。
+ 日付関数: 別の `date` 関数からの任意の日付出力 (例: `parseDate`)。
+ 計算フィールド: `date`値を返す任意のクイック計算フィールド。
+ パラメータ: 任意のクイック`DateTime`パラメータ。

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

整数 (`0` または `1`)

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

次の例では、`application_date` フィールドが稼働日かどうかを判定します。

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

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

これらのフィールドを使用して次の計算を追加すると、`isWorkDay` は以下の値を返します。

```
isWorkDay({application_date})     
                                                     
1
0
0
```

次の例では、雇用が就業日に終了する従業員をフィルタリングし、条件付き書式を使用して雇用が就業日に始まったのか週末に始まったのかを判断します。

```
is_start_date_work_day = isWorkDay(employment_start_date)
is_end_date_work_day = isWorkDay(employment_end_date)
```

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


# Left
<a name="left-function"></a>

`left` は、文字列の左端の文字 (空白文字を含む) を返します。返される文字数を指定します。

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

```
left(expression, limit)
```

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

 *expression*   
expression は文字列である必要があります。文字列データ型を使用しているフィールドの名前、**'12 Main Street'** のようなリテラル値、または文字列を出力する別の関数の呼び出しを使用できます。

 *制限*   
*expression* の文字列の先頭から返される文字の数。

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

String

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

次の例では、文字列の先頭の 3 文字を返しています。

```
left('Seattle Store #14', 3)
```

次の値が返されます。

```
Sea
```

# Locate
<a name="locate-function"></a>

`locate` は、指定された部分文字列を別の文字列内で探し、文字列内での、部分文字列の先頭文字までの文字数を返します。この関数は、サブ文字列が見つからない場合は 0 を返します。通常は 1 以上を返します。

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

```
locate(expression, substring, start)
```

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

 *expression*   
expression は文字列である必要があります。文字列データ型を使用しているフィールドの名前、**'12 Main Street'** のようなリテラル値、または文字列を出力する別の関数の呼び出しを使用できます。

 *substring*   
*expression* の中で見つける一連の文字。substring は *expression* の中で複数回出現することがあります。

 *start*   
(オプション) *substring* が複数回出現する場合は、*start* を使用して、この関数が部分文字列を探し始める、文字列内の位置を特定します。たとえば、部分文字列の 2 番目の出現を見つける際に、通常はそれが文字列の先頭の 10 文字以降に出現すると考えられるとします。この場合は、*start* の値に 10 を指定します。通常これは、1 から開始されます。

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

整数

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

次の例では、文字列の中での部分文字列 'and' の最初の出現位置に関する情報を返しています。

```
locate('1 and 2 and 3 and 4', 'and')
```

次の値が返されます。

```
3
```

次の例では、文字列の 4 文字目以降での部分文字列 'and' の最初の出現位置に関する情報を返しています。

```
locate('1 and 2 and 3 and 4', 'and', 4)
```

次の値が返されます。

```
9
```

# Log
<a name="log-function"></a>

`log` は、指定された式の 10 を底とする対数を返します。

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

```
log(expression)
```

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

 *expression*   
式は数値である必要があります。フィールド名、リテラル値、または別の関数にすることができます。

# Ln
<a name="ln-function"></a>

`ln` は、指定された式の自然対数を返します。

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

```
ln(expression)
```

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

 *expression*   
式は数値である必要があります。フィールド名、リテラル値、または別の関数にすることができます。

# Ltrim
<a name="ltrim-function"></a>

`ltrim` は、文字列の先頭にある空白文字を除去します。

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

```
ltrim(expression)
```

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

 *expression*   
expression は文字列である必要があります。文字列データ型を使用しているフィールドの名前、**'12 Main Street'** のようなリテラル値、または文字列を出力する別の関数の呼び出しを使用できます。

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

String

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

次の例では、文字列から先頭の空白文字を除去しています。

```
ltrim('   Seattle Store #14')
```

次の値が返されます。

```
Seattle Store #14
```

# Mod
<a name="mod-function"></a>

`mod` 関数を使用して、数値を除数で除算した後の余剰を求めます。`mod` 関数またはモジュロ演算子 (%) を同義で使用できます。

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

```
mod(number, divisor)
```

```
number%divisor
```

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

 *number*   
数値は、除算して余剰を求める正の整数です。

 *除数*   
除数とは、除法で割る方の数であり、正の整数になります。除数がゼロの場合、この関数は 0 で割ったときにエラーを返します。

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

次の例では、6 で割ったときに 17 のモジュロを返します。最初の例では % 演算子を使用し、2 番目の例では mod 関数を使用します。

```
17%6
```

```
mod( 17, 6 )
```

次の値が返されます。

```
5
```

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

`netWorkDays` は、指定された 2 つの日付フィールド間の営業日数、または `epochDate` `parseDate`や などの他のクイック日付関数を使用して生成されたカスタム日付値を返します。

`netWorkDays` は、月曜日から金曜日までの 5 日間の標準週労働を想定しています。土曜日と日曜日は週末と見なされます。計算には `startDate` と `endDate` の両方が含まれます。この関数は、日単位の精度で動作し、結果を表示します。

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

```
netWorkDays(startDate, endDate)
```

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

 *startDate*   
計算の開始日となる有効な NULL 以外の日付。  
+ データセットフィールド: この関数を追加するデータセットの任意の `date` フィールド。
+ 日付関数: 別の `date` 関数からの任意の日付出力 (例: `parseDate`)。
+ 計算フィールド: `date`値を返す任意のクイック計算フィールド。
+ パラメータ: 任意のクイック`DateTime`パラメータ。
+ 上記の引数値の任意の組み合わせ。

 *endDate*   
計算の終了日となる有効な NULL 以外の日付。  
+ データセットフィールド: この関数を追加するデータセットの任意の `date` フィールド。
+ 日付関数: 別の `date` 関数からの任意の日付出力 (例: `parseDate`)。
+ 計算フィールド: `date`値を返す任意のクイック計算フィールド。
+ パラメータ: 任意のクイック`DateTime`パラメータ。
+ 上記の引数値の任意の組み合わせ。

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

整数 

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

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

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

次の例では、2 つの日付の間の稼働日数を返します。

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

```
netWorkDays({startDate}, {endDate})
```

次が指定したフィールド値です。

```
startDate	endDate	netWorkDays
        9/4/2022	9/11/2022	5
        9/9/2022	9/2/2022	-6
        9/10/2022	9/11/2022	0
        9/12/2022	9/12/2022	1
```

次の例では、各従業員の勤務日数と、各従業員の 1 日あたりの給与を計算します。

```
days_worked = netWorkDays({employment_start_date}, {employment_end_date})
        salary_per_day = {salary}/{days_worked}
```

次の例では、雇用が就業日に終了する従業員をフィルタリングし、条件付き書式を使用して雇用が就業日に始まったのか週末に始まったのかを判断します。

```
is_start_date_work_day = netWorkDays(employment_start_date)
        is_end_date_work_day = netWorkDays(employment_end_date)
```

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


# Now
<a name="now-function"></a>

データベースに直接クエリを実行するデータベースデータセットの場合、`now` は、データベースサーバーによって指定された設定と形式を使用して現在の日付と時刻を返します。SPICE と Salesforce のデータセットの場合、`now` は UTC の日付と時刻を `yyyy-MM-ddTkk:mm:ss:SSSZ` 形式 (2015-10-15T19:11:51:003Z など) で返します。

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

```
now()
```

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

日付

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

`notIn` は、リテラルリスト内に式が存在するかどうかを判断します。リストに式が含まれていない場合、`notIn` は true を返し、それ以外の場合は false を返します。`notIn` は文字列型の入力では大文字と小文字が区別されます。

`notIn` は 2 種類のリテラルリストを受け入れます。1 つは手動で入力されたリスト、もう 1 つは「[multivalue parameter](https://docs.aws.amazon.com/quicksight/latest/user/parameters-in-quicksight.html)」(複数値パラメータ) です。

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

手動で入力したリストを使用:

```
notIn(expression, [literal-1, ...])  
```

複数値パラメータを使用:

```
notIn(expression, $multivalue_parameter)
```

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

 *expression*   
リテラルリスト内の要素と比較する式。`address` のようなフィールド名、‘**Unknown**' のようなリテラル値、単一値のパラメータ、または別のスカラー関数の呼び出しを使用できます。ただし、この関数が集計関数または表計算ではないことが条件です。

 リテラルリスト   
(必須) 手動で入力したリストでも、複数値のパラメータでもかまいません。この引数には、最大 5,000 の要素を使用できます。ただし、Oracle や Teradata などのサードパーティのデータソースへの直接クエリでは、制限が小さくなる可能性があります。  
+ **手動で入力したリスト** — 式と比較するリスト内の 1 つ以上のリテラル値。リストは角括弧で囲む必要があります。比較するリテラルはすべて、式と同じデータ型でなければなりません。
+ **複数値パラメータ** — リテラルリストとして渡される定義済みの複数値パラメータ。複数値パラメータは、式と同じデータ型でなければなりません。


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

ブール型: TRUE/FALSE

## 手動で入力したリストの例
<a name="notIn-function-example-manual-list"></a>

次の例では、文字列リスト内の値の `origin_state_name` フィールドを評価します。文字列型入力を比較する場合、`notIn` は大文字と小文字を区別する比較のみをサポートします。

```
notIn(origin_state_name,["Georgia", "Ohio", "Texas"])
```

次が指定したフィールド値です。

```
"Washington"
        "ohio"
        "Texas"
```

これらのフィールド値に対して、以下の値が返されます。

```
true
        true
        false
```

除外値は「テキサス」だけなので、3 番目の戻り値は false です。

次の例では、文字列リスト内の値の `fl_date` フィールドを評価します。型を合わせるために、日付型を文字列型にキャストするのに `toString` が使われます。

```
notIn(toString(fl_date),["2015-05-14","2015-05-15","2015-05-16"])
```

![\[表形式で示している、関数の例の結果の画像。\]](http://docs.aws.amazon.com/ja_jp/quick/latest/userguide/images/notin-function-example-manual-list.png)


式引数には、リスト内のリテラルと比較できるように、リテラルと NULL 値がサポートされています。次の 2 つの例はどちらも、FALSE 値の新しい列を生成します。

```
notIn("Washington",["Washington","Ohio"])
```

```
notIn(NULL,[NULL,"Ohio"])
```

## 複数値パラメータ指定時の例
<a name="notIn-function-example-mutivalue-parameter"></a>

たとえば、作成者がすべての州名のリストを含む「[multivalue parameter](https://docs.aws.amazon.com/quicksight/latest/user/parameters-in-quicksight.html)」(複数値パラメータ) を作成したとします。次に、作成者はコントロールを追加して、読者がリストから値を選択できるようにします。

次に、読者はパラメータのドロップダウンリストコントロールから「ジョージア」、「オハイオ」、「テキサス」の 3 つの値を選択します。この場合、次の式は最初の例と同じです。ここでは、これら 3 つの州名がリテラルリストとして渡され、`original_state_name` フィールドと比較されます。

```
notIn (origin_state_name, ${stateName MultivalueParameter})
```

## `ifelse` を使用した例
<a name="notIn-function-example-with-ifelse"></a>

`notIn` は、ブーリアン値として他の関数にネストできます。一例として、作成者はリスト内の任意の式を評価し、`notIn` および `ifelse` を使用して必要な値を返すことができるというものがあります。次の例では、フライトの `dest_state_name` が米国の特定の州リストに含まれているかどうかを評価し、その比較に基づいてさまざまなカテゴリの州を返します。

```
ifelse(notIn(dest_state_name,["Washington", "Oregon","California"]), "notWestCoastUSState", "WestCoastUSState")
```

![\[表形式で示している、関数の例の結果の画像。\]](http://docs.aws.amazon.com/ja_jp/quick/latest/userguide/images/notin-function-with-ifelse.png)


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

`nullIf` は 2 つの式を比較します。2 つの式が等しい場合、関数は Null を返します。2 つの式が等しくない場合、関数は最初の式を返します。

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

```
nullIf(expression1, expression2)
```

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

`nullIf` は 2 つの式を引数として取ります。

 *expression*   
式は、数値データ型、日時データ型、または文字列です。フィールド名、リテラル値、または別の関数にすることができます。

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

String

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

次の例では、出荷遅延の理由が不明な場合に Null を返します。

```
nullIf(delayReason, 'unknown')
```

次が指定したフィールド値です。

```
delayReason
============
unknown         
back ordered 
weather delay
```

これらのフィールド値に対して、以下の値が返されます。

```
(null)
back ordered 
weather delay
```

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

`parseDate` は、文字列を解析して、日付値が含まれているかどうかを判断し、「`yyyy-MM-ddTkk:mm:ss.SSSZ`」の形式で標準の日付を返します (Joda プロジェクトのドキュメントの「[Class DateTimeFormat](http://www.joda.org/joda-time/apidocs/org/joda/time/format/DateTimeFormat.html)」で指定されている形式パターン構文を使用)。例: 「2015-10-15T19:11:51.003Z」。この関数は、有効な形式の日付が含まれているすべての行を返し、そうでない行は、Null 値が含まれている行を含め、すべてスキップします。

クイックサポートは、1900 年 1 月 1 日 00:00:00 UTC から 2037 年 12 月 31 日 23:59:59 UTC の範囲の日付をサポートします。詳細については、[「サポートされている日付形式](https://docs.aws.amazon.com/quicksight/latest/user/supported-date-formats.html)」を参照してください。

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

```
parseDate(expression, ['format'])
```

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

 *expression*   
expression は文字列である必要があります。文字列データ型を使用しているフィールドの名前、**'1/1/2016'** のようなリテラル値、または文字列を出力する別の関数の呼び出しを使用できます。

 *format*   
(オプション) *date\$1string* が一致する必要がある形式パターンの文字列。たとえば、**01/03/2016** のような日付を持つフィールドを使用している場合は、「MM/dd/yyyy」形式を指定します。形式を指定していない場合は、デフォルトで `yyyy-MM-dd` になります。*format* に適合しない行はスキップされます。  
使用されるデータセットのタイプに基づいて、異なる日付形式がサポートされます。サポートされている日付形式の詳細を次の表に示しています。    
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/quick/latest/userguide/parseDate-function.html)

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

日付

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

次の例では、`prodDate` を評価して、日付値が含まれているかどうかを判断しています。

```
parseDate(prodDate, 'MM/dd/yyyy')
```

次が指定したフィールド値です。

```
prodDate
--------
01-01-1999
12/31/2006
1/18/1982 
7/4/2010
```

これらのフィールド値に対して、以下の行が返されます。

```
12-31-2006T00:00:00.000Z
01-18-1982T00:00:00.000Z
07-04-2010T00:00:00.000Z
```

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

`parseDecimal` は、文字列を解析して、小数値が含まれているかどうかを判断します。この関数は、整数、小数、または null 値が含まれているすべての行を返し、含まれていない行はすべてスキップします。行に整数値が含まれている場合は、その値が小数点以下最大 4 桁の小数値として返されます。たとえば、値が '2' であれば '2.0' が返されます。

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

```
parseDecimal(expression)
```

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

 *expression*   
expression は文字列である必要があります。文字列データ型を使用しているフィールドの名前、**'9.62'** のようなリテラル値、または文字列を出力する別の関数の呼び出しを使用できます。

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

レガシーデータ準備エクスペリエンスの 10 進数 (修正済み）。

新しいデータ準備エクスペリエンスの 10 進数 (浮動小数点）。

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

次の例では、`fee` を評価して、小数値が含まれているかどうかを判断しています。

```
parseDecimal(fee)
```

次が指定したフィールド値です。

```
fee
--------
2
2a
12.13
3b
3.9
(null)
198.353398
```

これらのフィールド値に対して、以下の行が返されます。

```
2.0
12.13
3.9
(null)
198.3533
```

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

`parseInt` は、文字列を解析して、整数値が含まれているかどうかを判断します。この関数は、整数、小数、または null 値が含まれているすべての行を返し、含まれていない行はすべてスキップします。行に小数値が含まれている場合は、その値が最も近い整数に切り下げて返されます。たとえば、値が '2.99' であれば '2' が返されます。

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

```
parseInt(expression)
```

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

 *expression*   
expression は文字列である必要があります。文字列データ型を使用しているフィールドの名前、**'3'** のようなリテラル値、または文字列を出力する別の関数の呼び出しを使用できます。

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

整数

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

次の例では、`feeType` を評価して、整数値が含まれているかどうかを判断しています。

```
parseInt(feeType)
```

次が指定したフィールド値です。

```
feeType
--------
2
2.1
2a
3
3b
(null)
5
```

これらのフィールド値に対して、以下の行が返されます。

```
2
2
3
(null)
5
```

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

`parseJson` を使用して、JSON オブジェクトから値を抽出します。

データセットがクイック に保存されている場合はSPICE、データセットを準備する`parseJson`ときに を使用できますが、分析中に計算フィールドには使用できません。

直接クエリの場合、`parseJson` を使用して、データの準備中および分析中にも使用することができます。`parseJson` 関数は、次の表に示すように、ダイアレクトに応じて、文字列または JSON ネイティブデータ型のいずれかに適用されます。


| ダイアレクト | タイプ | 
| --- | --- | 
| PostgreSQL | JSON | 
| Amazon Redshift | 文字列 | 
| Microsoft SQL Server | 文字列 | 
| MySQL | JSON | 
| Teradata | JSON | 
| Oracle | 文字列 | 
| Presto | 文字列 | 
| Snowflake | 半構造化されたデータ型オブジェクトと配列 | 
| Hive | String | 

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

```
parseJson(fieldName, path)
```

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

 *fieldName*   
解析する JSON オブジェクトを含むフィールド。

 *パス*   
JSON オブジェクトから解析するデータ要素へのパス。パス引数では、英字、数字、および空白のみサポートされています。有効なパス構文には以下があります。  
+ *\$1* － ルートオブジェクト
+ *.* － 子演算子
+ *[ ]* － 配列の添字演算子

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

String

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

次の例では、受信 JSON を評価して、アイテムの数量の値を取得します。データの準備中にこれを使用することで、JSON からテーブルを作成することができます。

```
parseJson({jsonField}, “$.items.qty”)
```

以下に JSON を示します。

```
{
    "customer": "John Doe",
    "items": {
        "product": "Beer",
        "qty": 6
    },
    "list1": [
        "val1",
        "val2"
    ],
    "list2": [
        {
            "list21key1": "list1value1"
        }
    ]
}
```

この例では、次の値が返されます。

```
6
```

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

以下の例は、`JSONObject1` を評価して `"State"` というラベルが付いた最初のキーバリューペア (KVP) を抽出し、作成している計算フィールドにその値を割り当てます。

```
parseJson(JSONObject1, “$.state”)
```

次が指定したフィールド値です。

```
JSONObject1
-----------
{"State":"New York","Product":"Produce","Date Sold":"1/16/2018","Sales Amount":"$3423.39"}
{"State":"North Carolina","Product":"Bakery Products","Date Sold":"2/1/2018","Sales Amount":"$3226.42"}
{"State":"Utah","Product":"Water","Date Sold":"4/24/2018","Sales Amount":"$7001.52"}
```

これらのフィールド値に対して、以下の行が返されます。

```
New York
North Carolina
Utah
```

# Replace
<a name="replace-function"></a>

`replace` は、文字列の一部を、指定した別の文字列に置き換えます。

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

```
replace(expression, substring, replacement)
```

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

 *expression*   
expression は文字列である必要があります。文字列データ型を使用しているフィールドの名前、**'12 Main Street'** のようなリテラル値、または文字列を出力する別の関数の呼び出しを使用できます。

 *substring*   
*expression* の中で置き換える一連の文字。substring は *expression* の中で複数回出現することがあります。

 *replacement*   
*substring* を置き換える文字列。

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

String

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

次の例では、部分文字列 'and' を 'or' で置き換えています。

```
replace('1 and 2 and 3', 'and', 'or')
```

次の文字列が返されます。

```
1 or 2 or 3
```

# Right
<a name="right-function"></a>

`right` は、文字列の右端の文字 (空白文字を含む) を返します。返される文字数を指定します。

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

```
right(expression, limit)
```

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

 *expression*   
expression は文字列である必要があります。文字列データ型を使用しているフィールドの名前、**'12 Main Street'** のようなリテラル値、または文字列を出力する別の関数の呼び出しを使用できます。

 *制限*   
*expression* の文字列の末尾から返される文字の数。

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

String

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

次の例では、文字列の末尾の 5 文字を返しています。

```
right('Seattle Store#14', 12)
```

次の値が返されます。

```
tle Store#14
```

# Round
<a name="round-function"></a>

`round` は、scale が指定されていない場合は、小数値を最も近い整数に丸め、scale が指定されている場合は、指定された小数点以下の桁数で最も近い小数に四捨五入します。

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

```
round(decimal, scale)
```

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

 *10 進数*   
小数データ型、**17.62** のようなリテラル値、または小数を出力する別の関数の呼び出しを使用しているフィールド。

 *scale*   
戻り値に使用される小数点以下の桁数。

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


| オペランド | レガシーデータ準備エクスペリエンスのリターンタイプ | 新しいデータ準備エクスペリエンスでタイプを返す | 
| --- | --- | --- | 
|  INT  |  DECIMAL (修正済み)  |  DECIMAL (修正済み)  | 
|  DECIMAL (修正済み)  |  DECIMAL (修正済み)  |  DECIMAL (修正済み)  | 
|  DECIMAL (FLOAT)  |  DECIMAL (修正済み)  |  DECIMAL (FLOAT)  | 

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

次の例では、小数フィールドを最も近い小数点以下 2 桁の小数に四捨五入します。

```
round(salesAmount, 2)
```

次が指定したフィールド値です。

```
20.1307
892.0388
57.5447
```

これらのフィールド値に対して、以下の値が返されます。

```
20.13
892.04
58.54
```

# Rtrim
<a name="rtrim-function"></a>

`rtrim` は、文字列の末尾にある空白文字を除去します。

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

```
rtrim(expression)
```

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

 *expression*   
expression は文字列である必要があります。文字列データ型を使用しているフィールドの名前、**'12 Main Street'** のようなリテラル値、または文字列を出力する別の関数の呼び出しを使用できます。

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

String

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

次の例では、文字列から末尾の空白文字を除去しています。

```
rtrim('Seattle Store #14   ')
```

これらのフィールド値に対して、以下の値が返されます。

```
Seattle Store #14
```

# Split
<a name="split-function"></a>

`split` は、選択する区切り記号に基づいて文字列を部分文字列の配列に分割し、位置によって指定された項目を返します。

`split` はデータの準備中にのみ計算フィールドに追加でき、分析には追加できません。この関数は、Microsoft SQL Server への直接クエリではサポートされていません。

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

```
split(expression, delimiter , position)
```

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

 *expression*   
expression は文字列である必要があります。文字列データ型を使用しているフィールドの名前、**'12 Main Street;1402 35th Ave;1818 Elm Ct;11 Janes Lane'** のようなリテラル値、または文字列を出力する別の関数の呼び出しを使用できます。

 *delimiter*   
文字列が部分文字列に分割される場所を区切る文字です。たとえば、`split('one|two|three', '|', 2)` は次のようになります。  

```
one
two
three
```
`position = 2` を選択すると、`split` は `'two'` を返します。

 *position*   
(必須) 配列から返される項目の位置です。配列内の最初の項目の位置は 1 です。

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

文字列配列

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

次の例では、セミコロンの文字 (;) を区切り記号として使用して文字列を配列に分割し、配列の 3 番目の要素を返します。

```
split('123 Test St;1402 35th Ave;1818 Elm Ct;11 Janes Lane', ';', 3)
```

次の項目が返されます。

```
1818 Elm Ct
```

この関数は、Null 値または空の文字列が含まれる項目をスキップします。

# Sqrt
<a name="sqrt-function"></a>

`sqrt` は、指定された式の平方根を返します。

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

```
sqrt(expression)
```

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

 *expression*   
式は数値である必要があります。フィールド名、リテラル値、または別の関数にすることができます。

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

`startsWith` は、式が指定した部分文字列で始まるかどうかを評価します。式が部分文字列で始まる場合、`startsWith` は true を返し、それ以外の場合は false を返します。

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

```
startsWith(expression, substring, string-comparison-mode)
```

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

 *expression*   
expression は文字列である必要があります。文字列データ型を使用しているフィールドの名前、**'12 Main Street'** のようなリテラル値、または文字列を出力する別の関数の呼び出しを使用できます。

 *substring*   
式と照合する文字のセット。部分文字列は式の中で複数回出現することがあります。

 文字列比較モード   
(オプション) 文字列比較モードを指定し、以下を使用します。  
+ `CASE_SENSITIVE` – 文字列比較では、大文字と小文字が区別されます。
+ `CASE_INSENSITIVE` – 文字列比較では、大文字と小文字が区別されません。
空白の場合、この値はデフォルトで `CASE_SENSITIVE` です。

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

ブール値

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

### デフォルトの大文字と小文字を区別した例
<a name="startsWith-function-example-default-case-sensitive"></a>

次の例では大文字と小文字を区別し、`state_nm` startsWith **New** かどうかを評価します。

```
startsWith(state_nm, "New")
```

次が指定したフィールド値です。

```
New York
new york
```

これらのフィールド値に対して、以下の値が返されます。

```
true
false
```

### 大文字と小文字を区別しない例
<a name="startsWith-function-example-case-insensitive"></a>

次の例では大文字と小文字を区別せず、`state_nm` startsWith **new** かどうかを評価します。

```
startsWith(state_nm, "new", CASE_INSENSITIVE)
```

次が指定したフィールド値です。

```
New York
new york
```

これらのフィールド値に対して、以下の値が返されます。

```
true
true
```

### 条件ステートメントの例
<a name="startsWith-function-example-conditional-statements"></a>

この `startsWith` 関数は、「[avgIf](https://docs.aws.amazon.com/quicksight/latest/user/avgIf-function.html)」、「[minIf](https://docs.aws.amazon.com/quicksight/latest/user/minIf-function.html)」、「[distinct\$1countIf](https://docs.aws.amazon.com/quicksight/latest/user/distinct_countIf-function.html)」、「[countIf](https://docs.aws.amazon.com/quicksight/latest/user/countIf-function.html)」、「[maxIf](https://docs.aws.amazon.com/quicksight/latest/user/maxIf-function.html)」、「[medianIf](https://docs.aws.amazon.com/quicksight/latest/user/medianIf-function.html)」、「[stdevIf](https://docs.aws.amazon.com/quicksight/latest/user/stdevIf-function.html)」、「[stdevpIf](https://docs.aws.amazon.com/quicksight/latest/user/stdevpIf-function.html)」、「[sumIf](https://docs.aws.amazon.com/quicksight/latest/user/sumIf-function.html)」、「[varIf](https://docs.aws.amazon.com/quicksight/latest/user/varIf-function.html)」、「[varpIf](https://docs.aws.amazon.com/quicksight/latest/user/varpIf-function.html)」の If 関数内の条件ステートメントとして使用できます。

次の例は、state\$1nm が **New** で始まっている場合にのみ `Sales` が合計されます。

```
sumIf(Sales,startsWith(state_nm, "New"))
```

### 例は含まれていません
<a name="startsWith-function-example-does-not-start-with"></a>

条件 `NOT` 演算子を使用して、式が指定された部分文字列で始まらないかどうかを評価できます。

```
NOT(startsWith(state_nm, "New"))
```

### 数値を使用した例
<a name="startsWith-function-example-numeric-values"></a>

`toString` 関数を適用することで、式または部分文字列引数に数値を使用できます。

```
startsWith(state_nm, toString(5) )
```

# Strlen
<a name="strlen-function"></a>

`strlen` は、文字列内の文字数 (空白文字を含む) を返します。

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

```
strlen(expression)
```

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

 *expression*   
expression には、文字列データ型を使用している **address1** のようなフィールドの名前、**'Unknown'** のようなリテラル値、または文字列を出力する `substring(field_name,0,5)` のような別の関数を使用できます。

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

整数

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

次の例では、指定された文字列の長さを返しています。

```
strlen('1421 Main Street')
```

次の値が返されます。

```
16
```

# Substring
<a name="substring-function"></a>

`substring` は、文字列内の、*start* 引数で指定されている位置から、*length* 引数で指定されている文字数分の文字を返します。

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

```
substring(expression, start, length)
```

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

 *expression*   
expression には、文字列データ型を使用している **address1** のようなフィールドの名前、**'Unknown'** のようなリテラル値、または文字列を出力する `substring(field_name,1,5)` のような別の関数を使用できます。

 *start*   
文字の開始位置。*start* の位置自体も含まれるため、開始位置の文字が、返される値の先頭文字になります。*start* の最小値は 1 です。

 *length*   
*start* の後に含める追加の文字の数。*length* には *start* も含まれるため、返される最後の文字は、開始文字から (*length - 1*) 番目の文字になります。

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

String

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

次の例では、文字列内の 13 番目～19 番目の文字を返しています。文字列の先頭はインデックス 1 なので、最初の文字からカウントを開始します。

```
substring('Fantasy and Science Fiction',13,7)
```

次の値が返されます。

```
Science
```

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

リテラルラベルと戻り式の組み合わせのセット内で、`switch` は条件式をリテラルラベルと比較します。次に、条件式と等しい最初のリテラルラベルに対応する戻り式を返します。条件式と等しいラベルがない場合は、`switch` はデフォルト式を返します。戻り式とデフォルト式はすべて同じデータ型でなければなりません。

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

```
switch(condition-expression, label-1, return-expression-1 [, label-n, return-expression-n ...], 
        default-expression)
```

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

`switch` は、1 つ以上の *if*、*then* 式のペアと、1 つの正確な *else* 引数の式を必要とします。

 条件式   
ラベルリテラルと比較する式。`address` のようなフィールド名、「`Unknown`」のようなリテラル値、または `toString(salesAmount)` のような別のスカラー関数を使用できます。

 ラベル   
条件式引数と比較するリテラルは、すべてのリテラルが条件式引数と同じデータ型でなければなりません。`switch` は最大 5000 個のラベルを受け付けます。

 戻り式   
ラベルの値が条件式の値と等しい場合に返される式。`address` のようなフィールド名、「`Unknown`」のようなリテラル値、または `toString(salesAmount)` のような別のスカラー関数を使用できます。戻り式の引数はすべて、デフォルト式と同じデータ型を使用する必要があります。

 デフォルト式   
ラベル引数のいずれの値も条件式の値と等しくない場合に返される式。`address` のようなフィールド名、「`Unknown`」のようなリテラル値、または `toString(salesAmount)` のような別のスカラー関数を使用できます。デフォルト式は、すべての戻り式引数と同じデータ型を使用する必要があります。

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

`switch` は、同じデータ型の値を戻り式の値で返します。すべてのデータを返す戻り式およびデフォルト式は、同じデータ型であるか、同じデータ型に変換されている必要があります。

## 一般的な例
<a name="switch-function-example"></a>

次の の例では、入力リージョン名の AWS リージョン コードを返します。

```
switch(region_name, 
               "US East (N. Virginia)", "us-east-1", 
               "Europe (Ireland)", "eu-west-1", 
               "US West (N. California)", "us-west-1", 
               "other regions")
```

次が指定したフィールド値です。

```
"US East (N. Virginia)"
        "US West (N. California)"
        "Asia Pacific (Tokyo)"
```

これらのフィールド値に対して、以下の値が返されます。

```
"us-east-1"
        "us-west-1"
        "other regions"
```

## スイッチを使用して `ifelse` を交換してください
<a name="switch-instead-of-ifelse"></a>

次の `ifelse` の使用例は前の例と同等で、`ifelse` があるフィールドの値が別のリテラル値に等しいかどうかを評価するには、代わりに `switch` を使用する方が適切です。

```
ifelse(region_name = "US East (N. Virginia)", "us-east-1", 
               region_name = "Europe (Ireland)", "eu-west-1", 
               region_name = "US West (N. California)", "us-west-1", 
               "other regions")
```

## 戻り値としての式
<a name="switch-expression-as-return-value"></a>

次の例では、戻り式に式を使用しています。

```
switch({origin_city_name}, 
               "Albany, NY", {arr_delay} + 20, 
               "Alexandria, LA", {arr_delay} - 10,
               "New York, NY", {arr_delay} * 2, 
               {arr_delay})
```

前の例では、特定の都市から出発する各フライトの予想遅延時間を変更しています。

![\[表形式で示している、関数の例の結果の画像。\]](http://docs.aws.amazon.com/ja_jp/quick/latest/userguide/images/switch-function-example.png)


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

`toLower` は文字列をすべて小文字に書式設定します。`toLower` は Null 値を含む行はスキップします。

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

```
toLower(expression)
```

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

 *expression*   
expression は文字列である必要があります。文字列データ型を使用しているフィールドの名前、**'12 Main Street'** のようなリテラル値、または文字列を出力する別の関数の呼び出しを使用できます。

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

String

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

次の例では、文字列値を小文字に変換しています。

```
toLower('Seattle Store #14')
```

次の値が返されます。

```
seattle store #14
```

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

`toString` は入力式を文字列として書式設定します。`toString` は Null 値を含む行はスキップします。

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

```
toString(expression)
```

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

 *expression*   
 expression には、任意のデータ型のフィールド、**14.62** のようなリテラル値、または任意のデータ型を返す別の関数の呼び出しを使用できます。

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

String

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

次の例では、`payDate` (`date` データ型を使用) の値を文字列として返しています。

```
toString(payDate)
```

次が指定したフィールド値です。

```
payDate
--------
1992-11-14T00:00:00.000Z
2012-10-12T00:00:00.000Z
1973-04-08T00:00:00.000Z
```

これらのフィールド値に対して、以下の行が返されます。

```
1992-11-14T00:00:00.000Z
2012-10-12T00:00:00.000Z
1973-04-08T00:00:00.000Z
```

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

`toUpper` は文字列をすべて大文字に書式設定します。`toUpper` は Null 値を含む行はスキップします。

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

```
toUpper(expression)
```

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

 *expression*   
expression は文字列である必要があります。文字列データ型を使用しているフィールドの名前、**'12 Main Street'** のようなリテラル値、または文字列を出力する別の関数の呼び出しを使用できます。

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

String

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

次の例では、文字列値を大文字に変換しています。

```
toUpper('Seattle Store #14')
```

次の値が返されます。

```
SEATTLE STORE #14
```

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

`trim` は、文字列の先頭と末尾の両方の空白文字を除去します。

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

```
trim(expression)
```

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

 *expression*   
expression は文字列である必要があります。文字列データ型を使用しているフィールドの名前、**'12 Main Street'** のようなリテラル値、または文字列を出力する別の関数の呼び出しを使用できます。

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

String

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

次の例では、文字列から末尾の空白文字を除去しています。

```
trim('   Seattle Store #14   ')
```

これらのフィールド値に対して、以下の値が返されます。

```
Seattle Store #14
```

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

`truncDate` は、日付の指定された部分を表す日付値を返します。たとえば、値 2012-09-02T00:00:00.000Z の年の部分を要求した場合、2012-01-01T00:00:00.000Z が返されます。時間情報を含んでいない日付の時間関連の期間を指定した場合、最初の日付値が変更されずに返されます。

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

```
truncDate('period', date)
```

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

 *期間*   
返す日付の期間。有効な期間は次のとおりです。  
+ YYYY: 日付の年の部分を返します。
+ Q: 日付が属している四半期の最初の日の日付を返します。
+ MM: 日付の月の部分を返します。
+ DD: 日付の日の部分を返します。
+ WK: 日付の週の部分を返します。Amazon Quick の週は日曜日に始まります。
+ HH: 日付の時間の部分を返します。
+ MI: 日付の分の部分を返します。
+ SS: 日付の秒の部分を返します。
+ MS: 日付のミリ秒の部分を返します。

 *date*   
日付フィールド、または日付を出力する別の関数の呼び出し。

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

日付

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

次の例では、注文日の月を表す日付を返します。

```
truncDate('MM', orderDate)
```

次が指定したフィールド値です。

```
orderDate      
=========
2012-12-14T00:00:00.000Z  
2013-12-29T00:00:00.000Z
2012-11-15T00:00:00.000Z
```

これらのフィールド値に対して、以下の値が返されます。

```
2012-12-01T00:00:00.000Z
2013-12-01T00:00:00.000Z
2012-11-01T00:00:00.000Z
```