FirstSortedValue - 차트 함수
FirstSortedValue()는 단위 가격이 가장 낮은 제품의 이름 등과 같이 sort_weight 인수의 정렬 결과에 해당하는 value에서 지정된 표현식으로부터의 값을 반환합니다. 정렬 순서의 n번째 값은 rank에서 지정할 수 있습니다. 둘 이상의 결과 값이 지정된 rank에 대해 동일한 sort_weight를 공유하는 경우, 해당 함수는 NULL을 반환합니다.
구문:
FirstSortedValue([{SetExpression}] [DISTINCT] [TOTAL [<fld {,fld}>]] value, sort_weight [,rank])
반환 데이터 유형: dual
인수:
인수 | 설명 |
---|---|
value | 출력 필드 이 함수는 sort_weight를 정렬한 결과에 해당하는 value 표현식의 값을 찾습니다. |
sort_weight |
입력 필드 저장할 데이터가 포함된 표현식입니다. 해당하는 value 표현식 값을 결정할 sort_weight의 첫 번째(가장 낮은) 값을 찾습니다. sort_weight 앞에 빼기 기호가 있는 경우, 이 함수는 마지막(가장 높은) 정렬 값을 반환합니다. |
rank |
rank "n"을 1보다 큰 수로 지정하면 정렬된 n번째 값을 얻을 수 있습니다. |
SetExpression | 기본적으로 집계 함수는 선택에 의해 정의된 사용 가능한 레코드의 집합을 집계합니다. 집합 분석 표현식으로 대체 레코드 집합을 정의할 수 있습니다. |
DISTINCT | 함수 인수 앞에 DISTINCT라는 단어가 있을 경우 해당 함수 인수의 평가 결과로 생성된 중복이 무시됩니다. |
TOTAL |
TOTAL이 함수 인수 앞에 오는 경우, 현재 선택을 고려하되 현재 차원 값에 관련되지 않은 가능한 모든 값에 대한 계산이 실행됩니다. 즉, 차트 차원은 무시됩니다. TOTAL [<fld {.fld}>](여기서 TOTAL 한정자 뒤에는 하나 이상의 필드 이름 목록이 차트 차원 변수의 하위 집합으로 옴)을 사용하여 가능한 전체 값의 하위 집합을 만듭니다. |
예 및 결과:
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 |
예 | 결과 |
---|---|
firstsortedvalue (Product, UnitPrice) |
BB이며, UnitPrice(9)가 가장 낮은 Product입니다. |
firstsortedvalue (Product, UnitPrice, 2) |
BB이며, UnitPrice(10)가 두 번째로 낮은 Product입니다. |
firstsortedvalue (Customer, -UnitPrice, 2) |
Betacab이며, UnitPrice(20)가 두 번째로 높은 Product를 보유한 Customer입니다. |
firstsortedvalue (Customer, UnitPrice, 3) |
NULL이며 rank(세 번째로 낮음) UnitPrice(15)가 동일한 Customer(Astrida 및 Canutility)의 값이 두 개이기 때문입니다. distinct 한정자를 사용하여 예상치 못한 null 결과가 발생하지 않도록 하십시오. |
firstsortedvalue (Customer, -UnitPrice*UnitSales, 2) |
Canutility이며, UnitPrice에 UnitSales(120)를 곱한 판매 순서 값이 두 번째로 높은 Customer입니다. |
예에서 사용된 데이터:
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 '|');