{count, plural, one {Kursus} other {Kursus}}
Fungsi SWITCH() di Power BI adalah fungsi logika DAX yang menyediakan cara yang lebih terstruktur dan mudah dibaca untuk menangani banyak kondisi dibandingkan dengan pernyataan IF() bersarang.
Dalam tutorial ini, kita akan membahas secara rinci fungsi SWITCH(). Kita akan membahas apa itu, cara menggunakannya, serta beberapa jebakan umum dan praktik terbaik dalam menggunakan fungsi tersebut.
Untuk mulai menggunakan Power BI dan DAX, lihat jalur keahlian Power BI Fundamentals kami dan simpan DAX Cheat Sheet kami sebagai referensi cepat untuk banyak fungsi DAX paling berguna yang akan Anda temui.

Apa itu Fungsi SWITCH di Power BI?
Fungsi SWITCH() di DAX untuk Power BI memudahkan penulisan pernyataan bersyarat. Fungsi ini mengevaluasi sebuah ekspresi lalu membandingkannya dengan serangkaian nilai, dan mengembalikan hasil yang pertama kali cocok.
SWITCH() dapat menggantikan beberapa pernyataan IF() bersarang dengan merangkum banyak kondisi dalam satu fungsi. Ini menghasilkan ekspresi DAX yang lebih bersih dan sederhana, sehingga lebih mudah dibaca dan dipelihara. Fungsi ini juga meningkatkan keterbacaan rumus Anda, sehingga memudahkan Anda dan orang lain untuk memahami serta memodifikasi perhitungan Anda.
Sintaks dasar dan penggunaan
Sintaks dasar untuk fungsi SWITCH() adalah:
SWITCH(<expression>, <value>, <result>[, <value>, <result>]…[, <else>])
- Expression: Ekspresi yang dievaluasi.
- Value: Nilai yang dibandingkan dengan ekspresi.
- Result: Hasil yang dikembalikan jika ekspresi cocok dengan nilai yang bersesuaian.
- Else: Hasil opsional yang dikembalikan jika tidak ada nilai yang cocok dengan ekspresi.
Berikut adalah kiat cepat untuk membaca pernyataan sintaks dasar (seperti di atas) yang umum ditemukan dalam tutorial dan dokumentasi resmi Microsoft Power BI. Pernyataan di atas menampilkan dua set parameter <value> dan <result>, dengan set kedua diapit tanda kurung siku. Ini berarti dapat ada lebih dari satu set nilai dan hasil yang bersifat opsional dalam fungsi SWITCH(). Demikian pula, bagian <else> pada fungsi juga dibungkus tanda kurung siku, sehingga juga opsional.
Perbandingan dengan pernyataan IF bersarang
Cara tradisional untuk menangani banyak kondisi di DAX melibatkan pernyataan IF bersarang, yang dapat dengan cepat menjadi kompleks dan sulit dibaca. Misalnya, menangani empat kondisi memerlukan tiga fungsi IF bersarang. Sebaliknya, fungsi SWITCH() merampingkan hal ini dengan memungkinkan daftar pasangan kondisi-hasil secara langsung, sehingga meningkatkan keterbacaan dan kemudahan pemeliharaan.
Meskipun banyak pernyataan IF bersarang dapat menghasilkan keluaran yang sama seperti SWITCH(), SWITCH() tetap lebih disukai karena lebih mudah ditulis dan lebih kecil kemungkinannya terjadi kesalahan. Banyak pemanggilan IF() juga dapat berdampak negatif pada kinerja laporan. Namun, perlu diingat bahwa fungsi SWITCH() juga dapat memengaruhi kinerja laporan. Karena itu, kita akan membahas strategi untuk mengoptimalkan fungsi SWITCH() Anda beserta beberapa praktik terbaik di bagian akhir tutorial ini.
Kecocokan untuk perhitungan kompleks
SWITCH() sangat cocok untuk skenario ketika Anda memiliki serangkaian nilai yang terdefinisi untuk sebuah ekspresi dan hasil yang bersesuaian untuk masing-masing nilai tersebut.
Fungsi ini lebih bersih dan efisien daripada menggunakan banyak IF() bersarang, terutama ketika jumlah kondisi bertambah. Hal ini menjadikan SWITCH() pilihan yang sangat baik untuk perhitungan kompleks di mana keterbacaan dan kinerja menjadi perhatian.
Namun, meskipun SWITCH() dapat meningkatkan keterbacaan, manfaat kinerjanya dibandingkan IF bersarang sangat bergantung pada kasus penggunaan spesifik dan model data yang mendasarinya.
Cara Menggunakan Fungsi SWITCH di Power BI
Contoh-contoh berikut menggambarkan fleksibilitas fungsi SWITCH() dalam mengatasi berbagai skenario bisnis di Power BI. Dengan mengganti pernyataan IF() bersarang yang kompleks dengan SWITCH(), Anda dapat memperoleh rumus DAX yang lebih jelas dan lebih mudah dipelihara.
Contoh 1: Analisis kategori penjualan
Bayangkan sebuah bisnis ingin mengategorikan penjualannya ke dalam beberapa tingkat berdasarkan total nilai penjualan untuk menganalisis kinerja penjualannya secara lebih efektif.
Pada rumus DAX di bawah ini, kita menggunakan fungsi SWITCH() untuk menetapkan kategori penjualan berdasarkan total nilai penjualan. Anda akan melihat bahwa kita menggunakan fungsi logika TRUE() sebagai ekspresi dalam rumus. Ini karena SWITCH() hanya mencari kecocokan yang tepat, sedangkan kita ingin menggunakan operator seperti lebih besar dari dan lebih kecil dari dalam rumus. Jadi, dengan menetapkan ekspresi ke TRUE(), SWITCH() akan mengevaluasi setiap kondisi hingga ditemukan kecocokan (yaitu ketika hasilnya true).
Sales Category =
SWITCH(
TRUE(),
[Total Sales] < 10000, "Low Sales",
[Total Sales] < 50000, "Medium Sales",
[Total Sales] >= 50000, "High Sales",
"Unknown")
Berikut hasilnya di Power BI:

Contoh 2: Strategi diskon produk
Misalkan sebuah jaringan ritel menerapkan persentase diskon yang berbeda pada produk berdasarkan harga jual bersihnya untuk memaksimalkan profitabilitas. Mereka ingin menghitung total nilai penjualan setelah diskon di tokonya.
Pada rumus DAX di bawah ini, kita menggunakan fungsi SWITCH() di dalam sebuah variabel. Karena kita tidak perlu menggunakan rumus persentase diskon di bagian lain laporan, kita dapat mengurangi perhitungan berulang dan hanya mengevaluasinya dalam rumus penjualan setelah diskon ini.
DiscountedSales =
VAR DiscountPct = SWITCH(
TRUE,
Sales[Net Price] <= 150, 0.15,
Sales[Net Price] <= 500, 0.2,
Sales[Net Price] <= 1000, 0.3,
0
)
VAR DiscountAmount = Sales[SalesAmount] * (1 - DiscountPct)
RETURN
DiscountAmount
Berikut hasilnya di Power BI:

Jebakan Umum dan Cara Menghindarinya
Bagian ini meninjau beberapa jebakan umum saat menggunakan fungsi SWITCH() beserta rekomendasi untuk menghindarinya.
1. Terlalu sering digunakan untuk kondisi sederhana
Menggunakan SWITCH() untuk skenario di mana pernyataan IF sederhana sudah memadai dapat membuat rumus DAX Anda menjadi rumit tanpa perlu.
Sebaliknya, gunakan SWITCH() untuk kasus dengan banyak kondisi. Untuk satu atau dua kondisi, pertimbangkan menggunakan IF demi kesederhanaan.
2. Dampak kinerja pada dataset besar
Penggunaan fungsi SWITCH() secara ekstensif, terutama dengan ekspresi yang kompleks, dapat memperlambat kinerja laporan pada dataset besar.
Optimalkan ekspresi di dalam SWITCH() dengan menghitung terlebih dahulu bagian yang kompleks menggunakan variabel. Variabel membuat ekspresi SWITCH() lebih bersih dan mudah dipahami, secara tidak langsung membantu optimalisasi dengan mengurangi peluang terjadinya perhitungan yang berulang atau tidak perlu.
Hitung sekali ekspresi umum atau bagian kompleks dari kondisi Anda dan simpan dalam variabel. Ini mencegah penghitungan ulang ekspresi yang sama berkali-kali di dalam fungsi SWITCH().
3. Penggunaan default yang tidak efisien
Menyalahgunakan kasus default dalam SWITCH() untuk menangani kesalahan atau nilai tak terduga tanpa pertimbangan yang tepat dapat menghasilkan keluaran yang tidak benar.
Definisikan kondisi dengan jelas dan tangani skenario yang diketahui secara eksplisit. Gunakan fungsi seperti IFERROR atau ISBLANK untuk mengelola nilai yang tak terduga atau hilang.
4. Salah memahami konteks
Melupakan bahwa SWITCH() dievaluasi dalam konteks saat ini dapat menyebabkan hasil yang tidak terduga, terutama saat digunakan dalam konteks baris atau filter. Lihat kursus Introduction to DAX kami, di mana kami membahas konteks secara lebih mendalam.
Saat merancang ekspresi SWITCH(), selalu pertimbangkan konteks baris atau filter saat ini. Gunakan fungsi transisi konteks seperti CALCULATE() secara bijak untuk menyesuaikan konteks sesuai kebutuhan.
5. Urutan operasi
Mengabaikan urutan kondisi dalam pernyataan SWITCH() dapat menyebabkan hasil yang tidak terduga, karena fungsi SWITCH() mengevaluasi kondisi sesuai urutan yang didefinisikan dan menggunakan kondisi pertama yang cocok.
Pastikan setiap kasus muncul dalam urutan yang benar, sebagaimana Anda lakukan dengan pernyataan IF() bersarang.
Praktik Terbaik SWITCH
Berikut beberapa praktik terbaik untuk menggunakan SWITCH() secara efektif:
-
Gunakan untuk banyak kondisi:
SWITCH()ideal saat Anda memiliki lebih dari dua pemeriksaan kondisi. Ini membuat rumus Anda lebih mudah dibaca dan dipelihara dibandingkan pernyataanIF()bersarang. -
Definisikan semua kasus dengan jelas: Fungsi
SWITCH()Anda harus mencakup semua kemungkinan skenario, termasuk kasus default untuk menangani nilai yang tidak terduga. Ini memastikan perhitungan Anda tangguh dan lebih kecil kemungkinannya terjadi kesalahan. -
Optimalkan untuk kinerja: Jaga agar ekspresi di dalam
SWITCH()sesederhana mungkin untuk menghindari penurunan kinerja saat bekerja dengan dataset besar. Menggunakan variabel untuk menyimpan hasil antara dapat membantu meminimalkan beban komputasi. -
Uji secara menyeluruh: Terutama saat menggunakan
SWITCH()untuk logika yang kompleks, pastikan Anda menguji hasil secara menyeluruh di berbagai skenario. Ini membantu menangkap kesalahan logika atau kasus yang terlewat.
Kesimpulan
Jika Anda mencari cara yang lebih efisien dan serbaguna untuk menangani banyak kondisi di Power BI, SWITCH() adalah jawabannya. Tidak seperti pernyataan IF bersarang, fungsi SWITCH() merangkum banyak kondisi ke dalam satu fungsi, menghasilkan ekspresi DAX yang lebih bersih dan sederhana, sehingga lebih mudah dibaca dan dipelihara. Selain itu, fungsinya meningkatkan keterbacaan rumus Anda, sehingga memudahkan Anda dan orang lain untuk memahami serta memodifikasi perhitungan Anda.
Namun, hindari beberapa kesalahan umum saat menggunakan fungsi SWITCH() dan ikuti praktik terbaik yang telah kita bahas dalam tutorial ini.
Jika Anda serius ingin memulai karier sebagai pengembang Power BI, lihat panduan langkah demi langkah menjadi pengembang BI kami beserta jalur karier lengkap Data Analyst in Power BI, yang akan mengajarkan semua yang perlu Anda ketahui untuk mulai menggunakan Power BI secara praktis.

