

# AggregateMatch
<a name="dqdl-rule-types-AggregateMatch"></a>

지정된 표현식에서 두 열의 집계 비율을 확인합니다. 이 규칙 유형은 여러 데이터 세트에 적용됩니다. 두 열의 집계를 평가하고 첫 번째 열 집계 결과를 두 번째 열 집계 결과로 나누어 비율을 생성합니다. 제공된 표현식에서 비율을 확인하여 부울 응답을 생성합니다.

**구문**

**열 집계**

```
AggregateMatch {{<AGG_OPERATION>}} ({{<OPTIONAL_REFERENCE_ALIAS>}}.{{<COL_NAME>}})
```
+ **AGG\_OPERATION** – 집계에 사용할 연산입니다. 현재 `sum` 및 `avg`가 지원됩니다.

  **지원되는 열 유형**: Byte, Decimal, Double, Float, Integer, Long, Short
+ **OPTIONAL\_REFERENCE\_ALIAS** – 기본 데이터 세트가 아닌 참조 데이터 세트에서 열을 가져온 경우 이 파라미터를 제공해야 합니다. AWS Glue 데이터 카탈로그에서 이 규칙을 사용하는 경우 참조 별칭은 '<database\_name>.<table\_name>.<column\_name>' 형식을 따라야 합니다.

  **지원되는 열 유형**: Byte, Decimal, Double, Float, Integer, Long, Short
+ **COL\_NAME** - 집계할 열의 이름입니다.

  **지원되는 열 유형**: Byte, Decimal, Double, Float, Integer, Long, Short

**예: 평균**

```
"avg(rating)"
```

**예: 합계**

```
"sum(amount)"
```

**예: 참조 데이터 세트의 열 평균**

```
"avg(reference.rating)"
```

**규칙**

```
AggregateMatch {{<AGG_EXP_1>}} {{<AGG_EXP_2>}} {{<EXPRESSION>}}
```
+ **AGG\_EXP\_1** - 첫 번째 열 집계입니다.

  지원되는 열 유형: Byte, Decimal, Double, Float, Integer, Long, Short

  **지원되는 열 유형**: Byte, Decimal, Double, Float, Integer, Long, Short
+ **AGG\_EXP\_2** - 두 번째 열 집계입니다.

  지원되는 열 유형: Byte, Decimal, Double, Float, Integer, Long, Short

  **지원되는 열 유형**: Byte, Decimal, Double, Float, Integer, Long, Short
+ **EXPRESSION** - 부울 값을 생성하기 위해 규칙 유형 응답에 대해 실행할 표현식입니다. 자세한 내용은 [Expressions](dqdl.md#dqdl-syntax-rule-expressions) 섹션을 참조하세요.

**예: 합계를 사용한 일치 항목 집계**

다음 예제 규칙은 `amount` 열에서 값의 합계가 `total_amount` 열에서 값의 합계와 정확히 같은지 여부를 확인합니다.

```
AggregateMatch "sum(amount)" "sum(total_amount)" = 1.0
```

**예: 평균을 사용한 일치 항목 집계**

다음 예제 규칙은 `ratings` 열에서 값의 평균이 `reference` 데이터 세트 내 `ratings` 열에서 값의 평균 중 90% 이상인지를 확인합니다. 참조 데이터 세트는 ETL 또는 데이터 카탈로그 환경에서 추가 데이터 소스로 제공됩니다.

AWS Glue ETL에서 다음을 사용할 수 있습니다.

```
AggregateMatch "avg(ratings)" "avg(reference.ratings)" >= 0.9
```

AWS Glue 데이터 카탈로그에서 다음을 사용할 수 있습니다.

```
AggregateMatch "avg(ratings)" "avg(database_name.tablename.ratings)" >= 0.9
```

**Null 동작**

 `AggregateMatch` 규칙은 집계 방법(합계/평균)의 계산에서 NULL 값이 있는 행을 무시합니다. 예: 

```
+---+-----------+
|id |units      |
+---+-----------+
|100|0          | 
|101|null       |
|102|20         |
|103|null       |
|104|40         |
+---+-----------+
```

 `units`열의 평균은 (0 \+ 20 \+ 40)/3 = 20이 됩니다. 101행과 103행은 이 계산에서 고려되지 않습니다.