# 집합 함수를 사용하는 집합 수정자

중첩된 집합 정의를 사용하여 필드 값 집합을 정의해야 하는 경우가 있습니다. 예를 들어 제품을 선택하지 않고 특정 제품을 구매한 모든 고객을 선택할 수 있습니다.

이러한 경우 요소 집합 함수 `P()` 및 `E()`를 사용합니다. 필드의 가능한 값과 제외된 값의 요소 집합을 각각 반환합니다. 대괄호 안에는 해당 필드와 범위를 정의하는 집합 표현식을 지정할 수 있습니다. 예:

`P({1<Year = {2021}>} Customer)`

그러면 2021년에 거래가 있었던 고객 집합이 반환됩니다. 그런 다음 집합 수정자에서 이를 사용할 수 있습니다. 예:

`Sum({<Customer = P({1<Year = {2021}>} Customer)>} Amount)`

이 집합 표현식은 이러한 고객을 선택하지만 선택을 2021년으로 제한하지 않습니다.

이러한 함수는 다른 표현식에는 사용할 수 없습니다.

또한 요소 집합 함수 내에서는 자연 집합만 사용할 수 있습니다. 즉, 간단한 선택으로 정의할 수 있는 레코드 집합입니다.

예를 들어 `{1-$}`로 지정된 집합은 선택을 통해 정의하지 못할 수도 있으므로 자연 집합이 아닙니다. 자연이 아닌 집합에서 이러한 함수를 사용하면 예기치 않은 결과가 반환됩니다.

## 예: 집합 함수를 사용하는 집합 수정자에 대한 차트 표현식

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-modifiers-implicit-field-value-definitions.htm)

#### 예 - 차트 표현식

로드 스크립트

데이터 로드 편집기에서 다음 데이터를 인라인 로드로 로드하여 아래 차트 표현식 예를 만듭니다.

```
MyTable:
Load 
Year(Date) as Year,
Date#(Date,'YYYY-MM-DD') as ISO_Date, 
Date(Date#(Date,'YYYY-MM-DD'),'M/D/YYYY') as US_Date, 
Country, Product, Amount 
Inline
[Date, Country, Product, Amount
2018-02-20, Canada, Washer, 6
2018-07-08, Germany, Anchor bolt, 10
2018-07-14, Germany, Anchor bolt, 3
2018-08-31, France, Nut, 2
2018-09-02, Czech Republic, Bolt, 1
2019-02-11, Czech Republic, Bolt, 3
2019-07-31, Czech Republic, Washer, 6
2020-03-13, France, Anchor bolt, 1
2020-07-12, Canada, Anchor bolt, 8
2020-09-16, France, Washer, 1];	
```

인라인 로드 사용에 대한 자세한 내용은 [인라인 로드를 사용하여 데이터 로드](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm)를 참조하십시오.

차트 표현식

다음 차트 표현식을 사용하여 Qlik Sense 시트에 테이블을 만듭니다.

테이블 - 집합 함수를 사용하는집합 수정자

| 국가 | Sum(Amount) | Sum({&lt;Country=P({&lt;Year={2019}&gt;}Country)&gt;} Amount) | Sum({&lt;Product=P({&lt;Year={2019}&gt;}Product)&gt;} Amount) | Sum({&lt;Country=E({&lt;Product={Washer}&gt;}Country)&gt;} Amount) |
| --- | --- | --- | --- | --- |
| 합계 | 41 | 10 | 17 | 13 |
| 캐나다 | 14 | 0 | 6 | 0 |
| 체코 공화국 | 10 | 10 | 10 | 0 |
| 프랑스 | 4 | 0 | 1 | 0 |
| 독일 | 13 | 0 | 0 | 13 |

설명

* 차원:

  * `Country`

* 측정값:

  * `Sum(Amount)`

    집합 표현식 없는 합계 `Amount`입니다.

  * `Sum({<Country=P({<Year={2019}>} Country)>} Amount)`

    연도 `2019`와 연관된 국가의 합계 `Amount`입니다. 그러나 계산을 `2019`로 제한하지 않습니다.

  * `Sum({<Product=P({<Year={2019}>} Product)>} Amount)`

    연도 `2019`와 연관된 제품의 합계 `Amount`입니다. 그러나 계산을 `2019`로 제한하지 않습니다.

  * `Sum({<Country=E({<Product={Washer}>} Country)>} Amount)`

    제품 `Washer`와 연관되지 않은 국가의 합계`Amount`입니다.

집합 함수를 사용하는 집합 수정자

집합 함수를 사용하는 집합 수정자

집합 함수를 사용하는 집합 수정자 ![집합 함수를 사용하는 집합 수정자입니다.](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_gen_setanalysis_modifiers_set_functions.png)

집합 표현식에 대한 자세한 내용은 [시각화에서 표현식 사용](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/use-expressions-in-visualizations.htm)을 참조하십시오.

| 예 | 결과 |
| --- | --- |
| sum( {$&lt;Customer = P({1&lt;Product={'Shoe'}&gt;} Customer)&gt;} Sales ) | 'Shoe' 제품을 구매한 적이 있는 고객에 한해 현재 선택의 판매량을 반환합니다. 여기서 요소 함수 P( )는 Product 필드의 'Shoe' 선택으로 유추된 사용 가능한 고객 목록을 반환합니다. |
| sum( {$&lt;Customer = P({1&lt;Product={'Shoe'}&gt;})&gt;} Sales ) | 위와 같습니다. 요소 함수의 필드가 생략된 경우 이 함수는 외부 할당에서 지정한 필드의 사용 가능한 값을 반환합니다. |
| sum( {$&lt;Customer = P({1&lt;Product={'Shoe'}&gt;} Supplier)&gt;} Sales ) | 'Shoe' 제품을 공급한 적이 있는 고객에 한해 현재 선택의 판매량을 반환합니다. 즉, 고객도 공급자입니다. 여기서 요소 함수 P( )는 Product 필드의 'Shoe' 선택으로 유추된 사용 가능한 공급자 목록을 반환합니다. 이때 공급자 목록은 Customer 필드에서 선택 항목으로 사용됩니다. |
| sum( {$&lt;Customer = E({1&lt;Product={'Shoe'}&gt;})&gt;} Sales ) | 'Shoe' 제품을 구매한 적이 없는 고객에 한해 현재 선택의 판매량을 반환합니다. 여기서 요소 함수 E( )는 Product 필드에서 'Shoe' 선택에 의해 제외된 고객 목록을 반환합니다. |