View a markdown version of this page

CASE_OPERATION - AWS Glue DataBrew Panduan Developer

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

CASE_OPERATION

Buat kolom baru, berdasarkan hasil dari kondisi logis CASE. Operasi kasus melewati kondisi kasus dan mengembalikan nilai ketika kondisi pertama terpenuhi. Setelah kondisi benar, operasi berhenti membaca dan mengembalikan hasilnya. Jika tidak ada kondisi yang benar, ia mengembalikan nilai default.

Parameter
  • valueExpression— Kondisi.

  • withExpressions— Konfigurasi untuk hasil agregat.

  • targetColumn— Nama untuk kolom yang baru dibuat.

contoh Contoh

{ "RecipeStep": { "Action": { "Operation": "CASE_OPERATION", "Parameters": { "valueExpression": "case when `column11` < `column.2` then 'result1' when `column2` < 'value2' then 'result2' else 'high' end", "targetColumn": "result.column" } } } }

Fungsi agregat yang valid

Tabel di bawah ini menunjukkan semua fungsi agregat yang valid yang dapat digunakan dalam operasi kasus.

Jenis kolom Kondisi ValueExpression denganXpressions Nilai yang dikembalikan

Numerik

Jumlah

`:sum.column.1`

[ { "name": "sum.column.1", "value": "sum(`column.1`)", "type": "aggregate" } ]

Mengembalikan jumlah column.1

Berarti

`:maksud.column.1`

[ { "name": "mean.column.1", "value": "avg(`column.1`)", "type": "aggregate" } ]

Mengembalikan rata-rata column.1

Berarti deviasi absolut

`:meanabsolutedeviation.column.1`

[ { "name": "meanabsolutedeviation.column.1", "value": "mean_absolute_deviation(`column.1`)", "type": "aggregate" } ]

Mengembalikan deviasi absolut rata-rata column.1

Median

`:median.column.1`

[ { "name": "median.column.1", "value": "median(`column.1`)", "type": "aggregate" } ]

Mengembalikan median column.1

Produk

`:product.column.1`

[ { "name": "product.column.1", "value": "product(`column.1`)", "type": "aggregate" } ]

Mengembalikan produk dari column.1

Standar deviasi

`:standarddeviation.column.1`

[ { "name": "standarddeviation.column.1", "value": "stddev(`column.1`)", "type": "aggregate" } ]

Mengembalikan standar deviasi column.1

Varians

`:variance.column.1`

[ { "name": "variance.column.1", "value": "variance(`column.1`)", "type": "aggregate" } ]

Mengembalikan varians column.1

Kesalahan standar rata-rata

`:standarderrorofmean.column.1`

[ { "name": "standarderrorofmean.column.1", "value": "standard_error_of_mean(`column.1`)", "type": "aggregate" } ]

Mengembalikan kesalahan standar rata-rata column.1

Kemiringan

`:kemiringan.column.1`

[ { "name": "skewness.column.1", "value": "skewness(`column.1`)", "type": "aggregate" } ]

Mengembalikan kemiringan column.1

Kurtosis

`:kurtosis.column.1`

[ { "name": "kurtosis.column.1", "value": "kurtosis(`column.1`)", "type": "aggregate" } ]

Mengembalikan kurtosis column.1

Datetime/Numeric/Text

Hitungan

`:count.column.1`

[ { "name": "count.column.1", "value": "count(`column.1`)", "type": "aggregate" } ]

Mengembalikan jumlah total baris di column.1

Hitung berbeda

`:countdistinct.column.1`

[ { "name": "count.column.1", "value": "count(distinct `column.1`)", "type": "aggregate" } ]

Mengembalikan jumlah total baris yang berbeda di column.1

Min

`:min.column.1`

[ { "name": "min.column.1", "value": "min(`column.1`)", "type": "aggregate" } ]

Mengembalikan nilai minimum column.1

Maks

`:max.column.1`

[ { "name": "max.column.1", "value": "max(`column.1`)", "type": "aggregate" } ]

Mengembalikan nilai maksimum column.1

Kondisi yang valid dalam ValueExpression

Tabel di bawah ini menunjukkan kondisi yang didukung dan ekspresi nilai yang dapat Anda gunakan.

Jenis kolom Kondisi ValueExpression Deskripsi

String

Contains

berisi (`kolom`, 'teks')

Kondisi untuk menguji apakah nilai dalam kolom berisi teks

Tidak mengandung

! berisi (`kolom`, 'teks')

Kondisi untuk menguji apakah nilai dalam kolom tidak mengandung teks

Cocok

cocok (`kolom`, 'pola')

Kondisi untuk menguji apakah nilai dalam kolom cocok dengan pola

Tidak cocok

! cocok (`kolom`, 'pola')

Kondisi untuk menguji apakah nilai dalam kolom tidak cocok dengan pola

Starts with

startsWith (`kolom`, 'teks')

Kondisi untuk menguji apakah nilai dalam kolom dimulai dengan teks

Tidak dimulai dengan

! startsWith (`kolom`, 'teks')

Kondisi untuk menguji apakah nilai dalam kolom tidak dimulai dengan teks

Ends with

EndsWith (`kolom`, 'teks')

Kondisi untuk menguji apakah nilai dalam kolom berakhir dengan teks

Tidak berakhir dengan

! EndsWith (`kolom`, 'teks')

Kondisi untuk menguji apakah nilai dalam kolom tidak diakhiri dengan teks

Numerik

Kurang dari

`kolom` < nomor

Kondisi untuk menguji apakah nilai dalam kolom kurang dari angka

Kurang dari atau sama dengan

`kolom` <= angka

Kondisi untuk menguji apakah nilai dalam kolom kurang dari atau sama dengan angka

Lebih besar dari

`kolom` > nomor

Kondisi untuk menguji apakah nilai dalam kolom lebih besar dari angka

Lebih besar dari atau sama dengan

`kolom` >= nomor

Kondisi untuk menguji apakah nilai dalam kolom lebih besar dari atau sama dengan angka

Adalah antara

isBetween (`kolom`, minNumber, maxNumber)

Kondisi untuk menguji apakah nilai dalam kolom berada di antara minNumber dan maxNumber

Bukan di antara

! isBetween (`kolom`, minNumber, maxNumber)

Kondisi untuk menguji apakah nilai dalam kolom tidak berada di antara minNumber dan maxNumber

Boolean

Apakah benar

`kolom` = BENAR

Kondisi untuk menguji apakah nilai dalam kolom boolean TRUE

Adalah salah

`kolom` = SALAH

Kondisi untuk menguji apakah nilai dalam kolom boolean FALSE

Date/Timestamp

Lebih awal dari

`kolom` < 'tanggal'

Kondisi untuk menguji apakah nilai dalam kolom lebih awal dari tanggal

Lebih awal dari atau sama dengan

`kolom` <= 'tanggal'

Kondisi untuk menguji apakah nilai dalam kolom lebih awal dari atau sama dengan tanggal

Lebih lambat dari

`kolom` > 'tanggal'

Kondisi untuk menguji apakah nilai dalam kolom lebih lambat dari tanggal

Lebih lambat dari atau sama dengan

`kolom` >= 'tanggal'

Kondisi untuk menguji apakah nilai dalam kolom lebih lambat dari atau sama dengan tanggal

String/Numeric/Date/Timestamp

Tepat

`kolom` = 'nilai'

Kondisi untuk menguji apakah nilai dalam kolom persis nilai

Is not

`kolom`! = 'nilai'

Kondisi untuk menguji apakah nilai dalam kolom bukan nilai

Hilang

isMissing (`kolom`)

Kondisi untuk menguji apakah nilai dalam kolom hilang

Tidak hilang

! isMissing (`kolom`)

Kondisi untuk menguji apakah nilai dalam kolom tidak hilang

Valid

isValid (`kolom`, tipe data)

Kondisi untuk menguji apakah nilai dalam kolom valid (nilainya adalah tipe data atau dapat dikonversi ke tipe data)

Tidak valid

! isValid (`kolom`, tipe data)

Kondisi untuk menguji apakah nilai dalam kolom tidak valid (nilainya adalah tipe data atau dapat dikonversi ke tipe data)

Bersarang

Hilang

isMissing (`kolom`)

Kondisi untuk menguji apakah nilai dalam kolom hilang

Tidak hilang

! isMissing (`kolom`)

Kondisi untuk menguji apakah nilai dalam kolom tidak hilang

Valid

isValid (`kolom`, tipe data)

Kondisi untuk menguji apakah nilai dalam kolom valid (nilainya adalah tipe data atau dapat dikonversi ke tipe data)

Tidak valid

! isValid (`kolom`, tipe data)

Kondisi untuk menguji apakah nilai dalam kolom tidak valid (nilainya adalah tipe data atau dapat dikonversi ke tipe data)