사용자 지정 표현식은 데이터를 원하는 방식으로 설정하는 데 사용할 수 있는 강력한 도구입니다.

컬럼 이름을 "[ ]"(꺽쇠괄호)로 묶어 컬럼에 액세스할 수 있습니다. 

컬럼 이름에 문자, 숫자 또는 _(밑줄) 이외의 글자가 포함된 경우 괄호를 사용해야 합니다. 


또한 컬럼 이름이 함수 이름과 동일하거나

 컬럼 이름이 숫자로 시작되는 경우에도 괄호가 필요합니다. 

컬럼 이름에 꺽쇠괄호가 포함되는 경우에는 이스케이프해야 합니다. 

괄호의 이스케이프는 "[" 및 "]]"와 같이 괄호의 앞뒤에 또 괄호를 추가하는 것입니다.

 예를 들어, 컬럼 이름이 [Name]이면 표현식에서는 [[Name]]]로 씁니다.


컬럼 이름에 특수 문자나 공백이 없는 경우 

또는 컬럼 이름이 함수 이름과 동일하지도 않다면 괄호 없이 입력할 수 있습니다.


표현식을 <> 기호로 묶으면 범주화가 됩니다.


표현식 예:

[Column1]

[Column1], [Column2]

[Column1] AS [My first column], [Column2] AS [My second column]

<[Category column 1]>

<[Category column 1] nest [Category column 2]>

<[Category column 1] cross [Category column 2] cross [Category column 3]>

123.23

39+12*3

-(1-2)

cast (power(2,2) as integer)

null

case Column1 when 10 then 'ten' else 'not ten' end

case when 1 < 3 or 3 < 2 then 10 else 32 end

case when Column1 is not null then Column1 else Column2 end


상수는 컬럼으로 변환되므로 인수가 컬럼이어야 하는 방법에서도 상수에 액세스하여 사용할 수 있습니다.



연산자

표현식에 사용할 수 있는 연산자 목록입니다.

연산자설명
 - Arg1인수를 부정합니다. 인수 및 결과는 실수 형식입니다.
Arg1 + Arg2두 인수를 추가합니다. 문자열 연결에 대해서는 & 연산자를 참조하십시오.
Arg1 - Arg2Arg1에서 Arg2를 뺍니다.
Arg1 * Arg2인수를 곱합니다. 인수 및 결과는 실수 또는 10진수 형식입니다.
Arg1 / Arg2Arg1을 Arg2로 나눕니다. 인수 및 결과는 실수 또는 10진수 형식입니다.
0으로 나누면 잘못된 값이 반환됩니다.

예:

7/2 -> 3.5

0/0 -> (Empty)

-1/0 -> (Empty)

Arg1 & Arg2Arg1의 끝에 Arg2를 추가합니다. 인수는 임의의 형식이며 문자열로 변환됩니다.
결과는 문자열 형식입니다. 연결 함수를 참조하십시오.

예:

"April " & (20+1) & "st" -> "April 21st"

null & "Ape" -> (Empty)

Arg1 % Arg2Arg1을 Arg2로 나눈 나머지를 반환합니다. 인수 및 결과는
실수 또는 10진수 형식입니다. 잘못된 값이 결과 컬럼에 전파됩니다.

예:

3.5 % 2.5 -> 1.00

Arg1^Arg2Arg2 지수로 거듭제곱한 Arg1을 반환합니다.

예:

2.5^3

[Value Column]^2

Arg1 < Arg2IF 또는 CASE 문의 일부인 연산자입니다.
 Arg1이 Arg2보다 작으면 true를 반환합니다
. 인수는 임의의 형식일 수 있지만 두 인수 모두 동일한 형식이어야 합니다.
결과는 부울 형식입니다. 인수가 잘못된 경우 결과도 잘못됩니다.
일반적인 숫자들을 서로 비교하기 위한 함수가 정의됩니다.
나머지 조합은 잘못된 값을 반환합니다.

예:

If( 1 < 2, "true", "false" ) -> true

Case when 2 < 1 then "true" else "false" end -> false

If(1<null, "true", "false") -> (Empty)

If(1 < 1/0, "true", "false") -> (Empty)

Arg1 > Arg2IF 또는 CASE 문의 일부인 연산자입니다. 
Arg1이 Arg2보다 크면 true를 반환합니다.
인수가 실수 형식이고 결과는 부울 형식입니다.
유효한 인수에 대한 정의는 < 연산자를 참조하십시오.
Arg1 <= Arg2IF 또는 CASE 문의 일부인 연산자입니다. 
Arg1이 Arg2보다 작거나 같으면 true를 반환합니다.
인수가 실수 형식이고 결과는 부울 형식입니다.
유효한 인수에 대한 정의는 < 연산자를 참조하십시오.
Arg1 >= Arg2IF 또는 CASE 문의 일부인 연산자입니다. 
Arg1이 Arg2보다 크거나 같으면 true를 반환합니다.
인수가 실수 형식이고 결과는 부울 형식입니다.
유효한 인수에 대한 정의는 < 연산자를 참조하십시오.
Arg1 = Arg2IF 또는 CASE 문의 일부인 연산자입니다. Arg1이 Arg2와 같으면 true를 반환합니다. 인수는 임의의 형식일 수 있지만 두 인수 모두 동일한 형식이어야 합니다. 결과는 부울 형식입니다. 인수가 null인 경우 결과도 null입니다. 인수가 실수 형식인 경우 유효한 인수에 대한 정의는 < 연산자를 참조하십시오.

예:

If(1 = 2, "true", "false" ) -> false

Case when 2 = 2 then "true" else "false" end -> true

If("Hello" = "hello", "true", "false" ) -> false

If("" = null, "true", "false" ) -> (Empty)

If(null = null, "true", "false" ) -> (Empty)

Arg1 <> Arg2'IF' 또는 'CASE' 문의 일부인 연산자입니다. 
Arg1이 Arg2와 같지 않으면 true를 반환합니다.
 인수는 임의의 형식일 수 있지만 두 인수 모두 동일한 형식이어야 합니다.
 결과는 부울 형식입니다. 인수가 잘못된 경우 결과도 잘못됩니다.
인수가 실수 형식인 경우 유효한 인수에 대한 정의는 < 연산자를 참조하십시오.
Arg1 ~= Arg2'IF' 또는 'CASE' 문의 일부인 연산자입니다.
인수는 형식이 제한되지 않지만 문자열 컬럼으로 간주됩니다.
 Arg2 표현식 문자열이 Arg1 문자열과 일치하는 경우 true를 반환합니다.

백슬래시("\") 문자와 같은 일부 문자는 계산된 컬럼을 사용할 때 작동하려면 

이스케이프해야 합니다. 

자세한 내용은 표현식 언어 요소에 대한 문헌(예: MSDN)을 참조하십시오.

예:

If( "aab" ~= "a+" , "true", "false" ) -> true

Case when "aba" ~= ".a+$" then "true" else "false" end -> true

And(Arg1, ...)'IF' 또는 'CASE' 문의 일부인 연산자입니다.
두 개의 부울 표현식이 인수이며 두 표현식이 모두 true이면 true를 반환합니다.

예:

If( 1 < 2 and 2 < 3, "true", "false" )

Case when false and true then "true" else "false" end

Not(Arg1)'IF' 또는 'CASE' 문의 일부인 연산자입니다.
인수로 지정된 부울 표현식을 부정합니다.

예:

If( not 1 < 2, "true", "false" )

Case when not true then "true" else "false" end

Or(Arg1, ...)'IF' 또는 'CASE' 문의 일부인 연산자입니다.
 두 개의 부울 표현식이 인수이며 두 표현식 중 하나가 true이면 true를 반환합니다.

예:

If( 1 < 2 or 2 < 3, "true", "false" )

Case when false or true then "true" else "false" end

Xor(Arg1, ...)'If' 또는 'Case' 문의 일부일 수 있습니다.
두 개의 부울 표현식이 인수이며 두 표현식 중 하나만 true이면 true를 반환합니다.

예:

If(1 < 2 xor 2 < 3, true, false)

Case when [A]>10 xor [B]>5 then 1 else 0 end




연산자 우선 순위

표현식은 연산자의 계층에 따라 평가됩니다.

아래의 테이블에서는 연산자의 계층을 표시합니다. 

우선 순위가 가장 높은 연산자가 맨 처음에 표시됩니다.

괄호 안의 표현식이 처음에 평가됩니다. 

중첩된 괄호는 가장 안쪽의 괄호부터 바깥쪽으로 가면서 평가됩니다.

차트에서 동일한 행에 있는 연산자는 우선 순위가 동등합니다.


연산자유형평가 순서
( )괄호왼쪽에서 오른쪽
- +단항 - 및 +오른쪽에서 왼쪽
* / %곱셈왼쪽에서 오른쪽
+ -덧셈왼쪽에서 오른쪽
&연결왼쪽에서 오른쪽
< > <= >=관계형왼쪽에서 오른쪽
= <>등식왼쪽에서 오른쪽


'도구 분야 > [TIBCO] Spotfire' 카테고리의 다른 글

[함수] 변환 함수  (0) 2018.09.03
[함수] 저장함 함수  (0) 2018.09.03
[상세 정보 드릴다운] 범주 그룹화  (0) 2018.09.01
[상세 정보 드릴다운] 개요  (0) 2018.09.01
항목 상세 정보 표시  (0) 2018.09.01

+ Recent posts