아래의 목록에는 표현식에 사용할 수 있는 논리 함수가 나와 있습니다.
함수 | 설명 |
---|---|
Case | case 문은 두 가지 형태로 사용됩니다. 간단: case Arg1 when Arg3 else Arg4 end Arg1 표현식을 평가하여 Arg1이 Arg2와 같으면 Arg3이 반환됩니다. 여러 when/then 표현식을 입력할 수 있으며 왼쪽부터 오른쪽으로 평가됩니다. 검색됨: case when Arg1 then Arg2 else Arg3 end Arg1=true이면 Arg2를 반환하고, Arg1=false이면 Arg3을 반환합니다. 여러 when/then 표현식을 입력할 수 있으며 왼쪽부터 오른쪽으로 평가됩니다. 자세한 내용은 아래 내용을 참조하십시오. 예: case when 1 < 2 then "a" when 1 < 3 then "b" else "c" end case [Column] when 3 then "a" when 2 then "b" else "c" end |
If(Arg1,Arg2,Arg3) | Arg1=true이면 Arg2를 반환하고, Arg1=false이면 Arg3을 반환합니다. Arg1은 부울 형식이며, 일반적으로 비교의 결과입니다. Arg2 및 Arg3은 모든 형식으로 지정할 수 있지만 둘 다 동일한 형식이거나 null이어야 합니다. 두 번째와 세 번째 인수는 행의 하위 집합만 처리하므로 모든 컬럼 기반 및 누적 방법에 영향을 줍니다. 자세한 내용은 아래 내용을 참조하십시오. 예: If([Count] > 3, "many", "few") If(true, null, null) -> (Empty) If(true, 1, null) -> 1 If(false, null, 2) -> 2 If(null, 1, 2) -> (Empty) If(1 < 2, "Small", "Big") -> Small If([Column] Is Null,"0","has value") |
Is Not Null | If 또는 Case 문에서 표현식이 비어 있는 값(null 값)을 발생하는지 여부를 결정하는 데 사용됩니다. 예: If([Column] Is Not Null, "value was not null", "value was null") 표현식에 비어 있는 값(null 값)이 있는 경우 SN 함수(변환 함수 참조)를 사용하여 null 값을 지정된 값으로 대체할 수 있습니다. |
Is Null | If 또는 Case 문에서 표현식이 비어 있는 값(null 값)을 발생하는지 여부를 결정하는 데 사용됩니다. 예: If([Column] Is Null, "value was null", "value was not null") 표현식에 비어 있는 값(null 값)이 있는 경우 SN 함수(변환 함수 참조)를 사용하여 null 값을 지정된 값으로 대체할 수 있습니다. |
표현식에서 if 사용에 대한 자세한 정보:
표현식에서 If 문을 사용할 경우
- 첫 번째 인수의 조건이 세 번째 인수에서 평가할 값을 제한합니다.
- If 문의 동작 원리를 이해하기 위해 다음과 같은 간단한 정수 컬럼을 예로 들 수 있습니다.
다음 표현식을 사용하여 계산된 컬럼을 삽입합니다.
if(Col1 < 2, Max(Col1), Max(Col1))
그러면 두 개의 다른 값을 갖는 새 컬럼이 생성됩니다.
- 두 값 중 하나는 2보다 작은 모든 값의 최대값을 위한 것이고
- 다른 하나는 나머지 값의 최대값(전체 컬럼의 최대값이기도 함)을 표시합니다.
If 함수는 컬럼을 두 그룹으로 분할한 다음 새 그룹에 대해 계속 표현식을 평가하도록 설계되었습니다.
백분위수 표현식을 대신 사용할 경우
첫 번째 조건이 컬럼을 분할한 방법에 따라 동일한 백분위수 표현식에 대한 결과가 달라집니다.
다음 두 표현식을 사용하여 두 컬럼을 삽입합니다.
if (Col2 < 4, 0, Percentile(Col2, 70))
if (Col2 < 6, 0, Percentile(Col2, 70))
그러면 다음과 같은 결과를 얻습니다.
Col2 | if (Col2 < 4, 0, Percentile(Col2, 70)) | if (Col2 < 6, 0, Percentile(Col2, 70)) |
1 | 0 | 0 |
2 | 0 | 0 |
3 | 0 | 0 |
4 | 8.2 | 0 |
5 | 8.2 | 0 |
6 | 8.2 | 8.8 |
7 | 8.2 | 8.8 |
8 | 8.2 | 8.8 |
9 | 8.2 | 8.8 |
10 | 8.2 | 8.8 |
표현식에서 case 사용에 대한 자세한 정보:
case 표현식으로 작업할 경우에는
- "when" 다음의 조건이 전체 컬럼에 대해 계산됩니다.
- "then" 다음의 인수는 "when" 조건에 의해 정의된 행에 대해 계산됩니다.
- 표현식에 여러 "when- then" 쌍이 포함된 경우
- "then"은 마지막 조건뿐 아니라 이전의 모든 조건에 의해 제한됩니다.
단순한 정수 컬럼을 사용하는 예:
다음 표현식을 사용하여 Case Min 및 Case Max라는 두 개의 계산된 컬럼을 삽입합니다.
Case Min:
case
when [Col1]<Avg([Col1]) then Min([Col1])
when [Col1]<(Avg([Col1]) + 1) then Min([Col1])
else Min([Col1])
end
Case Max:
case
when [Col1] < Avg([Col1]) then Max([Col1])
when [Col1] < (Avg([Col1]) + 1) then Max([Col1])
else Max([Col1])
end
결과:
'도구 분야 > [TIBCO] Spotfire' 카테고리의 다른 글
[함수]over 함수 (0) | 2018.09.03 |
---|---|
[함수] 산술 함수 (0) | 2018.09.03 |
[함수] 날짜 및 시간 함수 (0) | 2018.09.03 |
[함수] 캐스트 방법 (0) | 2018.09.03 |
[함수] 변환 함수 (0) | 2018.09.03 |