# Before - 차트 함수

Before()는 피벗 테이블의 차원 값이 피벗 테이블의 행 세그먼트 내 현재 열 앞의 열에 표시되므로 피벗 테이블의 차원 값으로 평가된 표현식의 값을 반환합니다.

구문:

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

정보 메모이 함수는 피벗 테이블을 제외한 모든 차트 유형에서 NULL을 반환합니다.

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

인수

| 인수 | 설명 |
| --- | --- |
| expr | 측정할 데이터가 포함된 표현식 또는 필드입니다. |
| offset | offset n을 1보다 크게 지정하면 표현식 평가가 현재 열에서 n개 열 왼쪽으로 이동합니다.<br><br>오프셋을 0으로 지정하면 현재 열의 표현식이 평가됩니다.<br><br>오프셋을 음수로 지정하면 Before 함수가 상응하는 양수 오프셋이 있는 After 함수와 동일하게 작동합니다. |
| 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) |

행 세그먼트의 첫 번째 열 위에는 다른 열이 없으므로 NULL 값이 반환됩니다.

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

예: 차트 표현식

| 예제 | 결과 |
| --- | --- |
| `Before( Sum(Sales ))` | 현재 열에 대해 바로 왼쪽에 있는 이전 열의 `Sales`의 합계를 반환합니다. |
| `Before( Sum(Sales ), 2)` | 현재 열에서 두 열 왼쪽에 있는 열부터 `Sales`의 합계를 반환합니다. |
| `Before( Total Sum( Sales ))` | 현재 열에 대해 바로 왼쪽에 있는 이전 열의 `Sales`의 총 합계를 반환합니다. |
| `RangeAvg ( Before(Sum(x),1,3))` | 현재 열의 바로 왼쪽에 있는 세 열에서 `sum(x)` 함수가 평가한 세 결과의 평균을 반환합니다. |

## 예 - Before 기본 사항

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

#### 차트 표현식

개요

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

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

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

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

  * `Year`

  * `Quarter`

  * `Sales`

로드 스크립트

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

결과

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

* `Year`

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

* `Quarter`

다음 측정값을 만듭니다.

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

* `=Before(Sum(Sales))`: 이전 분기의 판매량 합계를 표시합니다.

결과 테이블

| 년 | Q1 | Q2 | Q3 | Q4 |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Sum(Sales) | Before(Sum(Sales)) | Sum(Sales) | Before(Sum(Sales)) | Sum(Sales) | Before(Sum(Sales)) | Sum(Sales) | Before(Sum(Sales)) |  |
| 2023 | 5000 | - | 4000 | 5000 | 6000 | 4000 | 7000 | 6000 |

결과를 살펴보면 `Before` 함수가 각 `Quarter`에 대해 `Sum(Sales)` 열 바로 왼쪽에 있는 이전 열의 값을 반환하는 방식을 확인할 수 있습니다. 예를 들어, Q4에서 해당 기간의 `Sum(Sales)` 값은 `7000`입니다. `Q4`에 대한 `Before` 함수의 출력은 `6000`이며, 이는 `Q4`의 `Sum(Sales)` 바로 왼쪽에 있는 열의 값, 즉 `Q3`의 `Sum(Sales)`입니다.

## 예 - Before 함수를 사용하여 연간 판매량 성장률 계산

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

#### 차트 표현식

개요

데이터 집합에는 여러 해에 걸친 판매 수치가 포함되어 있습니다. 회사에서는 매년 총 판매량과 전년 대비 판매량 성장을 표시하고자 합니다.

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

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

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

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

  * `Year`

  * `Sales`

로드 스크립트

```
Example:
Load * inline [
Year, Sales
2021, 1300
2022, 1800
2023, 2000
2024, 2100
];
```

결과

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

* ` Year
                                       `

다음 측정값을 만듭니다.

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

* `=(Sum(Sales) - Before(Sum(Sales))) / Before(Sum(Sales))`: 연간 판매량 성장률을 계산합니다. 이 값을 백분율로 표시하려면 숫자 서식에서 숫자 &gt; 서식 단순 &gt; 12.34%를 선택합니다.

결과 테이블

| 2021 | 2022 | 2023 | 2024 |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- |
| Sum(Sales) | (Sum(Sales) - Before(Sum(Sales)))/Before(Sum(Sales)) | Sum(Sales) | (Sum(Sales) - Before(Sum(Sales)))/Before(Sum(Sales)) | Sum(Sales) | (Sum(Sales) - Before(Sum(Sales)))/Before(Sum(Sales)) | Sum(Sales) | (Sum(Sales) - Before(Sum(Sales)))/Before(Sum(Sales)) |
| 1300 | - | 1800 | 38.46% | 2000 | 11.11% | 2100 | 5.00% |

`Before` 함수의 출력은 전년도 판매 수치를 기준으로 연간 성장률을 반환합니다. 예를 들어, `2022`의 판매량 합계는 `2021`의 `Sum(Sales)`보다 `38.46%` 높았습니다.

팁 메모이 시나리오에서는 `After` 함수를 사용하여 동일한 판매량 성장률 계산을 수행할 수도 있습니다. 함수 매개 변수에 음수 오프셋 숫자를 지정하면 `After` 함수가 해당 양수 오프셋 숫자를 사용하는 `Before` 함수처럼 작동합니다. 예를 들어, `After` 함수(음수 오프셋 값 `-1` 포함)를 사용하는 다음 표현식은 `Before` 함수와 동일한 연간 판매량 성장률 결과를 반환합니다.  
`=(Sum(Sales)-After(Sum(Sales),-1))/(After(Sum(Sales),-1))`.