Only - 차트 함수

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

Syntax:  

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

Return data type: dual

Arguments:  

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

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

TOTAL [<fld {.fld}>](여기서 TOTAL 한정자 뒤에는 하나 이상의 필드 이름 목록이 차트 차원 변수의 하위 집합으로 옴)을 사용하여 가능한 전체 값의 하위 집합을 만듭니다.

집계 범위 정의

팁: 샘플 데이터에 복수의 값이 존재할 수 있을 때 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)

B이며, 이름이 '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 '|');