# First - 차트 함수

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

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

구문:

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

인수

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

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

예: 차트 표현식

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

## 예 - First 기본 사항

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/first.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)`: 판매량 합계를 계산합니다.

* `=First(Sum(Sales))`: 현재 행 세그먼트의 첫 번째 열의 판매량 합계를 계산합니다.

결과 테이블

| 년 | Q1 | Q2 | Q3 | Q4 |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Sum(Sales) | First(Sum(Sales)) | Sum(Sales) | First(Sum(Sales)) | Sum(Sales) | First(Sum(Sales)) | Sum(Sales) | First(Sum(Sales)) |  |
| 2023 | 5000 | 5000 | 4000 | 5000 | 6000 | 5000 | 7000 | 5000 |
| 2024 | 4500 | 4500 | 3250 | 4500 | 6500 | 4500 | 7250 | 4500 |

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

## 예 - First 시나리오

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

#### 차트 표현식

개요

데이터 집합에는 3년 동안 다양한 제품에 대한 연도별 판매 수치가 포함되어 있습니다. 회사에서는 당해 연도의 총 판매량과 해당 기간의 첫해 대비 판매량 성장률을 표시하려고 합니다.

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

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

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

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

  * `Date`

  * `Product`

  * `Sales`

로드 스크립트

```
Example:
Load * inline [
Date, Product, Sales
2021, Apple, 100
2021, Banana, 150
2021, Carrot, 120
2022, Carrot, 80
2022, Banana, 200
2022, Apple, 110
2023, Carrot, 160
2023, Banana, 300
2023, Apple, 150
];
```

결과

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

* ` Product
                                       `

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

* `Date`

다음 측정값을 만듭니다.

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

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

결과 테이블

| 제품 | 2021 | 2022 | 2023 |  |  |  |
| --- | --- | --- | --- | --- | --- | --- |
| Sum(Sales) | (Sum(Sales) - First(Sales)) / First(Sales) | Sum(Sales) | (Sum(Sales) - First(Sales)) / First(Sales) | Sum(Sales) | (Sum(Sales) - First(Sales)) / First(Sales) |  |
| 사과 | 100 | 0.00% | 110 | 10.00% | 150 | 50.00% |
| 바나나 | 150 | 0.00% | 200 | 33.33% | 300 | 100.00% |
| 당근 | 120 | 0.00% | 80 | -33.33% | 160 | 33.33% |

결과는 각 연도의 연간 판매 수치와 첫해 판매 금액과 비교한 연간 성장률을 백분율로 보여 줍니다. 예를 들어, `Apple` 판매량은 `2021`의 초기 값 `100`에서 `2023`의 값 `150`으로 증가했는데, 이는 `50%` 증가한 값입니다. `Carrot`의 판매량은 `2021`의 `120`에서 `2022`의 `80`으로 감소했는데, 이는 `33.33%` 감소한 값입니다.

## 예 - First 시나리오(예산 수치를 표시하기 위해 범위 합계 사용)

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

#### 차트 표현식

개요

데이터 집합에는 제품 범주별로 2년 동안의 분기별 예산 수치가 포함되어 있습니다. 회사에서는 현재 분기 예산과 매년 예산 누계를 표시하려고 합니다.

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

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

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

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

  * `BudgetYear`

  * `BudgetQuarter`

  * `QuarterNo`

  * `BudgetAmount`

  * `Category`

로드 스크립트

```
Example:
Load * inline [
BudgetYear, BudgetQuarter, QuarterNo, BudgetAmount, Category
2023, Q1, 1, 2100, Online
2023, Q2, 2, 2500, Online
2023, Q3, 3, 3100, Online
2023, Q4, 4, 4100, Online
2023, Q1, 1, 5100, Store
2023, Q2, 2, 5500, Store
2023, Q3, 3, 6100, Store
2023, Q4, 4, 7100, Store
2024, Q1, 1, 2300, Online
2024, Q2, 2, 2800, Online
2024, Q3, 3, 3300, Online
2024, Q4, 4, 4400, Online
2024, Q1, 1, 5300, Store
2024, Q2, 2, 5800, Store
2024, Q3, 3, 6300, Store
2024, Q4, 4, 7400, Store
];
```

결과

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

* ` BudgetYear
                                       `

* `Category`

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

* `BudgetQuarter`

다음 측정값을 만듭니다.

* `=Sum(BudgetAmount)`: 예산 판매 수치를 계산합니다.

* `=RangeSum(First(Sum(BudgetAmount), 1, QuarterNo))`: 각 분기별로 평가된 1분기부터 `QuarterNo`까지의 범위를 합산하여 분기별 예산 판매의 누계를 계산합니다.

결과 테이블

| BudgetYear<br><br>범주 | Q1 | Q2 | Q3 | Q4 |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Sum(BudgetAmount) | RangeSum(First(Sum(BudgetAmount), 1, QuarterNo)) | Sum(BudgetAmount) | RangeSum(First(Sum(BudgetAmount), 1, QuarterNo)) | Sum(BudgetAmount) | RangeSum(First(Sum(BudgetAmount), 1, QuarterNo)) | Sum(BudgetAmount) | RangeSum(First(Sum(BudgetAmount), 1, QuarterNo)) |  |
| (-) 2023 | 7200 | 7200 | 8000 | 15200 | 9200 | 24400 | 11200 | 35600 |
| 온라인 | 2100 | 2100 | 2500 | 4600 | 3100 | 7700 | 4100 | 11800 |
| 저장 | 5100 | 5100 | 5500 | 10600 | 6100 | 16700 | 7100 | 23800 |
| (-) 2024 | 7600 | 7600 | 8600 | 16200 | 9600 | 25800 | 11800 | 37600 |
| 온라인 | 2300 | 2300 | 2800 | 5100 | 3300 | 8400 | 4400 | 12800 |
| 저장 | 5300 | 5300 | 5800 | 11100 | 6300 | 17400 | 7400 | 24800 |

결과는 `Year` 및 `Category` 각각에 대한 예산 수치와 `Quarter`에 따른 누계를 보여 줍니다. 예를 들어, `2023`의 `Q2`에서 `QuarterNo`은 `2`입니다. 따라서 함수 표현식은 `Q1`(`7200`) 및 `Q2`(`8000`)에 대한 `BudgetAmount` 열을 합산하고 값 `15200`을 반환하는 `RangeSum(First(Sum(BudgetAmount), 1, 2))`로 평가됩니다. 결과는 `Q1` 및 `Q2`에 대한 `Sum(BudgetAmount)` 열의 합계를 반환합니다. `2024`에서 `Category Online`인 경우, `Q1`의 `Sum(BudgetAmount)`은 `2300`이고 `Q2`는 `2800`입니다. 따라서 `RangeSum` 표현식은 `5100`을 반환합니다.