Only
Only() 는 집계된 데이터에서 사용 가능한 결과가 유일한 경우 값을 반환합니다. 예를 들어 단품 가격 =9인 제품만 검색하는 경우 단품 가격이 9인 제품이 둘 이상 있으면 NULL을 반환합니다.
구문:
Only([{SetExpression}] [TOTAL [<fld {,fld}>]] expr)
반환 데이터 유형: dual
인수:
- expr: 측정할 데이터가 포함된 표현식 또는 필드입니다.
- SetExpression: 기본적으로 집계 함수는 선택에 의해 정의된 사용 가능한 레코드의 집합을 집계합니다. 집합 분석 표현식으로 대체 레코드 집합을 정의할 수 있습니다.
- TOTAL: TOTAL이 함수 인수 앞에 오는 경우, 현재 선택을 고려하되 현재 차원 값에 관련되지 않은 가능한 모든 값에 대한 계산이 실행됩니다. 즉, 차트 차원은 무시됩니다. TOTAL 한정자 뒤에는 꺾쇠 괄호로 묶인 하나 이상의 필드 이름 목록이 올 수 있습니다(<fld>). 이러한 필드 이름은 차트 차원 변수의 하위 집합이어야 합니다.
예 | 결과 |
---|---|
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 '|');
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 |