기본 콘텐츠로 건너뛰기 보완적인 콘텐츠로 건너뛰기

Top

Top() 은 테이블의 열 세그먼트 내에 있는 첫 번째(맨 위) 행의 표현식을 평가합니다. 계산되는 행은 offset(있는 경우) 값에 따라 달라지며 기본적으로는 맨 위에 있는 행입니다. 테이블 이외의 차트인 경우 Top()은 해당 차트의 일반표 동등 부분에 있는 현재 열의 첫 번째 행을 평가합니다.

구문:  

Top([TOTAL] expr [ , offset [,count ]])

반환 데이터 유형: dual

인수:  

  • expr: 측정할 데이터가 포함된 표현식 또는 필드입니다.
  • offset: offsetn을 0보다 크게 지정하면 표현식의 평가가 현재 행보다 n 행 위로 이동됩니다. 오프셋을 0으로 지정하면 현재 행의 표현식이 평가됩니다. 오프셋을 음수로 지정하면 Above 함수가 상응하는 양수 오프셋이 있는 Below 함수와 동일하게 작동합니다.
  • count: 세 번째 인수 count를 1보다 크게 지정하면 함수에서 count 값의 범위를 반환하며, 원래 셀에서 위쪽으로 계산하여 count 테이블 행 각각에 대해 하나의 값이 반환됩니다. 이러한 형식으로 이 함수를 특별 범위 함수의 인수로 활용할 수 있습니다. 범위 함수
  • TOTAL: 테이블이 1차원이거나 TOTAL 한정자를 인수로 사용하는 경우 현재 열 세그먼트는 항상 전체 열과 동등합니다.

    집계 범위 정의

정보 메모열 세그먼트는 현재 정렬 순서에서 차원에 대해 동일한 값을 갖는 셀의 연속된 하위 집합으로 정의됩니다. 인터 레코드 차트 함수는 동등한 일반표 차트에서 가장 오른쪽 차원을 제외한 열 세그먼트에서 계산됩니다. 차트에 차원이 하나만 있는 경우 또는 TOTAL 한정자가 지정된 경우는 표현식이 전체 테이블을 평가합니다.
정보 메모테이블 또는 테이블과 동등한 것에 여러 세로 차원이 있을 경우 현재 열 세그먼트에는 필드 간 정렬 순서에서 마지막 차원이 표시되는 열을 제외하고 모든 차원 열 내의 현재 행과 같은 값을 가진 행만 포함됩니다.

제한 사항:  

  • 이 차트 함수가 차트의 표현식에서 사용되는 경우 차트의 y 값에 대한 정렬 또는 테이블의 표현식 열에 의한 정렬은 허용되지 않습니다. 따라서 해당 정렬 옵션이 자동으로 비활성화됩니다. 시각화 또는 테이블에서 이 차트 함수를 사용하면 시각화의 정렬이 이 함수에 대해 정렬된 입력으로 되돌아갑니다.

  • 재귀 호출은 NULL을 반환합니다.

예 및 결과:  

예 1:  

테이블 출력 예
Customer Sum(Sales) Top(Sum(Sales)) Sum(Sales) + Top(Sum(Sales)) Top offset 3
  2566 587 3153 3249
Astrida 587 587 1174 1270
Betacab 539 587 1126 1222
Canutility 683 587 1270 1366
Divadip 757 587 1344 1440

이 예에서 보여주는 테이블 차트 표시에서, 테이블은 차원 Customer와 측정값 Sum(Sales)Top(Sum(Sales))로부터 생성됩니다.

Top(Sum(Sales)) 열은 모든 행에 대해 맨 위 행 Astrida의 값인 587을 반환합니다.

이 테이블은 더 복잡한 계수를 보여줍니다. 하나는 Sum(Sales)+Top(Sum(Sales))에서 생성된 것이며, 하나는 레이블이 Top offset 3이고 표현식 Sum(Sales)+Top(Sum(Sales), 3)에서 생성된 것으로 인수 offset3으로 설정되었습니다. 이는 현재 행의 Sum(Sales) 값을 맨 위 행에서 세 번째 행의 값에 추가하는 것이며, 현재 행에 Canutility의 값을 더하는 것과 같습니다.

예 2:  

이 예에 나온 테이블 차트 표시에는 다음 차트에 더 많은 차원이 추가되었습니다. MonthProduct. 2차원 이상의 차트인 경우 Above, Below, TopBottom 함수가 포함된 표현식의 결과는 QlikView에서 열 차원을 정렬한 순서에 따라 달라집니다. QlikView에서는 마지막으로 정렬된 차원에서 산출된 열 세그먼트를 기준으로 함수를 평가합니다. 열 정렬 순서는 정렬을 통해 제어되며 반드시 테이블에 표시되는 순서인 것은 아닙니다. (공간 절약을 위해 일부 행만 표시되어 있습니다.)

첫 번째 테이블 출력 예
Customer Product Month Sum(Sales) First value
      2566 -
Astrida AA Jan 46 46
Astrida AA Feb 60 46
Astrida AA Mar 70 46
... ... ... ... ...
Astrida AA Sep 78 46
Astrida AA Oct 12 46
Astrida AA Nov 78 46
Astrida AA Dec 22 46
Astrida BB Jan 46 46
두 번째 테이블 출력 예
Customer Product Month Sum(Sales) First value
      2566 -
Astrida AA Jan 46 46
Astrida BB Jan 46 46
Astrida AA Feb 60 60
Astrida BB Feb 60 60
Astrida AA Mar 70 70
Astrida BB Mar 70 70
Astrida AA Apr 13 13
Astrida BB Apr 13 13

자세한 내용은 Above 함수에서 예 2를 참조하십시오.

예 3:  

Top 함수는 범위 함수에 대한 입력으로 사용할 수 있습니다. 예: RangeAvg (Top(Sum(Sales),1,3)).

Top() 함수에 대한 인수에서 offset이 1로 설정되고 count가 3으로 설정됩니다. 이 함수는 열 세그먼트에 있는 맨 아래 행 아래의 행에서 시작하는 세 행(offset=1이므로)과 그 아래의 두 행(행이 있는 곳)에 대한 표현식 Sum(Sales)의 결과를 찾습니다. 이 세 값은 제공된 숫자 범위에서 값의 평균을 구하는 RangeAvg() 함수에 대한 입력으로 사용됩니다.

차원으로 Customer가 포함된 테이블은 RangeAvg() 표현식에 대해 다음과 같은 결과를 제공합니다.

테이블 출력 예
Customer RangeAvg (Top(Sum(Sales),1,3))
Astrida 603
Betacab 603
Canutility 603
Divadip 603

예에서 사용된 데이터:

Monthnames:

LOAD * INLINE [

Month, Monthnumber

Jan, 1

Feb, 2

Mar, 3

Apr, 4

May, 5

Jun, 6

Jul, 7

Aug, 8

Sep, 9

Oct, 10

Nov, 11

Dec, 12

];

Sales2013:

crosstable (Month, Sales) LOAD * inline [

Customer|Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec

Astrida|46|60|70|13|78|20|45|65|78|12|78|22

Betacab|65|56|22|79|12|56|45|24|32|78|55|15

Canutility|77|68|34|91|24|68|57|36|44|90|67|27

Divadip|57|36|44|90|67|27|57|68|47|90|80|94

] (delimiter is '|');

올바른 순서로 월을 정렬하려면 차트를 만들 때 해당 차트 속성의 Sort 탭으로 이동한 후 Sort by 아래에서 Expression 확인란을 선택합니다. 표현식 상자에 Monthnumber를 씁니다.

이 페이지가 도움이 되었습니까?

이 페이지 또는 해당 콘텐츠에서 오타, 누락된 단계 또는 기술적 오류와 같은 문제를 발견하면 개선 방법을 알려 주십시오!

분석 현대화 프로그램에 참여

Remove banner from view

분석 현대화 프로그램으로 귀중한 QlikView 앱을 손상시키지 않고 현대화하십시오. 여기를 클릭 하여 자세한 내용을 참조하거나 다음에 연결하십시오. ampquestions@qlik.com