Baca dalam bahasa Inggris

Bagikan melalui


SWITCH

Berlaku untuk: kolom terhitungTabel terhitungMeasurePerhitungan visual

Mengevaluasi ekspresi terhadap daftar valuesand mengembalikan salah satu dari beberapa kemungkinan ekspresi hasil. Fungsi ini dapat digunakan untuk menghindari memiliki beberapa IFstatementsberlapis .

Sintaks

DAX
SWITCH(<expression>, <value>, <result>[, <value>, <result>]…[, <else>])

Parameter

Term Definisi
expression Ekspresi DAX apa pun yang mengembalikan skalar tunggal value di mana ekspresi akan dievaluasi beberapa kali (untuk setiap baris/konteks).
value value konstanta yang akan dicocokkan dengan hasil expression.
result Ekspresi skalar apa pun yang akan dievaluasi if hasil expression cocok dengan valueyang sesuai.
else Ekspresi skalar apa pun yang akan dievaluasi if hasil expression tidak cocok dengan argumen value apa pun.

Mengembalikan value

If ada kecocokan dengan value, value skalar dari result yang sesuai dikembalikan. If tidak ada kecocokan dengan value, value dari else dikembalikan. If none and else kecocokan values tidak ditentukan, BLANK dikembalikan.

Keterangan

  • expression yang akan dievaluasi dapat berupa konstanta valueor ekspresi. Penggunaan umum fungsi ini adalah mengatur parameter first ke TRUE. Lihat contoh di bawah.
  • ekspresi Allresultand ekspresi else harus dari jenis data yang sama.
  • Urutan kondisi penting. Segera setelah satu value cocok, result yang sesuai dikembalikan, andvalues berikutnya tidak dievaluasi. Pastikan values yang paling ketat untuk dievaluasi ditentukan sebelum valuesyang kurang ketat. Lihat contoh di bawah.

Contoh

Penggunaan umum SWITCH adalah membandingkan expression dengan valueskonstanta . Contoh berikut membuat kolom terhitung nama month:

DAX
= SWITCH (
         [Month Number Of Year],
         1, "January",
         2, "February",
         3, "March",
         4, "April",
         5, "May",
         6, "June",
         7, "July",
         8, "August",
         9, "September",
         10, "October",
         11, "November",
         12, "December",
         "Unknown month number"
        )

Penggunaan umum lain dari SWITCH adalah replace beberapa IFstatementsberlapis . Hal ini dicapai dengan mengatur ekspresi ke TRUE, seperti yang ditunjukkan dalam contoh berikut, yang membandingkan Tingkat Reorder Point and Safety Stock pada produk untuk mengidentifikasi potensi risiko kehabisan stok:

DAX
= SWITCH (
        TRUE,
        [Reorder Point] > [Safety Stock Level], "Good: Safety stock level exceeded",
        [Reorder Point] = [Safety Stock Level], "Minimal: Safety stock level met",
        [Reorder Point] < [Safety Stock Level], "At risk: Safety stock level not met",
        ISBLANK ( [Reorder Point] ), "Incomplete: Reorder point not set",
        ISBLANK ( [Safety Stock Level] ), "Incomplete: Safety stock level not set",
        "Unknown"
        )

Urutan values penting. Dalam contoh berikut, secondresult tidak pernah dikembalikan karena firstvalue kurang ketat daripada second. Hasil dalam contoh ini selalu AorC, tetapi tidak pernah B.

DAX
= SWITCH (
         TRUE,
         Product[Standard Cost] < 100, "A",
         Product[Standard Cost] < 10, "B",
         "C"
         )

Pernyataan berikut mengembalikan error karena jenis data dalam argumen result berbeda. Perlu diingat bahwa jenis data dalam argumen allresultandelse harus sama.

DAX
= SWITCH (
        [Class],
        "L", "Large",
        "H", 0.1
        )