

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

# 수식 표현식에서 조건부 함수 사용
<a name="expression-conditional-functions"></a>

[변환](transforms.md) 및 [지표](metrics.md)에서 다음 함수를 사용하여 조건을 확인하고 조건이 참으로 평가되는지 거짓으로 평가되는지에 관계없이 다양한 결과를 반환할 수 있습니다.


| 함수 | 설명 | 
| --- | --- | 
| `if(condition, result_if_true, result_if_false)` | `condition`을 평가하고 조건이 참으로 평가되면 `result_if_true`를 반환하고 조건이 `false`로 평가되면 `result_if_false`를 반환합니다.<br />`condition`은 숫자여야 합니다. 이 함수는 `0` 및 빈 문자열을 `false`로 간주하고 그 밖의 모든 것(`NaN` 포함)을 `true`로 간주합니다. 부울은 `0`(거짓)와 `1`(참)로 변환됩니다.<br />이 함수에서 [none 상수](expression-constants.md#none-definition)를 반환하여 특정 조건에 대한 출력값을 무시할 수 있습니다. 즉, 조건을 충족하지 않는 데이터 포인트를 필터링할 수 있습니다. 자세한 내용은 [데이터 포인트 필터링](expression-tutorials.md#filter-data) 단원을 참조하십시오.

**Example 예제**  
+ `if(0, x, y)`에서는 변수 `y`를 반환합니다.
+ `if(5, x, y)`에서는 변수 `x`를 반환합니다.
+ `if(gt(temp, 300), x, y)`에서는 변수 `temp`가 `300`보다 크면 변수 `x`를 반환합니다.
+ `if(gt(temp, 300), temp, none)`에서는 `300`보다 크거나 같으면 변수 `temp`를 반환하고, `temp`가 `300`보다 작으면 `none`(값 없음)을 반환합니다.<br />하나 이상의 인수가 조건 함수인 중첩 조건 함수에는 UFCS를 사용하는 것이 좋습니다. `if(condition, result_if_true)`를 사용하여 조건을 평가하고 `elif(condition, result_if_true, result_if_false)`를 사용하여 추가 조건을 평가할 수 있습니다.<br />예를 들어, `if(condition1, result1_if_true, if(condition2, result2_if_true, result2_if_false))` 대신 `if(condition1, result1_if_true).elif(condition2, result2_if_true, result2_if_false)`를 사용할 수 있습니다.<br />중간 조건 함수를 추가로 연결할 수도 있습니다. 예를 들어, `if(condition1, result1_if_true).elif(condition2, result2_if_true).elif(condition3, result3_if_true, result3_if_false)`와 같이 여러 `if` 문을 중첩하는 대신 `if(condition1, result1_if_true, if(condition2, result2_if_true, if(condition3, result3_if_true result3_if_false)))`를 사용할 수 있습니다. UFCS와 함께 `elif(condition, result_if_true, result_if_false)`를 사용해야 합니다.  | 