Skip to Content

Tingkatkan Performa Model Power BI dengan Calculation Groups

Pernahkah Anda merasa frustrasi dengan banyaknya measures yang harus Anda buat dalam model Power BI Anda? Jika Anda memiliki kebutuhan untuk membandingkan penjualan tahun ini dengan tahun lalu, atau mengubah nilai dari satu mata uang ke mata uang lainnya, Anda mungkin berakhir dengan puluhan measures yang hampir identik. Kabar baiknya, Power BI kini memiliki fitur yang dapat menyelesaikan masalah tersebut: Calculation Groups.

📊 Apa Itu Calculation Groups di Power BI?

Calculation Groups di Power BI adalah cara untuk menyederhanakan dan mengorganisir measures Anda. Alih-alih membuat banyak measures serupa seperti "Total Penjualan YTD", "Total Penjualan QTD", dan "Total Penjualan MTD", Anda dapat membuat hanya satu measure dan menggunakan calculation group untuk beralih di antara berbagai kalkulasi waktu.

Bayangkan calculation groups sebagai menu pintar yang membantu Power BI mengetahui bagaimana menghitung sebuah nilai, tanpa perlu membuat banyak formula terpisah.

💡 Mengapa Menggunakan Calculation Groups?

Mengurangi Pengulangan: Tidak perlu membuat banyak measures serupa.

Organisasi Lebih Baik: Menjaga model Anda tetap bersih dan lebih mudah dikelola.

Lebih Fleksibel: Dengan cepat beralih di antara berbagai kalkulasi seperti Year-To-Date (YTD), Quarter-To-Date (QTD), dan Month-To-Date (MTD).

📁 Di Mana Mereka Dibuat?

Di Power BI Desktop saat Anda membuka model lokal, navigasikan ke tampilan Model dan pilih tombol Grup Perhitungan di pita. Jika Anda belum berada di penjelajah Model, panel Data akan terbuka ke tampilan Model.

📁 Bagaimana Cara Membuat Calculation Groups?

Di Power BI Desktop ketika Anda membuka model lokal, navigasikan ke Model view dan pilih tombol Calculation group di ribbon. Jika Anda belum berada di Model explorer, panel Data akan terbuka ke tampilan Model.

Berikut langkah-langkah untuk membuat Calculation Group:

  1. Buka Power BI Desktop dan pastikan Anda memiliki model data yang sudah berisi measures
  2. Beralih ke tampilan Model view (ikon ketiga dari atas di sebelah kiri)
  3. Di panel data, beralih ke bagian Model jika belum ada di sana
  4. Klik tombol Calculation group di ribbon
  5. Jika properti discourage implicit measures dimatikan, Anda akan diminta untuk mengaktifkannya

Catatan: Fitur ini memerlukan measures eksplisit untuk berfungsi dengan baik. Measures eksplisit adalah measures yang Anda buat secara manual dengan formula DAX, bukan agregasi otomatis yang dibuat Power BI.

🛠️ Contoh Praktis: Calculation Group untuk Time Intelligence

Mari kita lihat contoh bagaimana membuat calculation group untuk analisis time intelligence. Ini adalah salah satu penerapan paling umum dari calculation groups.

Langkah 1: Buat Calculation Group Baru

Setelah mengklik tombol Calculation group, Anda akan melihat calculation group baru muncul di model Anda dengan nama default dan kolom "Calculation group Column".

Langkah 2: Ubah Nama Calculation Group dan Kolom

  • Ganti nama calculation group menjadi "Time Intelligence"
  • Ganti nama kolom menjadi "Period"

Langkah 3: Buat Calculation Items

Sekarang kita akan membuat beberapa calculation items untuk berbagai perhitungan waktu. Berikut adalah beberapa contoh:Penjelasan Kode:

  • Current hanya mengembalikan nilai measure yang dipilih tanpa modifikasi
  • QTD menghitung total quarter-to-date dari measure yang dipilih
  • YTD menghitung total year-to-date dari measure yang dipilih
  • PY menghitung nilai measure pada tahun sebelumnya

Fungsi SELECTEDMEASURE() adalah kunci di sini - ini adalah placeholder untuk measure apa pun yang akan dimodifikasi oleh calculation item.

📈 Menggunakan Calculation Groups dalam Laporan

Setelah membuat calculation group, Anda dapat menggunakannya dengan dua cara utama:

1. Sebagai Kolom dalam Matriks

Anda dapat menempatkan calculation group sebagai kolom dalam visual matriks. Ini akan menampilkan hasil dari setiap calculation item dalam kolom terpisah.

Contoh: Jika Anda memiliki measure "Total Penjualan" dan calculation group "Period" dengan items Current, YTD, QTD, dan PY, matriks Anda akan menampilkan empat kolom: Total Penjualan Current, Total Penjualan YTD, Total Penjualan QTD, dan Total Penjualan PY.

2. Sebagai Slicer

Cara yang lebih interaktif adalah dengan menempatkan calculation group di slicer. Ini memungkinkan pengguna untuk beralih antara perhitungan yang berbeda.

Contoh: Dengan slicer Period yang memiliki opsi Current, YTD, QTD, dan PY, pengguna dapat mengubah cara measure "Total Penjualan" dihitung tanpa Anda harus membuat empat measures terpisah.

🚀 Kasus Penggunaan Lanjutan: Multiple Calculation Groups

Anda dapat membuat dan menggunakan beberapa calculation groups sekaligus. Sebagai contoh:

  1. Calculation Group untuk Time Intelligence (seperti yang sudah kita bahas)
  2. Calculation Group untuk Konversi Mata Uang dengan items seperti Euro, Rupiah, dan Dollar

Power BI akan menerapkan calculation groups satu demi satu sesuai dengan pengaturan Precedence (prioritas). Misalnya, measure pertama diubah oleh Time Intelligence, kemudian hasilnya dikonversi oleh calculation group Currency.

Dengan pendekatan ini, Anda bisa menghindari pembuatan 48 measures terpisah (4 periods × 3 currencies × 4 base measures), dan hanya perlu 4 measures dasar dengan 2 calculation groups!

⚠️ Hal Penting yang Perlu Diingat

  1. Aktifkan Discourage Implicit Measures: Calculation items hanya berfungsi dengan measures eksplisit, bukan dengan implicit measures (agregasi otomatis).
  2. Format Measures: Saat menggunakan calculation group untuk konversi mata uang, format measures juga bisa berubah sesuai dengan mata uang yang dipilih.
  3. Calculation Groups Tidak Mempengaruhi Semua Measures: Dalam contoh konversi mata uang, measure "Quantity Sold" tidak akan terpengaruh oleh pilihan mata uang.

💻 Contoh Implementasi Lengkap

Misalkan kita memiliki model data penjualan dengan measures:

  • Sales Amount
  • COGS
  • Profit

Dan kita ingin membandingkannya dalam berbagai periode waktu dan mata uang.

Langkah 1: Buat Calculation Group "Time Intelligence"

text

Current = SELECTEDMEASURE() YTD = TOTALYTD(SELECTEDMEASURE(), 'Calendar'[Date]) QTD = TOTALQTD(SELECTEDMEASURE(), 'Calendar'[Date]) PY = CALCULATE(SELECTEDMEASURE(), SAMEPERIODLASTYEAR('Calendar'[Date])) PY YTD = CALCULATE( TOTALYTD(SELECTEDMEASURE(), 'Calendar'[Date]), SAMEPERIODLASTYEAR('Calendar'[Date]) )

Langkah 2: Buat Calculation Group "Currency"

text

IDR = SELECTEDMEASURE() USD = DIVIDE(SELECTEDMEASURE(), 15500) EUR = DIVIDE(SELECTEDMEASURE(), 17000)

Langkah 3: Atur Precedence

Pastikan "Time Intelligence" memiliki precedence lebih tinggi (angka lebih rendah) daripada "Currency" sehingga kalkulasi waktu diterapkan terlebih dahulu, diikuti dengan konversi mata uang.

📝 Contoh Praktis: Lead Analysis

Dalam contoh lain dari search results, calculation groups digunakan untuk menganalisis lead (prospek) dalam berbagai status:

text

Leads = SELECTEDMEASURE() Open Lead = CALCULATE(SELECTEDMEASURE(), FILTER('lead', 'lead'[statecodename]="Open")) Qualified = CALCULATE(SELECTEDMEASURE(), FILTER('lead', 'lead'[statecodename]="Qualified"))

Di sini, calculation group "Lead Overview" dengan items di atas memungkinkan Anda untuk melihat total leads, open leads, dan qualified leads tanpa harus membuat tiga measures terpisah.

📺 Here are some YouTube tutorials



Glossary: Terminologi Penting

  • Calculation Group: Fitur di Power BI yang memungkinkan Anda membuat serangkaian kalkulasi yang dapat digunakan kembali, yang dapat diterapkan ke measures yang sudah ada.
  • Calculation Item: Ekspresi DAX individual dalam calculation group yang menentukan bagaimana measures dimodifikasi.
  • SELECTEDMEASURE(): Fungsi DAX yang bertindak sebagai placeholder untuk measure yang akan diterapkan oleh calculation item.
  • Explicit Measure: Measure yang dibuat secara manual dengan mendefinisikan ekspresi DAX untuk mengagregasi kolom data.
  • Implicit Measure: Measure yang terjadi ketika kolom data digunakan langsung dalam visual dan Power BI secara otomatis menerapkan agregasi seperti SUM, AVERAGE, MIN, MAX.
  • Time Intelligence: Fungsi dalam DAX yang memungkinkan analisis berdasarkan periode waktu seperti YTD (year-to-date), QTD (quarter-to-date), dan perbandingan dengan periode sebelumnya.
  • Precedence: Pengaturan yang menentukan urutan penerapan ketika menggunakan beberapa calculation groups.

Kesimpulan

Calculation Groups adalah fitur yang sangat powerful di Power BI yang dapat secara drastis mengurangi kompleksitas model Anda sambil mempertahankan fungsionalitas dan performa yang sama. Dengan menggunakan Calculation Groups, Anda dapat:

  1. Mengurangi jumlah measures dalam model Anda
  2. Membuat laporan yang lebih dinamis dan fleksibel
  3. Memudahkan maintenance model data jangka panjang

Jika Anda belum mencoba Calculation Groups, sekarang adalah saat yang tepat untuk mulai menggunakannya dan melihat bagaimana mereka dapat mengubah cara Anda membangun model data Power BI.

Citations:

  1. https://learn.microsoft.com/en-us/power-bi/transform-model/calculation-groups
  2. https://community.fabric.microsoft.com/t5/Power-BI-Community-Blog/Calculation-Groups-in-Power-BI/ba-p/3590905
  3. https://databear.com/introduction-to-calculation-groups-in-power-bi/
  4. https://www.element61.be/en/resource/goodbye-measure-clutter-hello-calculation-groups-now-straight-within-power-bi
  5. https://data-mozart.com/mastering-dp-600-exam-implement-calculation-groups/
  6. https://www.youtube.com/watch?v=ZOOdmUCO3m8
  7. https://www.sqlbi.com/calculation-groups/
  8. https://www.youtube.com/watch?v=xS1t25_GsWw
  9. https://apexinsights.net/blog/10-uses-for-calculation-groups
  10. https://smootherconsulting.com/learn/power-bi-calculation-groups-and-implicit-measures


Berhenti Membuang Waktu di Excel: Biarkan Python Melakukan Pekerjaannya