# Max - 차트 함수

Max()는 집계된 데이터의 가장 높은 값을 찾습니다. rank n은 지정하면 n번째로 높은 값을 찾을 수 있습니다.

팁 메모Max 함수와 유사한 기능을 가진 FirstSortedValue 및 RangeMax도 검토하는 것이 좋습니다.

구문:

Max([{SetExpression}] [TOTAL [&lt;fld {,fld}&gt;]] expr [,rank])

반환 데이터 유형: 숫자

인수

| 인수 | 설명 |
| --- | --- |
| expr | 측정할 데이터가 포함된 표현식 또는 필드입니다. |
| rank | rank의 기본값은 1이며, 이는 가장 높은 값에 해당합니다. rank를 2로 지정하면 두 번째로 높은 값이 반환됩니다. rank가 3이면 세 번째로 높은 값이 반환되며, 이런 식으로 이어집니다. |
| SetExpression | 기본적으로 집계 함수는 선택에 의해 정의된 사용 가능한 레코드의 집합을 집계합니다. 집합 분석 표현식으로 대체 레코드 집합을 정의할 수 있습니다. |
| TOTAL | TOTAL이 함수 인수 앞에 오는 경우, 현재 선택을 고려하되 현재 차원 값에 관련되지 않은 가능한 모든 값에 대한 계산이 실행됩니다. 즉, 차트 차원은 무시됩니다.<br><br>TOTAL [&lt;fld {.fld}&gt;](여기서 TOTAL 한정자 뒤에는 하나 이상의 필드 이름 목록이 차트 차원 변수의 하위 집합으로 옴)을 사용하여 가능한 전체 값의 하위 집합을 만듭니다.<br><br>[집계 범위 정의](https://help.qlik.com/ko-KR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

예: 차트 표현식

| 예제 | 결과 |
| --- | --- |
| `Max(UnitSales)` | `UnitSales` 필드에서 가장 높은 값을 반환합니다. |
| `Max(UnitSales*UnitPrice)` 주문 값은(`UnitSales`)에서 판매 단위 수에 단위 가격을 곱하여 계산됩니다. | (`UnitSales`) \*(`UnitPrice`)의 모든 가능한 값을 계산한 결과 중 가장 높은 값을 반환합니다. |
| `Max(UnitSales, 2)` | 두 번째로 높은 값을 반환합니다. |
| `Max(TOTAL UnitSales)` | `TOTAL` 한정자는 차트 차원에 관계없이 가장 높은 값이 발견되었음을 의미합니다. `Customer`를 차원으로 사용하는 차트의 경우, `TOTAL` 한정자를 통해 각 고객의 최대 `UnitSales`가 아니라 전체 데이터 집합에 걸친 최댓값이 반환되도록 할 수 있습니다. |
| `Max({1} TOTAL UnitSales)` | 집합 분석 표현식 `{1}`은 선택한 내용과 관계없이 평가할 레코드 집합을 `ALL`로 정의합니다. 예를 들어, 특정 고객을 선택하면 전체 데이터 집합에서 최대 `UnitSales`가 반환됩니다. |

## 예 - Max 기본 사항

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

#### 차트 표현식

개요

데이터 집합에는 월별 제품 판매 수치가 포함되어 있습니다. 각 제품의 최대 판매량 값과 그 값이 발생한 월을 식별하려고 합니다.

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

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

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

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

  * `Customer`

  * `UnitSales`

  * `UnitPrice`

로드 스크립트

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

결과

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

* `Customer`

다음 측정값을 만듭니다.

* `=Max(UnitSales)`: 최대 `UnitSales` 값을 계산합니다.

* `=Max(UnitSales*UnitPrice)`: 행 단위로 `UnitSales`에 `UnitPrice`을 곱한 후 최댓값을 계산합니다.

* `=Max(UnitSales, 2)`: 두 번째로 높은 값을 계산합니다.

* `=Max(TOTAL UnitSales)`: 차트 차원에 관계없이 가장 높은 합계를 계산합니다.

* `=Max({1} TOTAL UnitSales)`: 모든 선택 항목을 무시하고 가장 높은 총점을 계산합니다.

Results table

| Customer | Max(UnitSales) | Max(UnitSales\*UnitPrice) | Max(UnitSales, 2) | Max(TOTAL UnitSales) | Max({1} TOTAL UnitSales) |
| --- | --- | --- | --- | --- | --- |
| Totals | 10 | 150 | 9 | 10 | 10 |
| Astrida | 10 | 150 | 9 | 10 | 10 |
| Betacab | 5 | 50 | 2 | 10 | 10 |
| Canutility | 8 | 120 | - | 10 | 10 |

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

* 첫 번째 측정값(`Max(UnitSales)`)에서 고객 `Astrida`에 대한 `UnitSales`의 가장 높은 값은 `10`입니다. 이 열의 `Totals` 셀은 이 값이 전체 데이터 집합에서 가장 높은 `UnitSales` 값이기도 하므로 `10`을 반환합니다.

* 두 번째 측정값(`Max(UnitSales*UnitPrice)`)에서는 `Astrida`에 대해 `150`이 반환됩니다. 이는 `UnitSales`를 `UnitPrice`로 곱했을 때 해당 고객에 대한 가장 높은 값입니다. 이 열의 `Totals` 셀은 또한 전체 데이터 집합에서 가장 높은 계산된 값이므로 `150`을 반환합니다.

* 세 번째 측정값(`Max(UnitSales, 2)`)에서 고객 `Astrida`에 대한 두 번째로 높은 `UnitSales` 값은 `9`입니다. 또한 이 값은 세 고객 중 두 번째로 높은 값이므로 `Totals` 행도 `9`를 반환합니다.

* 네 번째 측정값(`Max(TOTAL UnitSales)`)은 값 `10`을 반환합니다. 이는 고객 차원과 관계없이 찾은 가장 높은 값이므로 모든 행은 동일한 값을 반환합니다. 그러나 고객 `Betacab`을 선택하면 테이블은 해당 고객에 대한 값만 반환합니다. 이 경우 `5`가 `Betacab`의 모든 제품에서 가장 높은 `UnitSales`이기 때문입니다.

* 다섯 번째 측정값(`Max({1} TOTAL UnitSales)`)은 수정된 집합 `{1}`이 사용되므로 어떤 `Customer`가 선택되었는지에 관계없이 `10` 값을 반환합니다. 예를 들어, `Betacab`을 선택하면 이 열은 계속해서 `10` 값을 반환합니다.

## 예 - Max 시나리오(월별 최고 판매량 계산)

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

#### 차트 표현식

개요

데이터 집합에는 월별 제품 판매 수치가 포함되어 있습니다. 영업 관리자는 각 제품의 최대 판매량 값과 그 값이 발생한 월을 식별하려고 합니다.

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

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

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

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

  * `Product`

  * `Sales`

  * `Month`

로드 스크립트

```
Example:
Load * inline [
Product,Sales,Month
A, 500, 2024-01-01
A, 700, 2024-02-01
A, 600, 2024-03-01
B, 300, 2024-01-01
B, 800, 2024-02-01
B, 450, 2024-03-01
C, 550, 2024-01-01
C, 620, 2024-02-01
C, 710, 2024-03-01
];
```

결과

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

* `Product`

* `Month`

다음 측정값을 만듭니다.

* `=If(Sales = Max(TOTAL <Product> Sales), Sales)`: 각 제품의 최대 판매를 계산합니다. 측정값의 속성 패널에서 추가 기능 &gt; 데이터 처리를 선택합니다. 0 값 포함 확인란의 선택을 해제하여 null 값을 제거합니다.

Results table

| Product | Month | If(Sales = Max(TOTAL &lt;Product&gt; Sales), Sales) |
| --- | --- | --- |
| A | 2024-02-01 | 700 |
| B | 2024-02-01 | 800 |
| C | 2024-03-01 | 710 |

측정값 결과는 각 제품의 최대 판매량 값과 이 값에 도달한 월을 반환합니다. 예를 들어, `Product B`는 `2024-02-01`에 가장 높은 판매량(`800`)을 달성했습니다.

## 자세한 정보

* [FirstSortedValue - 차트 함수](https://help.qlik.com/ko-KR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/BasicAggregationFunctions/firstsortedvalue.htm)
* [RangeMax 스크립트 및 차트 함수](https://help.qlik.com/ko-KR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/RangeFunctions/rangemax.htm)
* [집합 분석](https://help.qlik.com/ko-KR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-analysis-expressions.htm)
* [집계 범위 정의](https://help.qlik.com/ko-KR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm)