# ColumnNo - 차트 함수

ColumnNo()는 피벗 테이블의 현재 행 세그먼트 내에 있는 현재 열의 번호를 반환합니다. 첫 번째 열은 1번입니다.

구문:

ColumnNo([total])

인수

| 인수 | 설명 |
| --- | --- |
| TOTAL | 테이블이 1차원이거나 TOTAL 한정자를 인수로 사용하는 경우 현재 열 세그먼트는 항상 전체 열과 동등합니다.<br><br>[집계 범위 정의](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

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

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

예: 차트 표현식

| 예제 | 결과 |
| --- | --- |
| ` IF( ColumnNo()=1, 0, Sum(Sales) / Before(Sum(Sales)))  ` | `ColumnNo`가 1이면 차트는 0을 반환합니다. 그렇지 않으면 `Sum(Sales) / Before(Sum(Sales)`의 결과가 반환됩니다. 이 예에서 차트는 열 2부터 값을 반환하고 열 1은 0을 반환합니다. |

## 예 - ColumnNo 기본 사항

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

#### 차트 표현식

개요

데이터 집합에는 분기별 판매 데이터가 포함되어 있습니다. 이 예에서는 각 기간의 판매량 값에 해당 기간의 열 수를 곱합니다.

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

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

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

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

  * `Period`

  * `Sales`

로드 스크립트

```
Example:
Load * inline [
Period, Sales
Q1, 1000
Q2, 2000
Q3, 3000
Q4, 4000
];
```

결과

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

* `Period`

다음 측정값을 만듭니다.

* `=Sum(Sales) * ColumnNo()`: 판매량 값의 합계에 열 수(이 예에서는 분기)를 곱한 값을 계산합니다.

결과 테이블

| Q1 | Q2 | Q3 | Q4 |
| --- | --- | --- | --- |
| 1000 | 4000 | 9000 | 16000 |

각 분기별 판매량 값의 합계에 `ColumnNo` 함수의 출력을 곱합니다. 예를 들어, `Q4`의 판매량 값은 4000이고, `Q4`가 네 번째 열이므로 `ColumnNo` 함수의 출력은 `4`을 반환합니다. 따라서 측정값 표현식은 `4000`을 `4`로 곱하고 `16000`을 반환합니다.

## 예 - ColumnNo 시나리오

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

#### 차트 표현식

개요

데이터 집합에는 분기별 판매 수치가 포함되어 있습니다. 어떤 회사에서는 1분기와 3분기(홀수 열)의 판매 데이터를 5% 늘리고 나머지 열(2분기와 4분기)의 판매량을 10% 늘리려고 합니다.

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

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

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

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

  * `Period`

  * `Sales`

로드 스크립트

```
Example:
Load * inline [
Period, Sales
Q1, 1000
Q2, 2000
Q3, 3000
Q4, 4000
];
```

결과

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

* `Period`

다음 측정값을 만듭니다.

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

* `=If(Odd(ColumnNo()), Amount * 1.05, Amount * 1.10)`: 홀수 열의 판매 금액을 5% 늘리고 나머지 열의 판매 금액을 10% 늘립니다.

결과 테이블

| Q1 | Q2 | Q3 | Q4 |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- |
| Sum(매출) | If(Odd(ColumnNo()), Amount \* 1.05, Amount \* 1.10) | Sum(매출) | If(Odd(ColumnNo()), Amount \* 1.05, Amount \* 1.10) | Sum(매출) | If(Odd(ColumnNo()), Amount \* 1.05, Amount \* 1.10) | Sum(매출) | If(Odd(ColumnNo()), Amount \* 1.05, Amount \* 1.10) |
| 1000 | 1050 | 2000 | 2200 | 3000 | 3150 | 4000 | 4400 |

결과는 홀수 열 1과 3(`Q1` 및 `Q3`)의 판매량 값은 5% 증가했고 나머지 짝수 열 2와 4(`Q2` 및 `Q4`)는 10% 증가했음을 보여 줍니다.

## 예 - ColumnNo 고급 시나리오

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

#### 차트 표현식

개요

이 예에서는 이전 시나리오와 동일한 데이터 집합을 사용하여 각 기간의 값에 대한 누적 합계를 표시합니다.

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

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

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

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

  * `Period`

  * `Sales`

로드 스크립트

```
Example:
Load * inline [
Period, Sales
Q1, 1000
Q2, 2000
Q3, 3000
Q4, 4000
];
```

결과

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

* `Period`

다음 측정값을 만듭니다.

* `=RangeSum(Before(Sum(Sales), 0, ColumnNo()))`: 누적 합계를 계산합니다.

결과 테이블

| Q1 | Q2 | Q3 | Q4 |
| --- | --- | --- | --- |
| 1000 | 3000 | 6000 | 10000 |

이 예에서는 `ColumnNo` 함수를 사용하여 누계를 생성하는 방법을 보여 줍니다. 다음 설명은 측정값 표현식에 대한 더 자세한 내용을 제공합니다. `RangeSum(Before(Sum(Sales), 0, ColumnNo()))`.

`Sum(Sales)`: 피벗 테이블의 현재 셀에 대한 판매량 합계를 계산합니다.

`Before(Sum(Sales), 0, ColumnNo())`: `Before` 함수는 피벗 테이블의 이전 열에서 값을 검색합니다.

* `Sum(Sales)` 인수는 함수가 이전 셀에 대한 합계 `Sales`를 검색하도록 합니다.

* `0`의 오프셋 값은 현재 열의 현재 행 세그먼트에 남아 있는 열에 대한 오프셋을 지정합니다.

* `ColumnNo()`는 데이터를 검색할 때 뒤로 이동할 열 수를 결정합니다. 현재 열의 위치를 동적으로 나타냅니다(예를 들어, 열 3인 경우 `ColumnNo()`는 `3`이므로 이 함수는 3개 열을 되돌아봅니다).

`RangeSum()`: `RangeSum` 함수는 제공된 값 범위의 합계를 계산합니다. null 값을 0으로 처리합니다. 이 표현식에서 `RangeSum`은 `Before()` 함수에서 검색된 모든 이전 `Sales` 값과 현재 셀의 판매량을 합산하여 누적 합계를 효과적으로 생성합니다.