

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

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

Memeriksa rasio agregasi dua kolom terhadap ekspresi yang diberikan. Ruletype ini bekerja pada beberapa dataset. Dua agregasi kolom dievaluasi dan rasio dihasilkan dengan membagi hasil agregasi kolom pertama dengan hasil agregasi kolom kedua. Rasio diperiksa terhadap ekspresi yang disediakan untuk menghasilkan respons boolean.

**Sintaksis**

**Agregasi kolom**

```
AggregateMatch <AGG_OPERATION> (<OPTIONAL_REFERENCE_ALIAS>.<COL_NAME>)
```
+ **AGG\$1OPERATION — Operasi** yang digunakan untuk agregasi. Saat ini, `sum` dan `avg` didukung.

  **Jenis kolom yang didukung**: Byte, Desimal, Ganda, Float, Integer, Panjang, Pendek
+ **OPTIONAL\$1REFERENCE\$1ALIAS** - Parameter ini perlu disediakan jika kolom berasal dari kumpulan data referensi dan bukan kumpulan data utama. <database\$1name>Jika Anda menggunakan aturan ini di Katalog Data AWS Glue, alias referensi Anda harus mengikuti format ". <table\$1name>. <column\$1name>

  **Jenis kolom yang didukung**: Byte, Desimal, Ganda, Float, Integer, Panjang, Pendek
+ **COL\$1NAME** — Nama kolom untuk agregat.

  **Jenis kolom yang didukung**: Byte, Desimal, Ganda, Float, Integer, Panjang, Pendek

**Contoh: Rata-rata**

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

**Contoh: Jumlah**

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

**Contoh: Rata-rata kolom dalam dataset referensi**

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

**Aturan**

```
AggregateMatch <AGG_EXP_1> <AGG_EXP_2> <EXPRESSION>
```
+ **AGG\$1EXP\$11** - Agregasi kolom pertama.

  Jenis kolom yang didukung: Byte, Desimal, Ganda, Float, Integer, Panjang, Pendek

  **Jenis kolom yang didukung**: Byte, Desimal, Ganda, Float, Integer, Panjang, Pendek
+ **AGG\$1EXP\$12** - Agregasi kolom kedua.

  Jenis kolom yang didukung: Byte, Desimal, Ganda, Float, Integer, Panjang, Pendek

  **Jenis kolom yang didukung**: Byte, Desimal, Ganda, Float, Integer, Panjang, Pendek
+ EXPRESSION — **Ekspresi** yang dijalankan terhadap respons tipe aturan untuk menghasilkan nilai Boolean. Untuk informasi selengkapnya, lihat [Ekspresi](dqdl.md#dqdl-syntax-rule-expressions).

**Contoh: Pencocokan Agregat menggunakan jumlah**

Contoh aturan berikut memeriksa apakah jumlah nilai dalam `amount` kolom persis sama dengan jumlah nilai dalam `total_amount` kolom.

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

**Contoh: Pencocokan Agregat menggunakan rata-rata**

Contoh aturan berikut memeriksa apakah rata-rata nilai dalam `ratings` kolom sama dengan setidaknya 90% dari rata-rata nilai dalam `ratings` kolom dalam `reference` dataset. Dataset referensi disediakan sebagai sumber data tambahan dalam pengalaman ETL atau Katalog Data.

Di AWS Glue ETL, Anda dapat menggunakan:

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

Dalam Katalog Data AWS Glue, Anda dapat menggunakan:

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

**Perilaku nol**

 `AggregateMatch`Aturan akan mengabaikan baris dengan nilai NULL dalam perhitungan metode agregasi (jumlah/mean). Contoh: 

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

 Rata-rata kolom `units` adalah (0 \$1 20 \$1 40)/3 = 20. Baris 101 dan 103 tidak dipertimbangkan dalam perhitungan ini. 