

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

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

Verifica il rapporto di aggregazioni a due colonne rispetto a una determinata espressione. Questo tipo di regola funziona su più set di dati. Le aggregazioni a due colonne vengono valutate e viene prodotto un rapporto dividendo il risultato dell'aggregazione della prima colonna per il risultato dell'aggregazione della seconda colonna. Il rapporto viene confrontato con l'espressione fornita per produrre una risposta booleana.

**Sintassi**

**Aggregazione di colonne**

```
AggregateMatch <AGG_OPERATION> (<OPTIONAL_REFERENCE_ALIAS>.<COL_NAME>)
```
+ **AGG\$1OPERATION**: l'operazione da utilizzare per l'aggregazione. Attualmente, sono supportati `sum` e `avg`.

  **Tipi di colonna supportati**: Byte, Decimal, Double, Float, Integer, Long, Short
+ **OPTIONAL\$1REFERENCE\$1ALIAS**: è necessario fornire questo parametro se la colonna proviene da un set di dati di riferimento e non dal set di dati primario. <database\$1name>Se utilizzi questa regola nel AWS Glue Data Catalog, il tuo alias di riferimento deve seguire il formato ". <table\$1name>. <column\$1name>

  **Tipi di colonna supportati**: Byte, Decimal, Double, Float, Integer, Long, Short
+ **COL\$1NAME**: il nome della colonna da aggregare.

  **Tipi di colonna supportati**: Byte, Decimal, Double, Float, Integer, Long, Short

**Esempio: media**

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

**Esempio: somma**

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

**Esempio: media della colonna nel set di dati di riferimento**

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

**Regola**

```
AggregateMatch <AGG_EXP_1> <AGG_EXP_2> <EXPRESSION>
```
+ **AGG\$1EXP\$11**: l'aggregazione della prima colonna.

  Tipi di colonna supportati: Byte, Decimal, Double, Float, Integer, Long, Short

  **Tipi di colonna supportati**: Byte, Decimal, Double, Float, Integer, Long, Short
+ **AGG\$1EXP\$12**: l'aggregazione della seconda colonna.

  Tipi di colonna supportati: Byte, Decimal, Double, Float, Integer, Long, Short

  **Tipi di colonna supportati**: Byte, Decimal, Double, Float, Integer, Long, Short
+ **EXPRESSION**: un'espressione da eseguire sulla risposta del tipo di regola per produrre un valore booleano. Per ulteriori informazioni, consulta [Espressioni](dqdl.md#dqdl-syntax-rule-expressions).

**Esempio: aggrega corrispondenza utilizzando la somma**

La seguente regola di esempio verifica se la somma dei valori nella colonna `amount` è esattamente uguale alla somma dei valori nella colonna `total_amount`.

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

**Esempio: aggrega corrispondenza utilizzando la media**

La seguente regola di esempio verifica se la media dei valori nella colonna `ratings` è pari almeno al 90% della media dei valori nella colonna `ratings` del set di dati `reference`. Il set di dati di riferimento viene fornito come origine dati aggiuntiva nell'esperienza ETL o Catalogo dati.

In AWS Glue ETL, puoi usare:

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

Nel AWS Glue Data Catalog, puoi usare:

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

**Comportamento nullo**

 La regola `AggregateMatch` ignorerà le righe con valori NULL nel calcolo dei metodi di aggregazione (somma/media). Esempio: 

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

 La media della colonna `units` sarà (0 \$1 20 \$1 40) / 3 = 20. Le righe 101 e 103 non vengono considerate in questo calcolo. 