switch - Amazon QuickSight

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

switch

switchmembandingkan ekspresi kondisi dengan label literal, dalam satu set label literal dan pasangan ekspresi kembali. Kemudian mengembalikan ekspresi kembali yang sesuai dengan label literal pertama yang sama dengan ekspresi kondisi. Jika tidak ada label sama dengan kondisi-ekspresi, mengembalikan default-ekspresi. switch Setiap ekspresi kembali dan ekspresi default harus memiliki tipe data yang sama.

Sintaks

switch(condition-expression, label-1, return-expression-1 [, label-n, return-expression-n ...], default-expression)

Pendapat

switchmembutuhkan satu atau lebih if, maka pasangan ekspresi, dan membutuhkan tepat satu ekspresi untuk argumen else.

kondisi-ekspresi

Ekspresi yang akan dibandingkan dengan label-literal. Ini bisa berupa nama bidang sepertiaddress, nilai literal seperti 'Unknown', atau fungsi skalar lain sepertitoString(salesAmount).

label

Secara literal untuk dibandingkan dengan argumen kondisi-ekspresi, semua literal harus memiliki tipe data yang sama dengan argumen kondisi-ekspresi. switchmenerima hingga 5000 label.

ekspresi kembali

Ekspresi untuk kembali jika nilai labelnya sama dengan nilai kondisi-ekspresi. Ini bisa berupa nama bidang sepertiaddress, nilai literal seperti 'Unknown', atau fungsi skalar lain sepertitoString(salesAmount). Semua argumen return-expression harus memiliki tipe data yang sama dengan default-expression.

default-ekspresi

Ekspresi untuk mengembalikan jika tidak ada nilai argumen label sama dengan nilai ekspresi kondisi. Ini bisa berupa nama bidang sepertiaddress, nilai literal seperti 'Unknown', atau fungsi skalar lain sepertitoString(salesAmount). Ekspresi default harus memiliki tipe data yang sama dengan semua argumen ekspresi kembali.

Jenis pengembalian

switchmengembalikan nilai dari tipe data yang sama dengan nilai-nilai dalam ekspresi kembali. Semua data yang dikembalikan return-expression dan default-expression harus dari tipe data yang sama atau dikonversi ke tipe data yang sama.

Contoh Umum

Contoh berikut mengembalikan Wilayah AWS kode nama wilayah masukan.

switch(region_name, "US East (N. Virginia)", "us-east-1", "Europe (Ireland)", "eu-west-1", "US West (N. California)", "us-west-1", "other regions")

Berikut ini adalah nilai bidang yang diberikan.

"US East (N. Virginia)" "US West (N. California)" "Asia Pacific (Tokyo)"

Untuk nilai bidang ini nilai berikut dikembalikan.

"us-east-1" "us-west-1" "other regions"

Gunakan sakelar untuk mengganti ifelse

Kasus ifelse penggunaan berikut adalah setara dengan contoh sebelumnya, untuk ifelse mengevaluasi apakah nilai satu bidang sama dengan nilai literal yang berbeda, menggunakan switch sebagai gantinya adalah pilihan yang lebih baik.

ifelse(region_name = "US East (N. Virginia)", "us-east-1", region_name = "Europe (Ireland)", "eu-west-1", region_name = "US West (N. California)", "us-west-1", "other regions")

Ekspresi sebagai nilai kembali

Contoh berikut menggunakan ekspresi dalam ekspresi kembali:

switch({origin_city_name}, "Albany, NY", {arr_delay} + 20, "Alexandria, LA", {arr_delay} - 10, "New York, NY", {arr_delay} * 2, {arr_delay})

Contoh sebelumnya mengubah waktu tunda yang diharapkan untuk setiap penerbangan dari kota tertentu.

Gambar hasil contoh fungsi, ditunjukkan dalam bentuk tabel.