# Sum - 차트 함수

Sum() 은 집계 데이터 전체에서 필드 또는 표현식을 통해 지정된 값의 합계를 계산합니다.

구문:

Sum([{SetExpression}] [DISTINCT] [TOTAL [&lt;fld {,fld}&gt;]] expr])

반환 데이터 유형: 숫자

인수

| 인수 | 설명 |
| --- | --- |
| expr | 측정할 데이터가 포함된 표현식 또는 필드입니다. |
| SetExpression | 기본적으로 집계 함수는 선택에 의해 정의된 사용 가능한 레코드의 집합을 집계합니다. 집합 분석 표현식으로 대체 레코드 집합을 정의할 수 있습니다. |
| DISTINCT | 함수 인수 앞에 DISTINCT라는 단어가 있을 경우 해당 함수 인수의 평가 결과로 생성된 중복이 무시됩니다.<br><br>정보 메모DISTINCT 한정자가 지원되기는 하지만, 일부 데이터가 누락되었음에도 전체 값이 표시되는 것으로 오해를 일으킬 수 있으므로 각별한 주의 하에 사용해야 합니다. |
| TOTAL | TOTAL이 함수 인수 앞에 오는 경우, 현재 선택을 고려하되 현재 차원 값에 관련되지 않은 가능한 모든 값에 대한 계산이 실행됩니다. 즉, 차트 차원은 무시됩니다.<br><br>TOTAL [&lt;fld {.fld}&gt;](여기서 TOTAL 한정자 뒤에는 하나 이상의 필드 이름 목록이 차트 차원 변수의 하위 집합으로 옴)을 사용하여 가능한 전체 값의 하위 집합을 만듭니다.<br><br>[집계 범위 정의](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

예: 차트 표현식

| 예제 | 결과 |
| --- | --- |
| `Sum(UnitSales)` | `UnitSales`에 있는 값의 합계를 반환합니다. |
| `Sum(UnitSales*UnitPrice)` | `UnitPrice`에 집계된 `UnitSales`를 곱한 합계를 반환합니다. |
| `Sum(TOTAL UnitSales*UnitPrice)` | `TOTAL` 한정자는 차트 차원을 무시하고 합계가 계산됨을 의미하므로, 테이블의 모든 행에 대한 총 합계와 총합을 반환합니다. |
| `Sum({1} TOTAL UnitSales*UnitPrice)` | 집합 분석 표현식 `{1}`은 선택한 내용과 관계없이 평가할 레코드 집합을 `ALL`로 정의합니다. |

## 예 - Sum 기본 사항

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

#### 차트 표현식

개요

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

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

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

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

  * `Customer`

  * `Product`

  * `UnitSales`

  * `UnitPrice`

로드 스크립트

```
Example:
LOAD * inline [
Customer|Product|UnitSales|UnitPrice
Astrida|AA|4|16
Astrida|AA|10|15
Astrida|BB|9|9
Betacab|BB|5|10
Betacab|CC|2|20
Betacab|DD||25
Canutility|AA|8|15
Canutility|CC||19
] (delimiter is '|');
```

결과

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

* `Customer`

* `Product`

다음 측정값을 만듭니다.

* `=Sum(UnitSales)`: `UnitSales`의 합계를 계산합니다.

* `=Sum(UnitSales*UnitPrice)`: `UnitSales`의 합계에 `UnitPrice`을 곱한 값을 계산합니다.

* `=Sum(TOTAL UnitSales*UnitPrice)`: 차트 차원에 관계없이 모든 셀의 합계가 동일함을 의미하는 `TOTAL` 한정자를 사용하므로 테이블의 모든 행에 대한 합계와 총합을 계산합니다.

* `=Sum({1} TOTAL UnitSales*UnitPrice)`: 집합 분석 표현식 `{1}`은 선택 항목과 상관없이 평가할 레코드 집합을 `ALL`로 정의하므로 선택 항목과 상관없이 합계를 계산합니다.

Results table

| Customer | Product | Sum(UnitSales) | Sum(UnitSales\*UnitPrice) | Sum(TOTAL UnitSales\*UnitPrice) | Sum({1} TOTAL UnitSales\*UnitPrice) |
| --- | --- | --- | --- | --- | --- |
| Totals | - | 38 | 505 | 505 | 505 |
| Astrida | AA | 14 | 214 | 505 | 505 |
| Astrida | BB | 9 | 81 | 505 | 505 |
| Betacab | BB | 5 | 50 | 505 | 505 |
| Betacab | CC | 2 | 40 | 505 | 505 |
| Betacab | DD | 0 | 0 | 505 | 505 |
| Canutility | AA | 8 | 120 | 505 | 505 |
| Canutility | CC | 0 | 0 | 505 | 505 |

이 예에서는 다음 사항을 관찰합니다.

* 첫 번째 측정값 `Sum(UnitSales`의 경우 `Totals` 셀은 `38`을 반환합니다. 이는 모든 고객과 제품에 걸쳐 `UnitSales`의 값 합계입니다. 각 고객 및 제품 조합에 대한 결과는 집계되어 각 조합에 대한 `UnitSales`의 총 합계가 반환됩니다. 예를 들어, 고객 `Astrida`의 제품 `AA`의 모든 `UnitSales`의 합계는 `14`입니다.

* 두 번째 측정값 `Sum(UnitSales*UnitPrice)`의 경우 `Totals` 셀은 `505`를 반환합니다. 이는 각 고객 및 제품 조합에 대해 `UnitSales`에 `UnitPrice`를 곱한 합계입니다.

* 세 번째 측정값 `Sum(TOTAL UnitSales*UnitPrice)`의 경우 `TOTAL` 한정자가 차트 차원을 무시하므로 `Totals`를 포함한 모든 행에서 반환되는 값은 `505`입니다. 그러나 `Customer`와 같은 차원에서 선택하면 값이 변경됩니다. 예를 들어, `Betacab`을 선택하면 결과 테이블에는 `Betacab` 레코드 각각에 대해 하나씩 총 3개의 행만 있지만 열은 모든 행에 대해 동일한 총 값(`90`)을 반환합니다.

* 네 번째 측정값 `Sum({1} TOTAL UnitSales*UnitPrice)`는 집합 분석 표현식 `{1}`이 평가할 레코드 집합을 `ALL`로 정의하므로 모든 선택 항목과 무관하게 값 `505`를 반환합니다. 예를 들어, `Canutility`와 같은 고객을 선택하면 반환되는 값은 여전히 `505`입니다.

## 예 - Sum 시나리오(판매 데이터 집계)

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

#### 차트 표현식

개요

데이터 집합에는 지역별 매장의 판매 수치가 포함되어 있습니다. 회사는 판매량을 집계하려고 합니다.

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

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

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

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

  * `Month`

  * `SalesProduct`

  * `Region`

  * `Sales`

로드 스크립트

```
Example:
Load * inline [
Month,SalesProduct, Region, Sales
2024-01-01, T-shirt, East, 100
2024-01-01, T-shirt, West, 120
2024-01-01, Jeans, East, 200
2024-01-01, Jeans, West, 180
2024-02-01, T-shirt, East, 150
2024-02-01, T-shirt, West, 130
2024-02-01, Jeans, East, 250
2024-02-01, Jeans, West, 220
];
```

결과

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

* `Month`

* `Region`

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

* `SalesProduct`

다음 측정값을 만듭니다.

* `=Sum(Sales)`: 각 제품의 총 판매량을 계산합니다.

피벗 테이블을 확장하여 모든 행을 보려면 속성 패널의 모양에서 프레젠테이션을 선택합니다. 행에서 완전히 확장을 선택합니다.

Results table

| Month<br>Region | SalesProduct |  |
| --- | --- | --- |
| Jeans | T-shirt |  |
| 2024-01-01 | 380 | 220 |
| East | 200 | 100 |
| West | 180 | 120 |
| 2024-02-01 | 470 | 280 |
| East | 250 | 150 |
| West | 220 | 130 |

결과는 `Month` 및 `Region`별 각 `SalesProduct`에 대한 판매량을 각 `Month`에 대해 집계된 합계와 함께 보여 줍니다.

## 자세한 정보

* [집합 분석](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-analysis-expressions.htm)
* [집계 범위 정의](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm)