# 집계 함수

## Content



보고서에 요약 값을 포함하기 위해 아래에서 설명하는 집계 함수를 사용할 수 있습니다. 모든 집계 함수에는 계산에 사용할 데이터 집합을 결정하는 선택적 ```scope``` 인수가 포함되어 있습니다. ```scope``` 인수는 다음 값 중 하나를 가질 수 있습니다.

* [데이터 집합](/activereportsjs/docs/v2.2/ReportAuthorGuide/Databinding#data-set-configuration)의 이름
* [데이터 영역](/activereportsjs/docs/v2.2/ReportAuthorGuide/Report-Items/Data-Regions)의 이름
* 그룹 이름(예: [표 그룹](/activereportsjs/docs/v2.2/ReportAuthorGuide/Report-Items/Data-Regions/Table#table-grouping))

기본적으로 ```scope``` 인수의 값은 집계 함수를 "호스팅"하는 보고서 항목에 따라 달라지는 현재 범위입니다. 예를 들어, [표 형식 보고서 시작하기 데모](/activereportsjs/demos/Reports/GetStartedWithTabularReports/purejs)에서 표의 [그룹 푸터](/activereportsjs/docs/v2.2/ReportAuthorGuide/Report-Items/Data-Regions/Table#group-footer)에는 ```{Sum(unitsInStock)}``` 값을 표시하는 [텍스트 상자](/activereportsjs/docs/v2.2/ReportAuthorGuide/Report-Items/Data-Visualizers/TextBox)가 있습니다. 이 텍스트 상자는 ```Sum``` 집계 함수에 대한 호출이고 ```scope``` 인수는 생략됩니다. 즉, 계산 범위가 그룹 인스턴스입니다. 값이 동일한 텍스트 상자가 [표 헤더](/activereportsjs/docs/v2.2/ReportAuthorGuide/Report-Items/Data-Regions/Table#table-header)에 있으면 계산 범위는 전체 표입니다.   


### AggregateIf

지정된 범위에서 계산되는 식으로 지정된 조건부 집계 값을 반환합니다.

**구문**

AggregateIf(```condition```, ```aggregate```, ```expression```, \[\`\`\`scope\`\`\`])

**인수**

* ```condition``` - ```식```을 계산에 포함할지 여부를 나타내는 부울 값으로 평가되는 식
* ```aggregate``` \- 계산에 사용할 집계 함수의 이름(예: ```Count```)
* ```expression``` \- 요약 값을 계산할 식
* ```scope``` \- 선택적 계산 범위


**예시**

다음 식을 사용하여 현재 범위 내 ```SalesAmount``` 필드 값의 합계를 반환할 수 있습니다. 결과에는 1000보다 큰 SalesAmount 값만 포함됩니다.

```js
{AggregateIf(SalesAmount > 1000, "Sum", SalesAmount)}
```


### 평균

지정된 범위에서 계산되는 식으로 지정된 null이 아닌 숫자 값의 평균을 반환합니다.

**구문**

Avg(```expression```, \[\`\`\`scope\`\`\`])

**인수**

* ```expression``` \- 요약 값을 계산할 식
* ```scope``` \- 선택적 계산 범위


**예시**

다음 식을 사용하여 현재 범위 내 ```SalesCount``` 필드 값의 평균을 반환할 수 있습니다.

```js
{Avg(SalesCount)}
```

### 개수

지정된 범위에서 계산되는 식으로 지정된 null이 아닌 값의 개수를 반환합니다.

**구문**

Count(```expression```, \[\`\`\`scope\`\`\`])

**인수**

* ```expression``` \- 요약 값을 계산할 식
* ```scope``` \- 선택적 계산 범위


**예시**

다음 식을 사용하여 ```ProductsTable``` 데이터 영역 내 ```UnitsOnOrder``` 필드 값의 개수를 반환할 수 있습니다.

```js
{Count(UnitsOnOrder, "ProductsTable")}
```

### CountDistinct 

지정된 범위에서 계산되는 식으로 지정된 null이 아닌 고유 값의 개수를 반환합니다.

**구문**

CountDistinct(```expression```, \[\`\`\`scope\`\`\`])

**인수**

* ```expression``` \- 요약 값을 계산할 식
* ```scope``` \- 선택적 계산 범위


**예시**

다음 식을 사용하여 현재 범위 내 고유한 ```CustomerId``` 필드 값의 개수를 반환할 수 있습니다.

```js
{CountDistinct(CustomerId)}
```

### CountRows

지정된 범위 내에서 행 수를 반환합니다.

**구문**

CountRows(\[\`\`\`scope\`\`\`])

**인수**

* ```scope``` \- 선택적 계산 범위


**예시**

다음 식을 사용하여 현재 범위 내 행 수를 반환할 수 있습니다.

```js
{CountRows()}
```

### DistinctSum

지정된 범위에서 계산되는 식으로 지정된 null이 아닌 고유한 숫자 값의 합계를 반환합니다.

**구문**

DistinctSum(```expression```, \[\`\`\`scope\`\`\`])

**인수**

* ```expression``` \- 요약 값을 계산할 식
* ```scope``` \- 선택적 계산 범위


**예시**

다음 식을 사용하여 현재 범위 내 고유한 ```Size``` 필드 값의 합계를 반환할 수 있습니다.

```js
{DistinctSum(Size)}
```

### 첫 번째 

지정된 범위 내에서 계산되는 지정된 식의 첫 번째 값을 반환합니다.

**구문**

First(```expression```, \[\`\`\`scope\`\`\`])

**인수**

* ```expression``` \- 요약 값을 계산할 식
* ```scope``` \- 선택적 계산 범위


**예시**

다음 식을 사용하여 ```ProductsTable``` 데이터 영역 내 ```ProductName``` 필드의 첫 번째 값을 반환할 수 있습니다.

```js
{First(ProductName, "ProductsTable")}
```

### 마지막 

지정된 범위 내에서 계산되는 지정된 식의 마지막 값을 반환합니다.

**구문**

Last(```expression```, \[\`\`\`scope\`\`\`])

**인수**

* ```expression``` \- 요약 값을 계산할 식
* ```scope``` \- 선택적 계산 범위


**예시**

다음 식을 사용하여 현재 범위 내 ```SalesAmount``` 필드의 마지막 값을 반환할 수 있습니다.

```js
{Last(SalesAmount)}
```

### 최댓값

지정된 범위에서 계산되는 식으로 지정된 null이 아닌 숫자 값의 최댓값을 반환합니다.

**구문**

Max(```expression```, \[\`\`\`scope\`\`\`])

**인수**

* ```expression``` \- 요약 값을 계산할 식
* ```scope``` \- 선택적 계산 범위


**예시**

다음 식을 사용하여 현재 범위 내 ```Size``` 필드 값의 최댓값을 반환할 수 있습니다.

```js
{Max(Size)}
```

### 중앙값

지정된 범위에서 계산되는 식으로 지정된 null이 아닌 숫자 값의 [중앙값](https://en.wikipedia.org/wiki/Median)을 반환합니다.

**구문**

Median(```expression```, \[\`\`\`scope\`\`\`])

**인수**

* ```expression``` \- 요약 값을 계산할 식
* ```scope``` \- 선택적 계산 범위


**예시**

다음 식을 사용하여 ```Sales``` 데이터 영역 내 ```SalesAmount``` 필드 값의 중앙값을 반환할 수 있습니다.

```js
{Median(SalesAmount, "Sales")}
```

### 최솟값

지정된 범위에서 계산되는 식으로 지정된 null이 아닌 숫자 값의 최솟값을 반환합니다.

**구문**

Min(```expression```, \[\`\`\`scope\`\`\`])

**인수**

* ```expression``` \- 요약 값을 계산할 식
* ```scope``` \- 선택적 계산 범위


**예시**

다음 식을 사용하여 현재 범위 내 ```Size``` 필드 값의 최솟값을 반환할 수 있습니다.

```js
{Min(Size)}
```

### 최빈값

지정된 범위에서 계산되는 식으로 지정된 값 중 가장 자주 나타나는 값을 반환합니다.

**구문**

Mode(```expression```, \[\`\`\`scope\`\`\`])

**인수**

* ```expression``` \- 요약 값을 계산할 식
* ```scope``` \- 선택적 계산 범위


**예시**

다음 식을 사용하여 현재 범위 내 ```ReturnReason``` 필드의 값 중 가장 자주 나타나는 값을 반환할 수 있습니다.

```js
{Mode(ReturnReason)}
```

### RunningValue 

지정된 범위에서 계산되는 식으로 지정된 null이 아닌 숫자 값의 실행 집계를 반환합니다.

**구문**

RunningValue(```expression```, ```aggregate```, \[\`\`\`scope\`\`\`])

**인수**

* ```expression``` \- 요약 값을 계산할 식
* ```aggregate``` \- 계산에 사용할 집계 함수의 이름(예: ```Count```)
* ```scope``` \- 선택적 계산 범위


**예시**

다음 식을 사용하여 현재 범위 내 ```SalesAmount``` 필드 값 합계의 실행 값을 반환할 수 있습니다.

```js
{RunningValue(SalesAmount, "Sum")}
```

### StDev

지정된 범위에서 계산되는 식으로 지정된 null이 아닌 숫자 값의 표준 편차를 반환합니다.

**구문**

StDev(```expression```, \[\`\`\`scope\`\`\`])

**인수**

* ```expression``` \- 요약 값을 계산할 식
* ```scope``` \- 선택적 계산 범위


**예시**

다음 식을 사용하여 현재 범위 내 ```ReturnAmount``` 필드 값의 표준 편차를 반환할 수 있습니다.

```js
{StDev(ReturnAmount)}
```

### StDevP

지정된 범위에서 계산되는 식으로 지정된 null이 아닌 숫자 값의 모집단 표준 편차를 반환합니다.

**구문**

StDevP(```expression```, \[\`\`\`scope\`\`\`])

**인수**

* ```expression``` \- 요약 값을 계산할 식
* ```scope``` \- 선택적 계산 범위


**예시**

다음 식을 사용하여 현재 범위 내 ```ReturnAmount``` 필드 값의 모집단 표준 편차를 반환할 수 있습니다.

```js
{StDevP(ReturnAmount)}
```

### 합계

지정된 범위에서 계산되는 식으로 지정된 null이 아닌 숫자 값의 합계를 반환합니다.

**구문**

Sum(```expression```, \[\`\`\`scope\`\`\`])

**인수**

* ```expression``` \- 요약 값을 계산할 식
* ```scope``` \- 선택적 계산 범위


**예시**

다음 식을 사용하여 현재 범위 내 ```SalesAmount``` 필드 값의 합계를 반환할 수 있습니다.

```js
{Sum(SalesAmount)}
```

### 표본 분산

지정된 범위에서 계산되는 식으로 지정된 null이 아닌 숫자 값의 분산을 반환합니다.

**구문**

Var(```expression```, \[\`\`\`scope\`\`\`])

**인수**

* ```expression``` \- 요약 값을 계산할 식
* ```scope``` \- 선택적 계산 범위


**예시**

다음 식을 사용하여 현재 범위 내 ```ReturnAmount``` 필드 값의 분산을 반환할 수 있습니다.

```js
{Var(ReturnAmount)}
```

### VarP

지정된 범위에서 계산되는 식으로 지정된 null이 아닌 숫자 값의 모집단 분산을 반환합니다.

**구문**

VarP(```expression```, \[\`\`\`scope\`\`\`])

**인수**

* ```expression``` \- 요약 값을 계산할 식
* ```scope``` \- 선택적 계산 범위


**예시**

다음 식을 사용하여 현재 범위 내 ```ReturnAmount``` 필드 값의 모집단 분산을 반환할 수 있습니다.

```js
{VarP(ReturnAmount)}
```