# Last - 차트 함수

Last()는 피벗 테이블의 현재 행 세그먼트의 마지막 열에 표시되는 피벗 테이블의 차원 값으로 평가된 표현식의 값을 반환합니다. 이 함수는 피벗 테이블을 제외한 모든 차트 유형에서 NULL을 반환합니다.

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

구문:

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

인수

| 인수 | 설명 |
| --- | --- |
| expr | 측정할 데이터가 포함된 표현식 또는 필드입니다. |
| offset | offset n을 1보다 크게 지정하면 표현식 평가가 마지막 열에서 n개 열 왼쪽으로 이동합니다.<br><br>오프셋을 0으로 지정하면 현재 행 세그먼트의 마지막 열에 대한 표현식이 평가됩니다.<br><br>오프셋을 음수로 지정하면 Last 함수가 상응하는 양수 오프셋이 있는 First 함수와 동일하게 작동합니다. |
| count | 세 번째 파라메타 count를 1보다 크게 지정하면, 함수는 값의 범위를 반환하며, 원래 셀에서 왼쪽으로 계산하여 count 값까지 테이블 열 각각에 대해 하나의 값이 반환됩니다. |
| TOTAL | 테이블이 1차원이거나 TOTAL 한정자를 인수로 사용하는 경우 현재 열 세그먼트는 항상 전체 열과 동등합니다.<br><br>[집계 범위 정의](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

피벗 테이블에 여러 가로 차원이 있을 경우 현재 행 세그먼트에는 필드 간 정렬 순서에서 마지막 가로 차원이 표시되는 행을 제외하고 모든 차원 행 내의 현재 열과 같은 값을 가진 열만 포함됩니다. 피벗 테이블에서 가로 차원의 필드 간 정렬 순서는 간단하게 위쪽에서 아래쪽의 차원 순서로 정의됩니다.에서 관리합니다.

예: 차트 표현식

| 예제 | 결과 |
| --- | --- |
| `Last( Sum(Sales ))` | 현재 행 세그먼트의 마지막 열부터 `Sales`의 합계를 반환합니다. |
| `Last( Sum(Sales ), 2)` | 현재 행 세그먼트의 마지막 열에서 두 열 왼쪽에 있는 열부터 `Sales`의 합계를 반환합니다. |
| `Last( Total Sum( Sales ))` | 현재 행 세그먼트의 마지막 열부터 `Sales`의 총 합계를 반환합니다. |
| `RangeAvg (Last(Sum(x),1,5))` | 현재 행 세그먼트의 가장 오른쪽에 있는 5개 열에 대해 `sum(x)` 함수가 평가한 결과의 평균을 반환합니다. |

## 예 - Last 기본 사항

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/last.htm)

#### 차트 표현식

개요

데이터 로드 편집기를 열고 새 섹션에 아래 로드 스크립트를 추가합니다.

로드 스크립트에는 다음이 포함됩니다.

* `Example`이라는 데이터 테이블에 로드되는 데이터 집합입니다.

* 데이터 테이블의 필드는 다음과 같습니다.

  * `Year`

  * `Quarter`

  * `Sales`

로드 스크립트

```
Example:
Load * inline [
Year, Quarter, Sales
2023, Q1, 5000
2023, Q2, 4000
2023, Q3, 6000
2023, Q4, 7000
2024, Q1, 4500
2024, Q2, 3250
2024, Q3, 6500
2024, Q4, 7250
];
```

결과

데이터를 로드하고 시트를 엽니다. 새 피벗 테이블을 만들고 이 필드를 행 차원으로 추가:

* `Year`

이 필드를 열 차원으로 추가:

* `Quarter`

다음 측정값을 만듭니다.

* `=Sum(Sales)`: 판매량 합계를 계산합니다.

* `=Last(Sum(Sales))`: 현재 행 세그먼트의 마지막 열의 판매량 합계를 계산합니다.

결과 테이블

| 년 | Q1 | Q2 | Q3 | Q4 |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Sum(매출) | 마지막(합계(매출)) | Sum(매출) | 마지막(합계(매출)) | Sum(매출) | 마지막(합계(매출)) | Sum(매출) | 마지막(합계(매출)) |  |
| 2023 | 5000 | 7000 | 4000 | 7000 | 6000 | 7000 | 7000 | 7000 |
| 2024 | 4500 | 7250 | 3250 | 7250 | 6500 | 7250 | 7250 | 7250 |

결과를 살펴보면 `Last` 함수는 각 분기별 각 행 세그먼트의 마지막 열에 대한 판매량 값 합계를 반환하는 것을 확인할 수 있습니다. 예를 들어, `Q1`에서 해당 기간의 `Sum(Sales)` 값은 `5000`입니다. `Q1`에 대한 `Last(Sum(Sales)` 값은 `7000`이며, 이는 현재 행의 마지막 열 값인 `Q4`의 `Sum(Sales)`에 대한 값인 `2023`입니다.

## 예 - Last 시나리오

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/last.htm)

#### 차트 표현식

개요

데이터 집합에는 3개월 동안 다양한 제품에 대한 판매 수치가 포함되어 있습니다. 회사에서는 현재 기간의 총 판매량과 해당 기간의 마지막(또는 최근) 판매 수치와 비교한 판매량 성장률을 표시하려고 합니다.

데이터 로드 편집기를 열고 새 섹션에 아래 로드 스크립트를 추가합니다.

로드 스크립트에는 다음이 포함됩니다.

* `Example`이라는 데이터 테이블에 로드되는 데이터 집합입니다.

* 데이터 테이블의 필드는 다음과 같습니다.

  * `Date`

  * `Product`

  * `Sales`

로드 스크립트

```
Example:
Load * inline [
Date, Product, Sales
2024-01-01, Apple, 100
2024-01-01, Banana, 150
2024-01-01, Carrot, 120
2024-02-01, Carrot, 80
2024-02-01, Banana, 200
2024-02-01, Apple, 110
2024-03-01, Carrot, 160
2024-03-01, Banana, 300
2024-03-01, Apple, 150
];
```

결과

데이터를 로드하고 시트를 엽니다. 새 피벗 테이블을 만들고 이 필드를 행 차원으로 추가:

* ` Product
                                       `

이 필드를 열 차원으로 추가:

* `Date`

다음 측정값을 만듭니다.

* `=Sum(Sales)`: 연간 판매량을 계산합니다.

* `=(Last(Sum(Sales)) - Sum(Sales)) / Sum(Sales)` 현재 기간부터 최신 기간까지의 판매량 성장률을 계산합니다. 이 값을 백분율로 표시하려면 숫자 서식에서 숫자 &gt; 서식 단순 &gt; 12.34%를 선택합니다.

결과 테이블

| 제품 | 2024-01-01 | 2024-02-01 | 2024-03-01 |  |  |  |
| --- | --- | --- | --- | --- | --- | --- |
| Sum(매출) | (마지막(합계(매출)) - 합계(매출)) / 합계(매출) | Sum(매출) | (Last(Sum(Sales)) - Sum(Sales)) / Sum(Sales) | Sum(매출) | (Last(Sum(Sales)) - Sum(Sales)) / Sum(Sales) |  |
| 애플 | 100 | 50.00% | 110 | 36.36% | 150 | 0.00% |
| 바나나 | 150 | 100.00% | 200 | 50.00% | 300 | 0.00% |
| 당근 | 120 | 33.33% | 80 | 100.00% | 160 | 0.00% |

이 예에서는 판매 기간의 시작부터 마지막 기간까지 판매가 어떻게 진행되었는지 확인할 수 있습니다. 예를 들어, 첫 번째 기간 `2024-01-01`의 `Apple` 판매량은 `100`이었으며, 이에 비해 해당 기간 `2024-03-01`의 최신 판매 수치는 `150`이었습니다. 이는 `50%`의 증가를 나타냅니다.

## 예 - Last를 사용하여 예산 분산 계산

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/last.htm)

#### 차트 표현식

개요

데이터 집합에는 2년 동안의 분기별 예산 수치가 포함되어 있습니다. 회사에서는 각 분기의 총 예산 금액과 해당 연도의 평균 분기별 예산과 비교한 현재 기간의 예산 금액 간의 차이를 표시하려고 합니다.

데이터 로드 편집기를 열고 새 섹션에 아래 로드 스크립트를 추가합니다.

로드 스크립트에는 다음이 포함됩니다.

* `Example`이라는 데이터 테이블에 로드되는 데이터 집합입니다.

* 데이터 테이블의 필드는 다음과 같습니다.

  * `Year`

  * `Quarter`

  * `Budget`

로드 스크립트

```
Example:
Load * inline [
Year, Quarter, Budget
2023, Q1, 1200
2023, Q2, 1100
2023, Q3, 1300
2023, Q4, 1400
2024, Q1, 1550
2024, Q2, 1230
2024, Q3, 1400
2024, Q4, 1600
];
```

결과

데이터를 로드하고 시트를 엽니다. 새 피벗 테이블을 만들고 이 필드를 행 차원으로 추가:

* ` Year
                                       `

이 필드를 열 차원으로 추가:

* `Quarter`

다음 측정값을 만듭니다.

* `=Sum(Budget)`: 해당 분기의 예산을 계산합니다.

* `=Sum(Budget) - RangeAvg(Last(Budget, 1, 4))`: 현재 기간의 `Budget` 금액과 해당 연도의 평균 분기별 예산 간의 차이를 계산합니다.

결과 테이블

| 년 | Q1 | Q2 | Q3 | Q4 |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Sum(예산) | Sum(예산) - RangeAvg(Last(예산, 1, 4)) | Sum(예산) | Sum(예산) - RangeAvg(Last(예산, 1, 4)) | 합계(예산) | 합계(예산) - 범위평균(마지막(예산, 1, 4)) | 합계(예산) | 합계(예산) - 범위평균(마지막(예산, 1, 4)) |  |
| 2023 | 1200 | -50 | 1100 | -150 | 1300 | 50 | 1400 | 150 |
| 2024 | 1550 | 105 | 1230 | -215 | 1400 | -45 | 1600 | 155 |

`Last` 기능을 사용하면 분기별 예산 금액이 분기별 평균 예산과 비교하여 어떻게 달라지는지 확인할 수 있습니다. 예를 들어 `2023`의 총 예산은 `5000`(`1200 + 1100 + 1300 + 1400`)이므로 분기별 평균 예산은 `1250`입니다. `Q1`의 예산 금액은 `1200`이므로 `1250`의 평균 분기 예산보다 `50` 적은 반면, `Q4`의 예산 변동은 평균 분기 예산보다 `150` 큽니다.