Only

Only() 는 집계된 데이터에서 사용 가능한 결과가 유일한 경우 값을 반환합니다. 예를 들어 단품 가격 =9인 제품만 검색하는 경우 단품 가격이 9인 제품이 둘 이상 있으면 NULL을 반환합니다.

Syntax:  

Only([{SetExpression}] [TOTAL [<fld {,fld}>]] expr)

Return data type: dual

Arguments:  

인수 설명
expr 측정할 데이터가 포함된 표현식 또는 필드입니다.
SetExpression 기본적으로 집계 함수는 선택에 의해 정의된 사용 가능한 레코드의 집합을 집계합니다. 집합 분석 표현식으로 대체 레코드 집합을 정의할 수 있습니다.
TOTAL

TOTAL이 함수 인수 앞에 오는 경우, 현재 선택을 고려하되 현재 차원 값에 관련되지 않은 가능한 모든 값에 대한 계산이 실행됩니다. 즉, 차트 차원은 무시됩니다.

TOTAL 한정자 뒤에는 꺾쇠 괄호로 묶인 하나 이상의 필드 이름 목록이 올 수 있습니다(<fld>). 이러한 필드 이름은 차트 차원 변수의 하위 집합이어야 합니다.

집계 범위 정의

팁: 샘플 데이터에 복수의 값이 존재할 수 있을 때 NULL 결과를 원할 경우 Only()를 사용합니다.

Examples and results:  

Customer Product UnitSales UnitPrice
Astrida AA 4 16
Astrida AA 10 15
Astrida BB 9 9
Betacab BB 5 10
Betacab CC 2 20
Betacab DD - 25
Canutility AA 8 15
Canutility CC - 19
결과

Only({<UnitPrice={9}>} Product)

BB이며, UnitPrice가 '9'인 유일한 Product이기 때문입니다.

Only({<Product={DD}>} Customer)

Betacab이며, 이름이 'DD'인 Product를 판매하는 유일한 Customer이기 때문입니다.

Only({<UnitPrice={20}>} UnitSales)

UnitPrice가 20일 때 UnitSales의 수는 2이며, UnitPrice =20일 때 UnitSales의 값이 하나뿐이기 때문입니다.

Only({<UnitPrice={15}>} UnitSales)

NULL이며, UnitPrice =15일 때 UnitSales의 값이 두 개이기 때문입니다.

예에서 사용된 데이터:

ProductData:

LOAD * inline [

Customer|Product|UnitSales|UnitPrice

Astrida|AA|4|16

Astrida|AA|10|15

Astrida|BB|9|9

Betacab|BB|5|10

Betacab|CC|2|20

Betacab|DD||25

Canutility|AA|8|15

Canutility|CC||19

] (delimiter is '|');