Above()는 테이블의 열 세그먼트 내의 현재 행 위에 있는 행의 표현식을 평가합니다. 계산되는 행은 offset(있는 경우) 값에 따라 달라지며 기본적으로는 바로 위에 있는 행입니다. 테이블 이외의 차트인 경우, Above()는 해당 차트의 일반표 해당 부분의 현재 행 위에 있는 행을 평가합니다.
구문:
Above([TOTAL] expr
[ , offset [,count]])
반환 데이터 유형: 이중
인수
인수
설명
expr
측정할 데이터가 포함된 표현식 또는 필드입니다.
offset
offsetn을 0보다 크게 지정하면 표현식의 평가가 현재 행보다 n 행 위로 이동됩니다.
오프셋을 0으로 지정하면 현재 행의 표현식이 평가됩니다.
오프셋을 음수로 지정하면 Above 함수가 상응하는 양수 오프셋이 있는 Below 함수와 동일하게 작동합니다.
count
세 번째 인수 count를 1보다 크게 지정하면 함수에서 count 값의 범위를 반환하며, 원래 셀에서 위쪽으로 계산하여 count 테이블 행 각각에 대해 하나의 값이 반환됩니다.
정보 메모열 세그먼트는 현재 정렬 순서에서 차원에 대해 동일한 값을 갖는 셀의 연속된 하위 집합으로 정의됩니다. 인터 레코드 차트 함수는 동등한 일반표 차트의 가장 오른쪽 차원을 제외한 열 세그먼트에서 계산됩니다. 차트에 차원이 하나만 있는 경우 또는 TOTAL 한정자가 지정된 경우는 표현식이 전체 테이블을 평가합니다.
정보 메모테이블 또는 테이블과 동등한 것에 여러 세로 차원이 있을 경우 현재 열 세그먼트에는 필드 간 정렬 순서에서 마지막 차원이 표시되는 열을 제외하고 모든 차원 열 내의 현재 행과 같은 값을 가진 행만 포함됩니다.
제한 사항:
재귀 호출은 NULL을 반환합니다.
이 차트 함수가 차트의 표현식에서 사용되는 경우 차트의 y 값에 대한 정렬 또는 테이블의 표현식 열에 의한 정렬은 허용되지 않습니다. 따라서 해당 정렬 옵션이 자동으로 비활성화됩니다. 시각화 또는 테이블에서 이 차트 함수를 사용하면 시각화의 정렬이 이 함수에 대해 정렬된 입력으로 되돌아갑니다.
=Sum(Sales)+Above(Sum(Sales)): 현재 행 바로 위의 고객 행에 대한 판매량 합계와 판매량 값 합계를 더합니다.
=Sum(Sales)+Above(Sum(Sales), 3): 현재 Customer의 Sum(Sales) 값을 세 행 위에 있는 Customer의 값과 합산합니다.
=IF(Sum(Sales)>Above(Sum(Sales)), 'Higher'): 위 행의 고객 Sum(Sales)보다 Sum(Sales) 결과가 큰 고객에게 "Higher" 레이블을 추가합니다.
결과 테이블
Customer
Sum(Sales)
Above(Sum(Sales))
Sum(Sales)+Above(Sum(Sales))
Sum(Sales)+Above(Sum(Sales), 3)
IF(Sum(Sales)>Above(Sum(Sales)), 'Higher')
Totals
2566
-
-
-
-
Astrida
587
-
-
-
-
Betacab
539
587
1126
-
-
Canutility
683
539
1222
-
Higher
Divadip
757
683
1440
1344
Higher
Above(Sum(Sales)) 측정값은 위에 행이 없으므로 고객 Astrida에 대해 NULL을 반환합니다. 고객 Betacab에 대한 결과는 Astrida에 대한 Sum(Sales)의 값을 보여 줍니다. Canutility에 대한 결과는 Betacab에 대한 Sum(Sales)의 값을 보여 줍니다.
측정값 Sum(Sales)+Above(Sum(Sales))의 경우 Betacab 행은 행 Betacab + Astrida(539+587)에 대한 Sum(Sales) 값을 더한 결과를 반환합니다. 행 Canutility의 결과는 Canutility + Betacab(683+539)에 대한 Sum(Sales)개 값을 더한 결과를 보여 줍니다.
측정값 Sum(Sales)+Above(Sum(Sales), 3)에 인수 offset이 3으로 설정되었습니다. 이는 현재 행보다 3행 위에 있는 행의 값을 가져옵니다. 이는 현재 Customer의 Sum(Sales) 값을 세 행 위의 Customer 값에 추가합니다. 예를 들어, Divadip에 대한 Sum(Sales)는 Divadip보다 3행 위에 있는 고객인 Astrida의 Sum(Sales)에 추가됩니다. 첫 번째 3개 Customer 행에 대해 반환된 값은 데이터가 없으므로 null입니다.
측정값 IF(Sum(Sales)>Above(Sum(Sales)), 'Higher')는 고객 Canutility 및 Divadip에 대해 각각 판매 실적이 위 행의 고객 판매량 합계인 Betacab 및 Canutility보다 높기 때문에 값 Higher를 반환합니다.
팁 메모이 기능은 테이블 이외의 차트(예: 막대형 차트)에서 사용할 수 있습니다.
팁 메모다른 차트 유형인 경우, 함수가 관련된 행을 쉽게 해석할 수 있도록 차트를 일반표 동등 부분으로 변환합니다.
차원이 두 개 이상인 차트의 경우 Above, Below, Top 및 Bottom 함수를 포함하는 표현식의 결과는 Qlik Sense에 따라 열 차원이 정렬되는 순서에 따라 다릅니다. Qlik Sense에서는 차원의 마지막 정렬 결과인 열 세그먼트에 기반하여 해당 함수를 평가합니다. 열 정렬 순서는 속성 패널의 정렬에서 제어되며 이 순서가 반드시 테이블에 열이 표시되는 순서는 아닙니다.
결과 테이블에서 마지막으로 정렬된 차원은 Month이므로 Above 함수는 월을 기준으로 평가합니다. 각 달(Jan ~ Dec) (열 세그먼트)에 해당하는 각 Product 값에 대해 일련의 결과가 존재합니다. 이는 일련의 다음 열 세그먼트 즉, 다음 Product에 대한 각 Month로 이어집니다. 각 Product에 대한 각 Customer 값에 해당하는 열 세그먼트 값이 존재하게 됩니다.
속성 패널에서 표의 정렬 순서를 변경합니다. 정렬을 선택한 다음 제품 차원을 정렬 순서의 세 번째 위치로 끌어서 놓습니다.
결과 테이블
Customer
Product
Month
Sum(Sales)
Above(Sum(Sales))
Totals
-
-
2566
-
Astrida
AA
Jan
46
-
Astrida
BB
Jan
46
46
Astrida
AA
Feb
60
-
Astrida
BB
Feb
60
60
Astrida
AA
Mar
70
-
Astrida
BB
Mar
70
70
Astrida
AA
Apr
13
-
Astrida
BB
Apr
13
13
Astrida
AA
May
78
-
Astrida
BB
May
78
78
Astrida
AA
Jun
20
-
Astrida
BB
Jun
20
20
Astrida
AA
Jul
45
-
Astrida
BB
Jul
45
45
결과 테이블에서 마지막으로 정렬된 차원은 Product입니다. 각 Product에 대해 Above 함수가 평가되며, 제품이 AA 및 BB 두 가지뿐이므로 각 시리즈에서 Null이 아닌 결과는 하나뿐입니다. 월 Jan의 행 BB에서 Above(Sum(Sales))의 값은 46입니다. AA행의 값은 Null입니다. AA 위의 Product 값이 없으므로 모든 달의 각 AA 행의 값은 항상 Null이 됩니다. 두 번째 시리즈는 Feb 달의 Customer 값, Astrida의 AA 및 BB에 대해 평가됩니다. Astrida에 대한 모든 월이 평가되면 두 번째 고객 Betacab에 대해서도 시퀀스가 반복됩니다.
정보 메모표의 결과는 데이터의 일부 목록만을 보여 줍니다. 전체 결과를 보려면 앱에서 예를 사용해 봅니다.
예 - RangeAvg와 함께 Above 함수 사용
개요
Above 함수는 범위 함수에 대한 입력으로 사용할 수 있습니다. 이 예에서는 RangeAvg의 함수를 사용합니다.
Above 함수의 인수에서 offset은 1로 설정되고 count는 3으로 설정됩니다. 이 함수는 열 세그먼트(행이 있는 곳)에서 현재 행 바로 위에 있는 세 행에 대한 표현식 Sum(Sales)의 결과를 찾습니다. 이 세 값은 제공된 숫자 범위에서 값의 평균을 구하는 RangeAvg 함수에 대한 입력으로 사용됩니다.