# Bottom

Bottom() 은 테이블의 열 세그먼트 내에 있는 마지막(맨 아래) 행의 표현식을 평가합니다. 계산되는 행은 offset(있는 경우) 값에 따라 달라지며 기본적으로는 맨 아래에 있는 행입니다. 테이블 이외의 차트에서는 해당 차트의 일반표 해당 부분에 있는 현재 열의 마지막 행을 평가합니다.

구문:

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

반환 데이터 유형: 이중

인수:

* expr: 측정할 데이터가 포함된 표현식 또는 필드입니다.

* offset: offset n을 0보다 크게 지정하면 표현식의 평가가 현재 행보다 n 행 위로 이동됩니다. 오프셋을 0으로 지정하면 현재 행의 표현식이 평가됩니다. 오프셋을 음수로 지정하면 Above 함수가 상응하는 양수 오프셋이 있는 Below 함수와 동일하게 작동합니다.

* count: 세 번째 인수 count를 1보다 크게 지정하면 함수에서 count 값의 범위를 반환하며, 원래 셀에서 위쪽으로 계산하여 count 테이블 행 각각에 대해 하나의 값이 반환됩니다. 이러한 형식으로 이 함수를 특별 범위 함수의 인수로 활용할 수 있습니다. [범위 함수](https://help.qlik.com/ko-KR/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/ChartFunctions/RangeFunctions/RangeFunctionsInCharts.htm)

* TOTAL: 테이블이 1차원이거나 TOTAL 한정자를 인수로 사용하는 경우 현재 열 세그먼트는 항상 전체 열과 동등합니다.

  [집계 범위 정의](https://help.qlik.com/ko-KR/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/ChartFunctions/define-aggregation-scope.htm)

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

정보 메모테이블 또는 테이블과 동등한 것에 여러 세로 차원이 있을 경우 현재 열 세그먼트에는 필드 간 정렬 순서에서 마지막 차원이 표시되는 열을 제외하고 모든 차원 열 내의 현재 행과 같은 값을 가진 행만 포함됩니다.

제한 사항:

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

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

예 및 결과:

예 1:

테이블 출력 예

| Customer | Sum(Sales) | Bottom(Sum(Sales)) | Sum(Sales) + Bottom(Sum(Sales)) | Bottom offset 3 |
| --- | --- | --- | --- | --- |
| - | 2566 | 757 | 3323 | 3105 |
| Astrida | 587 | 757 | 1344 | 1126 |
| Betacab | 539 | 757 | 1296 | 1078 |
| Canutility | 683 | 757 | 1440 | 1222 |
| Divadip | 757 | 757 | 1514 | 1296 |

이 예에서 표시된 테이블 차트의 표시에서 테이블은 차원 Customer과 측정값 `Sum(Sales)` 및 `Bottom(Sum(Sales))`에서 만들어집니다.

Bottom(Sum(Sales)) 열은 모든 행에 대해 다음 맨 아래 행의 값인 757을 반환합니다. Divadip.

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

예 2:

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

첫 번째 테이블에서 표현식은 Month 기준으로 평가되며, 두 번째 테이블에서 표현식은 Product 기준으로 평가됩니다. 계수 End value에는 표현식 `Bottom(Sum(Sales))`이 포함됩니다. Month의 맨 아래 행은 Dec이며, 테이블에 표시된 Product 값 모두의 Dec에 대한 값은 22입니다. (공간 절약을 위해 일부 행만 표시되어 있습니다.)

첫 번째 테이블 출력 예

| Customer | Product | Month | Sum(Sales) | End value |
| --- | --- | --- | --- | --- |
| - | - | - | **2566** | - |
| Astrida | AA | Jan | 46 | 22 |
| Astrida | AA | Feb | 60 | 22 |
| Astrida | AA | Mar | 70 | 22 |
| ... | ... | ... | ... | ... |
| Astrida | AA | Sep | 78 | 22 |
| Astrida | AA | Oct | 12 | 22 |
| Astrida | AA | Nov | 78 | 22 |
| Astrida | AA | Dec | 22 | 22 |
| Astrida | BB | Jan | 46 | 22 |

두 번째 테이블 출력 예

| Customer | Product | Month | Sum(Sales) | End 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:

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

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

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

테이블 출력 예

| Customer | RangeAvg (Bottom(Sum(Sales),1,3)) |
| --- | --- |
| Astrida | 659.67 |
| Betacab | 659.67 |
| Canutility | 659.67 |
| Divadip | 659.67 |

**예에서 사용된 데이터:**

`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`를 씁니다.

## 자세한 정보

* [Top](https://help.qlik.com/ko-KR/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/ChartFunctions/InterRecordFunctions/top.htm)