

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 함수
<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`은 datetime 값에서 시간 단위를 더하거나 뺍니다. 예를 들어, `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*   
제공된 datetime 필드에서 더하거나 빼려는 시간의 양을 나타내는 양수 또는 음수인 정수 값.

 *period*   
제공된 datetime 필드에서 더하거나 빼려는 시간의 양을 나타내는 양수 또는 음수의 값. 유효한 기간은 다음과 같습니다.  
+ YYYY: 날짜의 연도 부분을 반환합니다.
+ Q: 날짜가 속하는 분기를 반환합니다(1\$14).
+ MM: 날짜의 월 부분을 반환합니다.
+ DD: 날짜의 일 부분을 반환합니다.
+ WK: 날짜의 주 부분을 반환합니다. 주가 Amazon Quick에서 일요일에 시작됩니다.
+ HH: 날짜의 시간 부분을 반환합니다.
+ MI: 날짜의 분 부분을 반환합니다.
+ SS: 날짜의 초 부분을 반환합니다.
+ MS: 날짜의 밀리초 부분을 반환합니다.

 *datetime*   
날짜를 계산하려는 날짜 또는 시간.

## 반환 타입
<a name="addDateTime-function-return-type"></a>

날짜시간

## 예제
<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>

Integer 

## 출력 값
<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` 인수 값이 0이면 근무일이든 주말이든 상관없이 입력 날짜와 동일한 값을 산출합니다.

`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/ko_kr/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`은 10진수 값을 다음 높은 정수로 올립니다. 예를 들어, `ceil(29.02)`은 `30`을 반환합니다.

## 구문
<a name="ceil-function-syntax"></a>

```
ceil(decimal)
```

## 인수
<a name="ceil-function-arguments"></a>

 *decimal*   
10진수 데이터 형식을 사용하는 필드, **17.62**와 같은 리터럴 값 또는 10진수를 출력하는 다른 함수에 대한 호출일 수 있습니다.

## 반환 타입
<a name="ceil-function-return-type"></a>

Integer

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

다음 예에서는 10진수 필드를 다음 높은 정수로 올립니다.

```
ceil(salesAmount)
```

다음은 주어진 필드 값의 예입니다.

```
20.13
892.03
57.54
```

이러한 필드 값의 경우 다음 값이 반환됩니다.

```
21
893
58
```

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

`coalesce`는 null이 아닌 첫 번째 인수의 값을 반환합니다. null이 아닌 값이 있으면 목록의 나머지 인수는 평가되지 않습니다. 인수가 nill인, 결과가 null인 경우 0-length 문자열은 유효한 값으로 null과 동일하게 간주되지 않습니다.

## 구문
<a name="coalesce-function-syntax"></a>

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

## 인수
<a name="coalesce-function-arguments"></a>

`coalesce`는 두 개 이상의 표현식을 인수로 사용합니다. 모든 표현식은 데이터 형식이 동일하거나 동일한 데이터 형식으로 암시적으로 캐스팅할 수 있어야 합니다.

 *expression*   
숫자, 날짜 및 시간(datetime), 문자열로 구성될 수 있는 표현식입니다. 필드 이름, 리터럴 값, 또 다른 함수가 될 수 있습니다.

## 반환 타입
<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`은 두 개 이상의 문자열을 연결합니다.

## 구문
<a name="concat-function-syntax"></a>

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

## 인수
<a name="concat-function-arguments"></a>

`concat`는 두 개 이상의 문자열 표현식을 인수로 사용합니다.

 *expression*   
표현식은 문자열이어야 합니다. 문자열 데이터 형식을 사용하는 필드의 이름, **'12 Main Street'**와 같은 리터럴 값 또는 문자열을 출력하는 다른 함수에 대한 호출일 수 있습니다.

## 반환 타입
<a name="concat-function-return-type"></a>

문자열

## 예제
<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`은(는) 지정한 하위 문자열이 표현식 내에 존재하는지 평가합니다. 표현식에 하위 문자열이 포함되어 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다.

## 구문
<a name="contains-function-syntax"></a>

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

## 인수
<a name="contains-function-arguments"></a>

 *expression*   
표현식은 문자열이어야 합니다. 문자열 데이터 형식을 사용하는 필드의 이름, **'12 Main Street'**와 같은 리터럴 값 또는 문자열을 출력하는 다른 함수에 대한 호출일 수 있습니다.

 *substring*   
표현식과 비교하여 확인할 문자 세트입니다. 이 하위 문자열은 표현식에서 2회 이상 나타날 수 있습니다.

 string-comparison-mode   
(선택 사항) 사용할 문자열 비교 모드를 지정합니다.  
+ `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), and [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`는 소수점과 그 뒤에 오는 모든 숫자를 잘라내 10진수 값을 정수 데이터 형식으로 변환합니다. `decimalToInt`는 반올림하지 않습니다. 예를 들어, `decimalToInt(29.99)`은 `29`을 반환합니다.

## 구문
<a name="decimalToInt-function-syntax"></a>

```
decimalToInt(decimal)
```

## 인수
<a name="decimalToInt-function-arguments"></a>

 *decimal*   
10진수 데이터 형식을 사용하는 필드, **17.62**와 같은 리터럴 값 또는 10진수를 출력하는 다른 함수에 대한 호출일 수 있습니다.

## 반환 타입
<a name="decimalToInt-function-return-type"></a>

Integer

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

다음 예에서는 10진수 필드를 정수로 변환합니다.

```
decimalToInt(salesAmount)
```

다음은 주어진 필드 값의 예입니다.

```
 20.13
892.03
 57.54
```

이러한 필드 값의 경우 다음 값이 반환됩니다.

```
 20
892
 57
```

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

`dateDiff`는 두 날짜 필드 간의 일수 차이를 반환합니다. 기간 값을 포함하면, `dateDiff`는 일이 아닌 기간의 차이를 반환합니다.

## 구문
<a name="dateDiff-function-syntax"></a>

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

## 인수
<a name="dateDiff-function-arguments"></a>

`dateDiff`는 표현식 두 날짜를 인수로 사용합니다. 기간 지정은 옵션 사항입니다.

 날짜 1   
비교의 첫 날짜입니다. 날짜 필드이거나 날짜를 출력하는 다른 함수에 대한 호출입니다.

 날짜 2   
비교의 두 번째 날짜입니다. 날짜 필드이거나 날짜를 출력하는 다른 함수에 대한 호출입니다.

 *period*   
반환하려는 차이 기간을 따옴표로 묶습니다. 유효한 기간은 다음과 같습니다.  
+ YYYY: 날짜의 연도 부분을 반환합니다.
+ Q: 날짜가 속하는 분기의 첫 번째 날짜를 반환합니다.
+ MM: 날짜의 월 부분을 반환합니다.
+ DD: 날짜의 일 부분을 반환합니다.
+ WK: 날짜의 주 부분을 반환합니다. 주가 Amazon Quick에서 일요일에 시작됩니다.
+ HH: 날짜의 시간 부분을 반환합니다.
+ MI: 날짜의 분 부분을 반환합니다.
+ SS: 날짜의 초 부분을 반환합니다.
+ MS: 날짜의 밀리초 부분을 반환합니다.

## 반환 타입
<a name="dateDiff-function-return-type"></a>

Integer

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

다음 예에서는 두 날짜 간의 차이 일수를 반환합니다.

```
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`은(는) 표현식이 지정한 하위 문자열로 끝나는지 평가합니다. 표현식이 하위 문자열로 끝나는 경우 true를 반환하고 그렇지 않으면 `endsWith`에서 false를 반환합니다.

## 구문
<a name="endsWith-function-syntax"></a>

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

## 인수
<a name="endsWith-function-arguments"></a>

 *expression*   
표현식은 문자열이어야 합니다. 문자열 데이터 형식을 사용하는 필드의 이름, **'12 Main Street'**와 같은 리터럴 값 또는 문자열을 출력하는 다른 함수에 대한 호출일 수 있습니다.

 *substring*   
표현식과 비교하여 확인할 문자 세트입니다. 이 하위 문자열은 표현식에서 2회 이상 나타날 수 있습니다.

 string-comparison-mode   
(선택 사항) 사용할 문자열 비교 모드를 지정합니다.  
+ `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`이 **"York"**로 종료되는지 평가합니다.

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

다음은 주어진 필드 값의 예입니다.

```
New York
new york
```

이러한 필드 값의 경우 다음 값이 반환됩니다.

```
true
false
```

### 대소문자를 구분하지 않는 예
<a name="endsWith-function-example-case-insensitive"></a>

다음 대소문자를 구분하지 않는 예에서는 `state_nm`이 **"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) 함수 내에서 조건문으로 사용할 수 있습니다.

다음 예제에서는 `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](http://www.joda.org/joda-time/apidocs/org/joda/time/format/DateTimeFormat.html)에 지정된 포맷 패턴 구문을 사용하여 에포크 날짜를 yyyy-MM-dd**T**kk:mm:ss.SSS**Z** 형식의 표준 날짜로 변환합니다. 예를 들면, `2015-10-15T19:11:51.003Z`입니다.

`epochDate`는 Quick()에 저장된 데이터 세트를 기반으로 하는 분석에 사용할 수 있습니다SPICE.

## 구문
<a name="epochDate-function-syntax"></a>

```
epochDate(epochdate)
```

## 인수
<a name="epochDate-function-arguments"></a>

 *epochdate*   
epoch 날짜는 날짜의 정수 표현으로, 00:00:00 UTC on January 1, 1970년 1월 1일 00:00:00 UTC 이후 경과된 시간을 초 수로 표시합니다.  
*epochdate*는 정수여야 합니다. 이 값은 정수 데이터 형식을 사용하는 필드의 이름, '3'과 같은 리터럴 값 또는 정수를 출력하는 다른 함수에 대한 호출일 수 있습니다. 정수 값이 10자리보다 길면 10번째 자리 이후 숫자는 잘립니다.

## 반환 타입
<a name="epochDate-function-return-type"></a>

Date

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

다음 예에서는 epoch 날짜를 표준 날짜로 변환합니다.

```
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>

 *period*   
날짜 값에서 추출하고자 하는 기간입니다. 유효한 기간은 다음과 같습니다.  
+ YYYY: 날짜의 연도 부분을 반환합니다.
+ Q: 날짜가 속하는 분기를 반환합니다(1\$14).
+ MM: 날짜의 월 부분을 반환합니다.
+ DD: 날짜의 일 부분을 반환합니다.
+ WD: 요일을 정수로 반환합니다. 일요일은 1입니다.
+ HH: 날짜의 시간 부분을 반환합니다.
+ MI: 날짜의 분 부분을 반환합니다.
+ SS: 날짜의 초 부분을 반환합니다.
+ MS: 날짜의 밀리초 부분을 반환합니다.
**참고**  
밀리초 추출은 버전 0.216 미만의 Presto 데이터베이스에서는 지원되지 않습니다.

 *date*   
날짜 필드이거나 날짜를 출력하는 다른 함수에 대한 호출입니다.

## 반환 타입
<a name="extract-function-return-type"></a>

Integer

## 예제
<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`은 10진수 값을 다음 낮은 정수로 내립니다. 예를 들어, `floor(29.08)`은 `29`을 반환합니다.

## 구문
<a name="floor-function-syntax"></a>

```
floor(decimal)
```

## 인수
<a name="floor-function-arguments"></a>

 *decimal*   
10진수 데이터 형식을 사용하는 필드, **17.62**와 같은 리터럴 값 또는 10진수를 출력하는 다른 함수에 대한 호출일 수 있습니다.

## 반환 타입
<a name="floor-function-return-type"></a>

Integer

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

다음 예에서는 10진수 필드를 다음 낮은 정수로 내립니다.

```
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>

문자열

## 예제
<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* 표현식 쌍을 평가해 true로 평가된 첫 번째 *if* 인수에 대한 *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`은(는) 한 개 이상의 if, then 표현식 쌍 한 개 이상과 else 인수 표현식에 대한 단 한 개의 표현식을 요구합니다.

 IF 표현식   
true 또는 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 표현식   
true로 평가되는 *if* 인수가 있는 경우 반환하는 표현식입니다. 이것은 **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회 이상 주문한 워싱턴 또는 오리건 비거주(NOT) 최우수 고객을 태깅합니다. 아무 값도 반환되지 않으면 값 `'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) 함수에서 사용할 수 있습니다. 다음 예제는 리터럴 목록이 두 개의 다중값 파라미터에 저장된다는 점을 제외하면 이전 예제와 동일합니다.

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

다음 예에서는 총 매출을 기준으로 판매 레코드에 그룹을 할당합니다. between의 각 `if-then` 구문의 구조는 현재 계산된 필드 표현식에서는 작동하지 않는 키워드인 betone의 동작을 모방합니다. 예를 들어 비교 결과 `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')
```

다음은 코드를 모두 하나의 긴 줄로 압축할 필요가 없다는 것을 보여주기 위해 좀 더 읽기 쉬운 형식으로 더 복잡한 예를 보여줍니다. 이 예시에서는 설문조사 결과의 가치를 여러 번 비교할 수 있습니다. 이 필드의 잠재적 NULL 값을 처리하고 허용 가능한 두 범위를 분류합니다. 또한 추가 테스트가 필요한 범위 하나와 유효하지 않은 범위 범위를 (벗어남)에 레이블을 지정합니다. 나머지 모든 값에 대해서는 `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. 다음과 같이 목록에서 `State`(각 행의) 값을 찾을 수 있는지 확인합니다. 예를 들어 목록에서 주를 찾으면 `locate` 함수를 사용하여 0이 아닌 값을 반환합니다.

   ```
   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` Boolean 값이 필요합니다. 이 문제를 해결하기 위해 `locate`의 결과를 숫자와 비교할 수 있습니다. 상태가 목록에 있는 경우 반환 값은 0보다 큽니다.

   1. 상태가 존재하는지 물어보십시오.

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

   1. 해당 리전이 있는 경우 특정 리전(이 경우에는 북동부 리전)으로 라벨을 붙이세요.

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

1. 목록에 없는 주가 있고 하나의 `else` 표현식만 `ifelse`에 필요하기 때문에 남은 주에 대한 레이블로 `'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( )` 함수에 포함시켜 최종 버전을 구합니다. 다음 예시에서는 원본에 있던 남동부 리전의 주를 제외합니다. *`<insert more regions here>`* 태그 대신 다시 추가할 수 있습니다.

   더 많은 리전을 추가하려는 경우 두 줄의 사본을 더 만들고 용도에 맞게 주 목록을 변경할 수 있습니다. 리전 이름을 자신에게 맞는 이름으로 변경하고 필드 이름을 `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 문을 0과 비교하여 목록에서 누락된 값을 찾은 다음 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`은(는) 표현식이 리터럴 목록 내에 존재하는지 평가합니다. 목록에 표현식이 포함된 경우 in은 true를 반환하고 그렇지 않으면 false를 반환합니다. `in`은(는) 문자열 유형 입력의 경우 대소문자를 구분합니다.

`in`은(는) 두 종류의 리터럴 목록을 받아들입니다. 하나는 수동으로 입력한 목록이고 다른 하나는 [다중 값 파라미터](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)에 대한 직접 쿼리에서는 제한이 더 작을 수 있습니다.  
+ **수동으로 입력한 목록** - 표현식과 비교할 목록에 있는 하나 이상의 리터럴 값입니다. 목록은 대괄호로 묶어야 합니다. 비교할 모든 리터럴은 표현식과 동일한 데이터 유형을 가져야 합니다.
+ **다중 값 파라미터** - 리터럴 목록으로 전달되는 미리 정의된 다중 값 파라미터입니다. 다중값 파라미터는 표현식과 동일한 데이터 유형을 가져야 합니다.


## 반환 타입
<a name="in-function-return-type"></a>

부울 참/거짓

## 정적 목록이 있는 예
<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
```

포함된 값 중 하나는 “Texas”뿐이므로 세 번째 반환 값은 true입니다.

다음 예제에서는 문자열 목록의 `fl_date` 필드 값을 평가합니다. 유형을 일치시키기 위해 날짜 유형을 문자열 유형으로 변환하는 데 `toString`이 사용됩니다.

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

![\[함수 예제의 결과 이미지로, 표 형식으로 표시됩니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/in-function-example-manual-list.png)


리스트의 리터럴과 비교할 표현식 인수에는 리터럴과 NULL 값이 지원됩니다. 다음 두 예제 모두 TRUE 값의 새 열을 생성합니다.

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

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

## 예: 다중 값 파라미터를 사용하는 예
<a name="in-function-example-mutivalue-parameter"></a>

작성자가 모든 상태 이름 목록이 포함된 [다중값 파라미터](https://docs.aws.amazon.com/quicksight/latest/user/parameters-in-quicksight.html)를 만든다고 가정해 보겠습니다. 그런 다음 작성자는 독자가 목록에서 값을 선택할 수 있도록 콘트롤을 추가합니다.

그런 다음 판독기는 파라미터의 드롭다운 목록 컨트롤에서 “Georgia”, “Ohio”, “Texas”의 세 가지 값을 선택합니다. 이 경우 다음 표현식은 첫 번째 예와 동일합니다. 첫 번째 예에서는 이 세 개의 주 이름을 리터럴 목록으로 전달하여 `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/ko_kr/quick/latest/userguide/images/in-function-with-ifelse.png)


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

`intToDecimal`은 정수 값을 10진수 데이터 형식으로 변환합니다.

## 구문
<a name="intToDecimal-function-syntax"></a>

```
intToDecimal(integer)
```

## 인수
<a name="intToDecimal-function-arguments"></a>

 *int*   
이 값은 정수 데이터 형식을 사용하는 필드, **14**와 같은 리터럴 값 또는 정수를 출력하는 다른 함수에 대한 호출일 수 있습니다.

## 반환 타입
<a name="intToDecimal-function-return-type"></a>

레거시 데이터 준비 경험의 소수(고정)입니다.

새로운 데이터 준비 경험의 소수(Float)입니다.

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

다음 예에서는 정수 필드를 10진수로 변환합니다.

```
intToDecimal(price)
```

다음은 주어진 필드 값의 예입니다.

```
20
892
57
```

이러한 필드 값의 경우 다음 값이 반환됩니다.

```
20.0
892.0
58.0
```

분석 내에서 형식 지정을 적용하여, 예를 들어 화폐 단위로써 `price`로 형식 지정할 수 있습니다.

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

`isNotNull`은 표현식이 null이 아닌지 평가합니다. 표현식이 null이 아니면 `isNotNull`은 true를 반환하고 null이면 false를 반환합니다.

## 구문
<a name="isNotNull-function-syntax"></a>

```
isNotNull(expression)
```

## 인수
<a name="isNotNull-function-arguments"></a>

 *expression*   
null 또는 null이 아닌 것으로 평가되는 표현식입니다. 이 표현식은 **address1**과 같은 필드 이름 또는 문자열을 출력하는 또 다른 함수일 수 있습니다.

## 반환 타입
<a name="isNotNull-function-return-type"></a>

부울

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

다음 예에서는 sales\$1amount 필드에 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 또는 null이 아닌 것으로 평가되는 표현식입니다. 이 표현식은 **address1**과 같은 필드 이름 또는 문자열을 출력하는 또 다른 함수일 수 있습니다.

## 반환 타입
<a name="isNull-function-return-type"></a>

부울

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

다음 예에서는 sales\$1amount 필드에 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/ko_kr/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*   
표현식은 문자열이어야 합니다. 문자열 데이터 형식을 사용하는 필드의 이름, **'12 Main Street'**와 같은 리터럴 값 또는 문자열을 출력하는 다른 함수에 대한 호출일 수 있습니다.

 *limit*   
문자열의 처음 문자부터 시작해 *표현식*에서 반환될 문자 수입니다.

## 반환 타입
<a name="left-function-return-type"></a>

문자열

## 예제
<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*   
표현식은 문자열이어야 합니다. 문자열 데이터 형식을 사용하는 필드의 이름, **'12 Main Street'**와 같은 리터럴 값 또는 문자열을 출력하는 다른 함수에 대한 호출일 수 있습니다.

 *substring*   
찾으려는 *표현식*의 문자 세트. 이 하위 문자열은 *표현식*에서 2회 이상 나타날 수 있습니다.

 *start*   
(선택 사항) *하위 문자열*이 2회 이상 나타나면 *start*를 사용하여 함수가 하위 문자열을 찾기 시작해야 하는 문자열 내 위치를 식별합니다. 예를 들어, 하위 문자열의 두 번째 예를 찾으려 하고 일반적으로 이 하위 문자열이 처음 10개 문자 이후에 나타나는 것을 알고 있다고 가정합시다. 그러면 *start* 값을 10으로 지정합니다. 1부터 시작해야 합니다.

## 반환 타입
<a name="locate-function-return-type"></a>

Integer

## 예제
<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*   
표현식은 문자열이어야 합니다. 문자열 데이터 형식을 사용하는 필드의 이름, **'12 Main Street'**와 같은 리터럴 값 또는 문자열을 출력하는 다른 함수에 대한 호출일 수 있습니다.

## 반환 타입
<a name="ltrim-function-return-type"></a>

문자열

## 예제
<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*   
number는 나누고 나머지를 구하려는 양의 정수입니다.

 *divisor*   
divisor는 나누는 양의 정수입니다. divisor가 0이면, 이 함수는 0으로 나누는 오류를 반환합니다.

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

다음 예제에서는 6으로 나눌 때 17의 모듈로를 반환합니다. 첫 번째 예제에서는 % 연산자를 사용하고 두 번째 예제에서는 mod 함수를 사용합니다.

```
17%6
```

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

다음과 같은 값이 반환됩니다.

```
5
```

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

`netWorkDays`는 제공된 두 날짜 필드 사이의 근무일 수 또는 `parseDate` 또는와 같은 다른 빠른 날짜 함수를 사용하여 생성된 사용자 지정 날짜 값을 정수`epochDate`로 반환합니다.

`netWorkDays`은(는) 월요일에 시작하여 금요일에 끝나는 표준 주 5일 근무를 가정합니다. 토요일과 일요일은 주말인 것으로 간주됩니다. 계산에는 `startDate` 및 `endDate`, 이 두 가지가 모두 포함됩니다. 이 함수는 DAY 세분성에 대해 작동하며 결과를 표시합니다.

## 구문
<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>

Integer 

## 출력 값
<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>

다음 예에서는 두 날짜 사이에 있는 근무일 수를 반환합니다.

다음 값을 포함하며 `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
```

다음 예제는 각 직원의 근무 일수와 각 직원의 하루 지출 급여를 계산합니다.

```
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/ko_kr/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>

Date

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

`notIn`은(는) 표현식이 리터럴 목록 내에 존재하는지 평가합니다. 목록에 표현식이 없으면 true를 반환하고 그렇지 않으면 `notIn`은(는) false를 반환합니다. `notIn`은(는) 문자열 유형 입력의 경우 대소문자를 구분합니다.

`notIn`은(는) 두 종류의 리터럴 목록을 받아들입니다. 하나는 수동으로 입력한 목록이고 다른 하나는 [다중 값 파라미터](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)에 대한 직접 쿼리에서는 제한이 더 작을 수 있습니다.  
+ **수동으로 입력한 목록** - 표현식과 비교할 목록에 있는 하나 이상의 리터럴 값입니다. 목록은 대괄호로 묶어야 합니다. 비교할 모든 리터럴은 표현식과 동일한 데이터 유형을 가져야 합니다.
+ **다중 값 파라미터** - 리터럴 목록으로 전달되는 미리 정의된 다중 값 파라미터입니다. 다중값 파라미터는 표현식과 동일한 데이터 유형을 가져야 합니다.


## 반환 타입
<a name="notIn-function-return-type"></a>

부울 참/거짓

## 수동으로 입력한 목록이 있는 예
<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
```

제외된 값 중 하나는 “Texas”뿐이므로 세 번째 반환 값은 false입니다.

다음 예제에서는 문자열 목록의 `fl_date` 필드 값을 평가합니다. 유형을 일치시키기 위해 날짜 유형을 문자열 유형으로 변환하는 데 `toString`이 사용됩니다.

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

![\[함수 예제의 결과 이미지로, 표 형식으로 표시됩니다.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/notin-function-example-manual-list.png)


리스트의 리터럴과 비교할 표현식 인수에는 리터럴과 NULL 값이 지원됩니다. 다음 두 예제 모두 FALSE 값의 새 열을 생성합니다.

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

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

## 예: 다중 값 파라미터를 사용하는 예
<a name="notIn-function-example-mutivalue-parameter"></a>

작성자가 모든 상태 이름 목록이 포함된 [다중값 파라미터](https://docs.aws.amazon.com/quicksight/latest/user/parameters-in-quicksight.html)를 만든다고 가정해 보겠습니다. 그런 다음 작성자는 독자가 목록에서 값을 선택할 수 있도록 콘트롤을 추가합니다.

그런 다음 판독기는 파라미터의 드롭다운 목록 컨트롤에서 “Georgia”, “Ohio”, “Texas”의 세 가지 값을 선택합니다. 이 경우 다음 표현식은 첫 번째 예와 동일합니다. 첫 번째 예에서는 이 세 개의 주 이름을 리터럴 목록으로 전달하여 `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/ko_kr/quick/latest/userguide/images/notin-function-with-ifelse.png)


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

`nullIf`는 두 표현식을 비교합니다. 두 표현식이 동일하면 이 함수는 null을 반환합니다. 두 표현식이 동일하지 않으면 이 함수는 첫 번째 표현식을 반환합니다.

## 구문
<a name="nullIf-function-syntax"></a>

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

## 인수
<a name="nullIf-function-arguments"></a>

`nullIf`는 표현식 두 개를 인수로 사용합니다.

 *expression*   
숫자, 날짜 및 시간(datetime), 문자열로 구성될 수 있는 표현식입니다. 필드 이름, 리터럴 값, 또 다른 함수가 될 수 있습니다.

## 반환 타입
<a name="nullIf-function-return-type"></a>

문자열

## 예제
<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 값을 포함하는 행을 포함합니다.

Quick은 1900년 1월 1일 00:00:00 UTC\$12037년 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*   
표현식은 문자열이어야 합니다. 문자열 데이터 형식을 사용하는 필드의 이름, **'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/ko_kr/quick/latest/userguide/parseDate-function.html)

## 반환 타입
<a name="parseDate-function-return-type"></a>

Date

## 예제
<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`은 문자열을 구문 분석하여 문자열에 10진수 값이 포함되어 있는지 확인합니다. 이 함수는 10진수, 정수 또는 null 값이 포함된 행을 모두 반환하고 이러한 값이 포함되지 않은 행은 모두 건너뜁니다. 행에 정수 값이 포함되어 있으면 소수점 이하 4자리까지의 십진수로 반환됩니다. 예를 들어, 값 '2'는 '2.0'으로 반환됩니다.

## 구문
<a name="parseDecimal-function-syntax"></a>

```
parseDecimal(expression)
```

## 인수
<a name="parseDecimal-function-arguments"></a>

 *expression*   
표현식은 문자열이어야 합니다. 문자열 데이터 형식을 사용하는 필드의 이름, **'9.62'**와 같은 리터럴 값 또는 문자열을 출력하는 다른 함수에 대한 호출일 수 있습니다.

## 반환 타입
<a name="parseDecimal-function-return-type"></a>

레거시 데이터 준비 경험의 소수(고정)입니다.

새로운 데이터 준비 경험의 소수(Float)입니다.

## 예제
<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`는 문자열을 구문 분석하여 문자열에 정수 값이 포함되어 있는지 확인합니다. 이 함수는 10진수, 정수 또는 null 값이 포함된 행을 모두 반환하고 이러한 값이 포함되지 않은 행은 모두 건너뜁니다. 행에 10진수 값이 포함되어 있는 경우 해당 값은 반내림한 가장 가까운 정수로 반환됩니다. 예를 들어, 값 '2.99'는 '2'로 반환됩니다.

## 구문
<a name="parseInt-function-syntax"></a>

```
parseInt(expression)
```

## 인수
<a name="parseInt-function-arguments"></a>

 *expression*   
표현식은 문자열이어야 합니다. 문자열 데이터 형식을 사용하는 필드의 이름, **'3'**와 같은 리터럴 값 또는 문자열을 출력하는 다른 함수에 대한 호출일 수 있습니다.

## 반환 타입
<a name="parseInt-function-return-type"></a>

Integer

## 예제
<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 기본 데이터 형식에 적용됩니다(다음 표 참조).


| 언어 | Type | 
| --- | --- | 
| PostgreSQL | JSON | 
| Amazon Redshift | 문자열 | 
| Microsoft SQL Server | 문자열 | 
| MySQL | JSON | 
| Teradata | JSON | 
| Oracle | 문자열 | 
| Presto | 문자열 | 
| Snowflake | 반구조화 데이터 형식 객체 및 배열 | 
| Hive | 문자열 | 

## 구문
<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>

문자열

## 예제
<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*   
표현식은 문자열이어야 합니다. 문자열 데이터 형식을 사용하는 필드의 이름, **'12 Main Street'**와 같은 리터럴 값 또는 문자열을 출력하는 다른 함수에 대한 호출일 수 있습니다.

 *substring*   
대체하려는 *표현식*의 문자 세트. 이 하위 문자열은 *표현식*에서 2회 이상 나타날 수 있습니다.

 replacement**   
*하위 문자열*을 대체하려는 문자열

## 반환 타입
<a name="replace-function-return-type"></a>

문자열

## 예제
<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*   
표현식은 문자열이어야 합니다. 문자열 데이터 형식을 사용하는 필드의 이름, **'12 Main Street'**와 같은 리터럴 값 또는 문자열을 출력하는 다른 함수에 대한 호출일 수 있습니다.

 *limit*   
문자열의 마지막 문자부터 시작해 *표현식*에서 반환될 문자 수입니다.

## 반환 타입
<a name="right-function-return-type"></a>

문자열

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

다음 예에서는 문자열의 마지막 5자를 반환합니다.

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

다음과 같은 값이 반환됩니다.

```
tle Store#14
```

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

`round`는 소수 자릿수가 지정되지 않은 경우 10진수 값을 가장 가까운 정수로 올리고 지정된 경우에는 가장 가까운 소수 자릿수로 올립니다.

## 구문
<a name="round-function-syntax"></a>

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

## 인수
<a name="round-function-arguments"></a>

 *decimal*   
10진수 데이터 형식을 사용하는 필드, **17.62**와 같은 리터럴 값 또는 10진수를 출력하는 다른 함수에 대한 호출일 수 있습니다.

 *사용*   
반환 값에 사용되는 소수 자릿수입니다.

## 반환 타입
<a name="round-function-return-type"></a>


| 피연산자 | 레거시 데이터 준비 환경의 반환 유형 | 새 데이터 준비 환경의 반환 유형 | 
| --- | --- | --- | 
|  INT  |  소수(고정)  |  소수(고정)  | 
|  소수(고정)  |  소수(고정)  |  소수(고정)  | 
|  DECIMAL(FLOAT)  |  소수(고정)  |  DECIMAL(FLOAT)  | 

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

다음 예에서는 10진수 필드를 가장 가까운 두 번째 소수 자릿수로 올립니다.

```
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*   
표현식은 문자열이어야 합니다. 문자열 데이터 형식을 사용하는 필드의 이름, **'12 Main Street'**와 같은 리터럴 값 또는 문자열을 출력하는 다른 함수에 대한 호출일 수 있습니다.

## 반환 타입
<a name="rtrim-function-return-type"></a>

문자열

## 예제
<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*   
표현식은 문자열이어야 합니다. 문자열 데이터 형식을 사용하는 필드의 이름, **'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>

다음 예에서는 세미콜론 문자(;)를 사용하여 문자열을 배열로 분할하고 배열의 세 번째 요소를 반환합니다.

```
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`은(는) 표현식이 지정한 하위 문자열로 시작하는지 평가합니다. 표현식이 하위 문자열로 시작하는 경우 true를 반환하고 그렇지 않으면 `startsWith`에서 false를 반환합니다.

## 구문
<a name="startsWith-function-syntax"></a>

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

## 인수
<a name="startsWith-function-arguments"></a>

 *expression*   
표현식은 문자열이어야 합니다. 문자열 데이터 형식을 사용하는 필드의 이름, **'12 Main Street'**와 같은 리터럴 값 또는 문자열을 출력하는 다른 함수에 대한 호출일 수 있습니다.

 *substring*   
표현식과 비교하여 확인할 문자 세트입니다. 이 하위 문자열은 표현식에서 2회 이상 나타날 수 있습니다.

 string-comparison-mode   
(선택 사항) 사용할 문자열 비교 모드를 지정합니다.  
+ `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`이 **New**로 시작되는지 평가합니다.

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

다음은 주어진 필드 값의 예입니다.

```
New York
new york
```

이러한 필드 값의 경우 다음 값이 반환됩니다.

```
true
false
```

### 대소문자를 구분하지 않는 예
<a name="startsWith-function-example-case-insensitive"></a>

다음 대소문자를 구분하지 않는 예에서는 `state_nm`이 **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) 함수 내에서 조건문으로 사용할 수 있습니다.

다음 예제에서는 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*   
표현식은 문자열 데이터 형식(예: **address1**)을 사용하는 필드의 이름, 리터럴 값(예: **'Unknown'**) 또는 다른 함수(예: `substring(field_name,0,5)`)일 수 있습니다.

## 반환 타입
<a name="strlen-function-return-type"></a>

Integer

## 예제
<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*   
표현식은 문자열 데이터 형식(예: **address1**)을 사용하는 필드의 이름, 리터럴 값(예: **'Unknown'**) 또는 다른 함수(예: `substring(field_name,1,5)`)일 수 있습니다.

 *start*   
시작할 문자 위치. *start*는 자신도 포함하므로 시작 위치에 있는 문자가 반환 값의 첫 번째 문자가 됩니다. 시작의 최소값은 1입니다.

 *length*   
시작 다음에 포함할 추가 문자 수. 길이에는 시작도 포함되므로 반환되는 마지막 문자는 시작 문자 다음에 (길이 - 1만큼) 이동한 문자입니다.

## 반환 타입
<a name="substring-function-return-type"></a>

문자열

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

다음 예에서는 문자열의 13\$119번째 문자를 반환합니다. 문자열의 시작은 인덱스 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`은(는) 한 개 이상의 if, then 표현식 쌍 한 개 이상과 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/ko_kr/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*   
표현식은 문자열이어야 합니다. 문자열 데이터 형식을 사용하는 필드의 이름, **'12 Main Street'**와 같은 리터럴 값 또는 문자열을 출력하는 다른 함수에 대한 호출일 수 있습니다.

## 반환 타입
<a name="toLower-function-return-type"></a>

문자열

## 예제
<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*   
 표현식은 데이터 형식 필드, 리터럴 값(예: **14.62**) 또는 데이터 형식을 반환하는 다른 함수에 대한 호출일 수 있습니다.

## 반환 타입
<a name="toString-function-return-type"></a>

문자열

## 예제
<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*   
표현식은 문자열이어야 합니다. 문자열 데이터 형식을 사용하는 필드의 이름, **'12 Main Street'**와 같은 리터럴 값 또는 문자열을 출력하는 다른 함수에 대한 호출일 수 있습니다.

## 반환 타입
<a name="toUpper-function-return-type"></a>

문자열

## 예제
<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*   
표현식은 문자열이어야 합니다. 문자열 데이터 형식을 사용하는 필드의 이름, **'12 Main Street'**와 같은 리터럴 값 또는 문자열을 출력하는 다른 함수에 대한 호출일 수 있습니다.

## 반환 타입
<a name="trim-function-return-type"></a>

문자열

## 예제
<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>

 *period*   
반환하고자 하는 날짜의 기간입니다. 유효한 기간은 다음과 같습니다.  
+ YYYY: 날짜의 연도 부분을 반환합니다.
+ Q: 날짜가 속하는 분기의 첫 번째 날짜를 반환합니다.
+ MM: 날짜의 월 부분을 반환합니다.
+ DD: 날짜의 일 부분을 반환합니다.
+ WK: 날짜의 주 부분을 반환합니다. 주가 Amazon Quick에서 일요일에 시작됩니다.
+ HH: 날짜의 시간 부분을 반환합니다.
+ MI: 날짜의 분 부분을 반환합니다.
+ SS: 날짜의 초 부분을 반환합니다.
+ MS: 날짜의 밀리초 부분을 반환합니다.

 *date*   
날짜 필드이거나 날짜를 출력하는 다른 함수에 대한 호출입니다.

## 반환 타입
<a name="truncDate-function-return-type"></a>

Date

## 예제
<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
```