

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\_OPERATION**: 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\_REFERENCE\_ALIAS**: è necessario fornire questo parametro se la colonna proviene da un set di dati di riferimento e non dal set di dati primario. <database\_name>Se utilizzi questa regola nel AWS Glue Data Catalog, il tuo alias di riferimento deve seguire il formato ". <table\_name>. <column\_name>

  **Tipi di colonna supportati**: Byte, Decimal, Double, Float, Integer, Long, Short
+ **COL\_NAME**: 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\_EXP\_1**: 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\_EXP\_2**: 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 \+ 20 \+ 40) / 3 = 20. Le righe 101 e 103 non vengono considerate in questo calcolo. 