# Only - 차트 함수

Only() 는 집계된 데이터에서 사용 가능한 결과가 하나만 있는 경우 값을 반환합니다. 예를 들어, 단위 가격=9인 제품만 검색하는 경우 단위 가격이 9인 제품이 둘 이상 있으면 NULL을 반환합니다.

구문:

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

반환 데이터 유형: 이중

인수

| 인수 | 설명 |
| --- | --- |
| expr | 측정할 데이터가 포함된 표현식 또는 필드입니다. |
| 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) |

팁 메모샘플 데이터에 복수의 값이 존재할 수 있을 때 NULL 결과를 원할 경우 Only()를 사용합니다.

예: 차트 표현식

| 예제 | 결과 |
| --- | --- |
| `Only(Category)` | 컨텍스트 내에서 고유한 한 `Category`를 표시합니다. |

## 예 - Only 기본 사항

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/BasicAggregationFunctions/only.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 '|');
```

결과

데이터를 로드하고 시트를 엽니다. 다음 측정값을 사용하여 새 테이블을 만듭니다.

* `=Only({<UnitPrice={9}>} Product)`: `UnitPrice`가 `9`인 유일한 `Product`를 계산합니다.

* `=Only({<Product={DD}>} Customer)`: `DD`라는 `Product`를 판매하는 유일한 `Customer`를 계산합니다.

* `=Only({<UnitPrice={20}>} UnitSales)`: `UnitPrice`가 `20`인 `UnitSales`의 수를 계산합니다.

* `=Only({<UnitPrice={15}>} UnitSales)`: `UnitPrice = 15`인 `UnitSales`의 값을 계산합니다.

Results table

| Only({&lt;UnitPrice={9}&gt;} Product) | Only({&lt;Product={DD}&gt;} Customer) | Only({&lt;UnitPrice={20}&gt;} UnitSales) | Only({&lt;UnitPrice={15}&gt;} UnitSales) |
| --- | --- | --- | --- |
| BB | Betacab | 2 | - |

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

* 첫 번째 열은 `UnitPrice`가 `9`인 유일한 `Product`이므로 `BB` 값을 반환합니다.

* 두 번째 열은 `DD`라는 `Product`를 판매하는 유일한 `Customer`이므로 `Betacab`을 반환합니다.

* 세 번째 열은 `UnitPrice = 20`인 `UnitSales`의 유일한 값이므로 `2`를 반환합니다.

* 네 번째 열은 `UnitPrice = 15`인 단일 결과가 없으므로 `NULL`을 반환합니다. 이 데이터 집합에는 `UnitPrice =15`인 `UnitSales`의 두 값이 있습니다.

## 예 - Only 시나리오

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

#### 차트 표현식

개요

데이터 집합에는 기간별 제품 판매량이 포함되어 있습니다. 회사는 제품이 단일 매장에서 판매되는지, 아니면 여러 매장에서 판매되는지 확인하려고 합니다.

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

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

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

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

  * `Date`

  * `RecordID`

  * `StoreProduct`

  * `Sales`

로드 스크립트

```
Example:
Load * inline [
Date, RecordID, StoreProduct, Sales, Store
2024-01-01, 1, Apple, 100, A
2024-01-15, 2, Banana, 80, B
2024-01-30, 3, Carrot, 50, C
2024-02-05, 4, Apple, 120, A
2024-02-20, 5, Banana, 90, B
2024-02-28, 6, Carrot, 60, D
2024-03-10, 7, Apple, 110, A
2024-03-22, 8, Banana, 85, B
2024-03-31, 9, Carrot, 55, C
];
```

결과

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

* `StoreProduct`

다음 측정값을 만듭니다.

* `=Only(Store)`: 제품이 판매되는 고유한 매장을 계산합니다.

* `=If(IsNull(Only(Store)), 'Multiple Stores', 'Single Store')`: 제품이 단일 매장에서 판매되는지, 아니면 여러 매장에서 판매되는지 계산합니다.

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

Results table

| StoreProduct | Only(Store) | If(IsNull(Only(Store)), 'Multiple Stores', 'Single Store') | Sum(Sales) |
| --- | --- | --- | --- |
| Apple | A | Single Store | 330 |
| Banana | B | Single Store | 255 |
| Carrot | - | Multiple Stores | 165 |

결과에 따르면 `Apples` 및 `Bananas`는 단일 매장에서만 판매되는 반면, `Carrots`는 여러 매장에서 판매됩니다.

## 예 - Advanced 시나리오(단일 월 레코드 테이블 만들기)

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

#### 차트 표현식

개요

이 예에서는 `Only` 함수를 사용하여 한 달 동안의 레코드를 줄별로 테이블을 표시합니다. 이를 달성하기 위해 집합 분석을 사용하여 원하는 레코드 집합의 범위를 지정합니다. 집합 분석에는 최소한 하나의 측정값이 필요하지만 실제로 레코드 집합을 집계할 필요는 없으므로 `Only` 집계 함수를 사용하여 집합 분석 범위를 호스팅할 수 있습니다.

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

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

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

* `MonthStart` 함수를 사용하여 해당 월의 일자를 자르고 각 월의 1일을 날짜로 표시하여 반환함으로써 `Date` 필드에서 `MonthYear` 필드를 파생시키는 선행 LOAD 문. 이 결과는 `Date` 함수에 제공되어 표시 형식을 `MMM YY`(예: `Jan 24`)로 설정합니다.

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

  * `Date`

  * `RecordID`

  * `StoreProduct`

  * `Sales`

  * `Store`

로드 스크립트

```
Example:
Load
*,
date(MonthStart (Date),'MMM YY') AS MonthYear
inline [
Date, RecordID, StoreProduct, Sales, Store
2024-01-01, 1, Apple, 100, A
2024-01-15, 2, Banana, 80, B
2024-01-30, 3, Carrot, 50, C
2024-02-05, 4, Apple, 120, A
2024-02-20, 5, Banana, 90, B
2024-02-28, 6, Carrot, 60, D
2024-03-10, 7, Apple, 110, A
2024-03-22, 8, Banana, 85, B
2024-03-31, 9, Carrot, 55, C
];
```

결과

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

* `MonthYear`

* `RecordID`

* `Date`

* `StoreProduct`

* `Store`

다음 측정값을 만듭니다.

* `=Only({$<MonthYear={'$(=MaxString(MonthYear))'}>} Sales)`: `Sales` 값을 평가하고 테이블의 현재 선택 항목을 기준으로 `MonthYear`가 사용할 수 있는 마지막(최근) `MonthYear`인 값만 반환합니다. 달러 기호($) 확장은 `MaxString` 함수인 `$(=MaxString(MonthYear))`를 사용하여 인라인 계산을 수행하며, 이 함수는 최신 `MonthYear` 값의 텍스트 표시를 반환합니다.

정보 메모예를 들어, ` Max  ` 함수인 `Max(MonthYear)`를 사용하여 숫자 표시를 기반으로 `MonthYear`를 필터링하려고 하면 아무런 결과도 나오지 않습니다. 집합 분석은 이중 데이터 유형의 텍스트 표시에만 기반하여 필터 선택을 적용합니다. 즉, `Date`와 같이 숫자와 텍스트로 표시되는 데이터 유형입니다.

Results table

| MonthYear | RecordID | Date | StoreProduct | Only({$&lt;MonthYear={‘$(=MaxString(MonthYear))’}&gt;} Sales) |
| --- | --- | --- | --- | --- |
| Mar 24 | 7 | 2024-03-10 | Apple | 110 |
| Mar 24 | 8 | 2024-03-22 | Banana | 85 |
| Mar 24 | 9 | 2024-03-31 | Carrot | 55 |

`Only` 함수의 출력은 데이터에서 사용할 수 있는 마지막 또는 최근의 `MonthYear`에 대한 판매량 값을 기본적으로 표시하는 레코드 테이블을 생성합니다. `MonthYear` 열에서 `Feb 24`와 같이 이전 달을 선택하면 해당 월의 최신 판매량 값이 표시됩니다.

## 자세한 정보

* [집합 분석](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)