Below
Below() 는 테이블의 열 세그먼트 내의 현재 행 아래에 있는 행의 표현식을 평가합니다. 계산되는 행은 offset(있는 경우) 값에 따라 달라지며 기본적으로는 바로 아래에 있는 행입니다. 테이블 이외의 차트인 경우, Below()는 해당 차트의 일반표 해당 부분의 현재 열 아래에 있는 행을 평가합니다.
구문:
Below([TOTAL] expression [ , offset [,count ]])
반환 데이터 유형: dual
인수:
- expr: 측정할 데이터가 포함된 표현식 또는 필드입니다.
- offset: offsetn을 0보다 크게 지정하면 표현식의 평가가 현재 행보다 n 행 위로 이동됩니다. 오프셋을 0으로 지정하면 현재 행의 표현식이 평가됩니다. 오프셋을 음수로 지정하면 Above 함수가 상응하는 양수 오프셋이 있는 Below 함수와 동일하게 작동합니다.
- count: 세 번째 인수 count를 1보다 크게 지정하면 함수에서 count 값의 범위를 반환하며, 원래 셀에서 위쪽으로 계산하여 count 테이블 행 각각에 대해 하나의 값이 반환됩니다. 이러한 형식으로 이 함수를 특별 범위 함수의 인수로 활용할 수 있습니다. 범위 함수
- TOTAL: 테이블이 1차원이거나 TOTAL 한정자를 인수로 사용하는 경우 현재 열 세그먼트는 항상 전체 열과 동등합니다.
열 세그먼트의 마지막 행 아래에 다른 행이 없으므로 NULL 값이 반환됩니다.
제한 사항:
-
재귀 호출은 NULL을 반환합니다.
-
이 차트 함수가 차트의 표현식에서 사용되는 경우 차트의 y 값에 대한 정렬 또는 테이블의 표현식 열에 의한 정렬은 허용되지 않습니다. 따라서 해당 정렬 옵션이 자동으로 비활성화됩니다. 시각화 또는 테이블에서 이 차트 함수를 사용하면 시각화의 정렬이 이 함수에 대해 정렬된 입력으로 되돌아갑니다.
예 및 결과:
예 1:
Customer | Sum(Sales) | Below(Sum(Sales)) | Sum(Sales) + Below(Sum(Sales)) | Below offset 3 | Higher? |
---|---|---|---|---|---|
- | 2566 | - | - | 1344 | - |
Astrida | 587 | 539 | 1126 | - | Higher |
Betacab | 539 | 683 | 1222 | - | - |
Canutility | 683 | 757 | 1440 | - | - |
Divadip | 757 | - | - | - | - |
예 1에서 보여주는 테이블 차트 표시에서, 테이블은 차원 Customer와 측정값 Sum(Sales) 및 Below(Sum(Sales))로부터 생성됩니다.
열 Below(Sum(Sales))는 아래에 다른 행이 없으므로 Divadip가 포함된 Customer 행에 대해 NULL을 반환합니다. Canutility 행의 결과는 Divadip에 대한 Sum(Sales)의 값을 보여주며, Betacab의 결과는 Canutility에 대한 Sum(Sales)의 값을 보여줍니다.
이 테이블은 더 복잡한 측정값을 보여주며 Sum(Sales)+Below(Sum(Sales)), Below +Offset 3 및 Higher?와 같은 레이블의 열에서 확인할 수 있습니다. 이 표현식은 아래 단락에 설명된 것처럼 작동합니다.
레이블이 Sum(Sales)+Below(Sum(Sales))인 열의 경우, Betacab의 행에 Astrida + Astrida(539+587)행의 Sum(Sales) 덧셈 결과가 표시됩니다. Betacab 행의 결과는 Canutility + Betacab(539+683)의 Sum(Sales) 값의 덧셈 결과가 표시됩니다.
표현식 Sum(Sales)+Below(Sum(Sales), 3)를 사용하여 생성된 레이블이 Below +Offset 3인 계수에는 인수 offset이 3으로 설정되어 있으며, 현재 행의 세 번째 아래 행에 있는 값을 취하는 결과를 갖습니다. 이는 현재 Customer의 Sum(Sales) 값을 세 행 아래의 Customer 값에 추가합니다. 맨 아래 세 Customer 행의 값은 Null입니다.
레이블이 Higher?인 계수는 표현식 IF(Sum(Sales)>Below(Sum(Sales)), 'Higher')에서 생성됩니다. 이는 계수 Sum(Sales)의 현재 행 값과 그 아래 행의 값을 비교합니다. 현재 행의 값이 더 크다면 텍스트 "Higher"가 출력됩니다.
2차원 이상의 차트인 경우 Above, Below, Top 및 Bottom 함수가 포함된 표현식의 결과는 QlikView에서 열 차원을 정렬한 순서에 따라 달라집니다. QlikView에서는 마지막으로 정렬된 차원에서 산출된 열 세그먼트를 기준으로 함수를 평가합니다. 열 정렬 순서는 정렬을 통해 제어되며 반드시 테이블에 표시되는 순서인 것은 아닙니다.자세한 내용은 Above 함수에서 예 2를 참조하십시오.
예 2:
Below 함수는 범위 함수에 대한 입력으로 사용할 수 있습니다. 예: RangeAvg (Below(Sum(Sales),1,3)).
Below() 함수에 대한 인수에서 offset이 1로 설정되고 count가 3으로 설정됩니다. 이 함수는 열 세그먼트(행이 있는 곳)의 현재 행 바로 아래의 세 행에서 표현식 Sum(Sales)의 결과를 찾습니다. 이 세 값은 제공된 숫자 범위에서 값의 평균을 구하는 RangeAvg() 함수에 대한 입력으로 사용됩니다.
차원으로 Customer가 포함된 테이블은 표현식에 대해 다음과 같은 결과를 제공합니다.
Customer | RangeAvg (Below(Sum(Sales),1,3)) |
---|---|
Astrida | 659.67 |
Betacab | 720 |
Canutility | 757 |
Divadip | - |
예에서 사용된 데이터:
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를 씁니다.