Lewati ke konten utama

Tutorial Power BI Calculate

Pelajari cara menggunakan fungsi CALCULATE() di Power BI sambil memberi contoh bagaimana Anda dapat menggunakannya.
Diperbarui 28 Sep 2026  · 6 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Fungsi CALCULATE() bisa dibilang merupakan salah satu fungsi DAX Power BI yang paling penting (dan paling populer). Fungsinya mudah digunakan dan sangat serbaguna, memungkinkan Anda memperluas analisis data dan mengembangkan laporan Power BI yang lebih bernilai.

Tutorial ini berfokus pada apa itu fungsi CALCULATE() dan cara menggunakannya, dengan asumsi Anda sudah familier dengan dasar-dasar Power BI dan DAX.

Apa itu Fungsi Calculate() di Power BI? 

Menurut dokumentasi Microsoft Power BI, fungsi CALCULATE() merupakan bagian dari kategori fungsi filter dan didefinisikan sebagai "mengevaluasi sebuah ekspresi dalam konteks filter yang diubah." Ekspresi pada dasarnya adalah sebuah measure dan mencakup fungsi seperti SUM(), AVERAGE(), dan COUNT(). Ekspresi ini dievaluasi dalam konteks satu atau lebih filter. 

Seperti yang mungkin Anda ketahui, filter juga dapat diterapkan pada laporan Power BI hanya dengan menambahkan slicer tanpa membuat measure yang menggunakan fungsi CALCULATE() sama sekali. Namun, ada banyak kasus penggunaan di mana fungsi CALCULATE() lebih tepat. Fungsi ini sangat bermanfaat saat digunakan sebagai komponen dari fungsi lain. Kita akan melihat cara kerjanya pada contoh di bawah untuk menghitung persentase dari total.

Sintaks Dasar DAX Calculate()

Sintaks dasar DAX untuk fungsi CALCULATE() adalah:

CALCULATE( <expression> [, <filter1> [, <filter2> [, ...]]])

Fungsi CALCULATE() terdiri dari 2 komponen kunci:

  • Expression - ini adalah komponen agregasi yang dibangun seperti measure menggunakan fungsi seperti SUM(), AVERAGE(), dan COUNT().

  • Filters - komponen ini memungkinkan Anda menentukan satu atau lebih filter yang mengendalikan konteks agregasi.

Ada 3 jenis filter yang dapat digunakan dalam fungsi CALCULATE():

  • Ekspresi filter boolean - ini adalah filter sederhana di mana hasilnya harus TRUE atau FALSE.

  • Ekspresi filter tabel - ini adalah filter yang lebih kompleks di mana hasilnya berupa tabel.

  • Fungsi modifikasi filter - filter seperti ALL dan KEEPFILTERS termasuk dalam kategori ini dan memberikan kontrol lebih atas konteks filter yang ingin Anda terapkan.

Anda dapat menambahkan beberapa filter ke komponen filter pada fungsi CALCULATE() dengan memisahkan setiap filter menggunakan koma. Semua filter dievaluasi bersama-sama dan urutannya tidak berpengaruh. 

Anda dapat mengendalikan cara filter dievaluasi dengan menggunakan operator logika. Jika Anda ingin semua kondisi dievaluasi sebagai TRUE maka Anda dapat menggunakan AND (&&). Ini juga merupakan perilaku default dari filter seperti disebutkan di atas. Alternatifnya, dengan operator OR (||), setidaknya satu kondisi harus dievaluasi sebagai TRUE agar menghasilkan keluaran.

Cara Menggunakan Power BI Calculate()

Untuk menggunakan CALCULATE(), cukup tambahkan sebuah measure ke tabel Anda. Anda dapat melakukannya dengan menavigasi ke tab Modeling pada ribbon dan memilih New measure. 

Memilih New measure di tab modeling di Power BI

Memilih New measure di tab Modeling Power BI. Gambar oleh Penulis

Di bawah ini adalah contoh sederhana fungsi CALCULATE() yang menggunakan SUM() untuk mencari total pendapatan dan memfilter Country = United Kingdom. Kita akan membahas contoh ini lagi secara lebih rinci di akhir tutorial.

UK Revenue = CALCULATE(SUM('Online Retail'[Revenue]), 
               'Online Retail'[Country] = "United Kingdom")

Saat dilihat dalam tabel, kita dapat melihat bahwa measure UK Revenue hanya menerapkan filter untuk Country selain konteks filter yang sudah ada di tabel untuk Month. Menggunakan fungsi CALCULATE() dengan cara ini memberi kita kontrol yang lebih rinci atas jenis informasi yang ditampilkan dalam visual kita. 

Tabel Revenue di Power BITabel Revenue di Power BI. Gambar oleh Penulis

Satu hal penting yang perlu diingat saat membuat measure adalah mengikuti praktik pemodelan data yang baik, khususnya dalam hal kecepatan dan pengoptimalan kueri Anda. Karena hal ini, beberapa penggunaan fungsi CALCULATE() lebih cepat atau lebih tepat dibanding yang lain. 

Misalnya, dokumentasi Microsoft merekomendasikan agar Anda menghindari penggunaan fungsi FILTER() sebagai argumen untuk fungsi lain (seperti dalam fungsi CALCULATE()). Sebagai gantinya, lebih baik menggunakan ekspresi boolean jika memungkinkan karena ekspresi tersebut secara eksplisit dioptimalkan untuk tujuan ini.

Pada contoh di atas kita menggunakan ekspresi boolean untuk menentukan filter kita untuk Country = United Kingdom. Ini adalah pendekatan yang lebih cepat dan lebih optimal. Di sisi lain, berikut adalah contoh fungsi FILTER() di mana kita mendapatkan hasil yang sama, tetapi perhitungannya lebih lambat:

UK Revenue = CALCULATE(SUM('Online Retail'[Revenue]),
              FILTER('Online Retail',
                        'Online Retail'[Country] = "United Kingdom")

Contoh Fungsi Power BI Calculate()

Menggunakan dataset e-commerce dunia nyata, kita akan mengeksplorasi beberapa cara kunci bagaimana fungsi CALCULATE() dapat digunakan untuk menyelesaikan masalah bisnis. Untuk mengikuti tutorial ini, Anda dapat mengakses dataset e-commerce yang dihosting di DataLab.

Dataset ini berisi informasi tentang setiap pembelian yang dilakukan pelanggan: negara asal pembelian, deskripsi produk, tanggal dan waktu pembelian, serta kuantitas dan harga tiap produk yang dibeli.

Kita akan menjawab pertanyaan-pertanyaan berikut dengan bantuan fungsi CALCULATE():

  • Bagaimana perbandingan total pendapatan bulanan di UK dengan semua negara lainnya?
  • Berapa persentase dari total pendapatan yang berasal dari UK?
  • Berapa pendapatan kumulatif harian?

Bagaimana perbandingan total pendapatan bulanan di UK dengan semua negara lainnya?

Untuk menjawab pertanyaan ini, kita perlu membuat dua measure menggunakan fungsi CALCULATE(). Pertama, kita menggunakan filter boolean sederhana untuk membuat measure yang mengembalikan total pendapatan (menggunakan fungsi SUM()) di UK:

UK Revenue = CALCULATE(SUM('Online Retail'[Revenue]),
              'Online Retail'[Country] = "United Kingdom")

Selanjutnya, kita membuat measure serupa tetapi kali ini menggunakan fungsi FILTER(). Ekspresi filter ini menelusuri setiap baris kolom Country dan mengembalikan tabel yang berisi baris-baris yang cocok dengan kondisi filter. Fungsi FILTER() diperlukan di sini karena kita tidak dapat mengembalikan TRUE atau FALSE sederhana dari filter. Sebagai gantinya, kita mendapatkan tabel dengan banyak nilai.

Non-UK Revenue = CALCULATE(SUM('Online Retail'[Revenue]),
                    FILTER('Online Retail',
                        'Online Retail'[Country] <>"United Kingdom")

Karena itu, kita dapat melihat bahwa UK menyumbang mayoritas pendapatan untuk toko e-commerce ini dibandingkan semua negara lainnya.

Grafik garis Power BI yang menampilkan pendapatan menurut tahun dan bulanGrafik garis Power BI yang menampilkan pendapatan bulanan. Gambar oleh Penulis. 

Berapa persentase dari total pendapatan yang berasal dari UK?

Ini adalah jenis pertanyaan yang sangat umum dihadapi pengembang dan pengguna Power BI, dan merupakan kasus yang tepat untuk menerapkan fungsi CALCULATE().

Untuk menemukan persentase dari total, pertama kita perlu bisa mengembalikan total tanpa terpengaruh oleh konteks filter lain di laporan. Untuk mencapainya, kita menggunakan modifier filter yang dikenal sebagai fungsi ALL(). Dengan fungsi ini, kita menentukan kolom mana yang perhitungannya harus sepenuhnya mengabaikan filter apa pun. 

Dalam contoh ini, kita mencari persentase dari total pendapatan di UK. Ini berarti perhitungan kita harus mengabaikan filter apa pun pada kolom Country.

Total Revenue = CALCULATE(SUM('Online Retail'[Revenue]),
                  ALL('Online Retail'[Country]))

Ini relevan karena CALCULATE() dapat dijalankan dari dalam konteks filter yang sudah memfilter Product[Color]. Dalam skenario tersebut, keberadaan ALL berarti filter luar atas Product[Color] diabaikan dan digantikan oleh filter baru yang diperkenalkan oleh CALCULATE(). Hal ini terlihat jika, alih-alih melakukan slicing berdasarkan Brand, kita melakukan slicing berdasarkan Color pada matriks.

Sekarang setelah kita mengetahui total pendapatan, kita dapat menyusun measure untuk menampilkan persentase dari total pendapatan tersebut. Namun, karena kita secara khusus tertarik pada UK, kita akan kembali menggunakan fungsi CALCULATE() tetapi kali ini kita akan menggunakan filter boolean sederhana.

UK % of Revenue = CALCULATE(SUM('Online Retail'[Revenue])/[Total Revenue],
                    'Online Retail'[Country] = "United Kingdom")

Sekarang kita dapat melihat bahwa UK menyumbang 84% dari total pendapatan untuk toko e-commerce ini.

Menghitung persentase di Power BIMenghitung persentase di Power BI. Gambar oleh Penulis

Berapa pendapatan kumulatif harian?

Pendapatan kumulatif dapat memberikan wawasan tentang tren pendapatan. Dengan memplot pendapatan kumulatif ini pada sebuah bagan, kita juga dapat melihat secara visual apakah pendapatan meningkat dengan laju yang lebih cepat atau tidak seiring waktu.

Untuk menjawab pertanyaan ini, kita harus membuat sebuah measure menggunakan fungsi CALCULATE() serta fungsi filter berikut: ALLSELECTED(), FILTER(), dan evaluasi menggunakan fungsi MAX().

Cumulative Revenue = CALCULATE(SUM('Online Retail'[Revenue]),
                FILTER( ALLSELECTED('Online Retail'[InvoiceDate]),
                'Online Retail'[InvoiceDate] <= MAX('Online Retail'[InvoiceDate])))

Mari kita bahas mengapa filter-filter ini penting di sini:

  • Fungsi FILTER() memungkinkan masing-masing dari 2 filter yang kita tentukan dievaluasi berdasarkan baris demi baris dan akan mengembalikan tabel pada kasus ketika ada kecocokan.

  • Fungsi ALLSELECTED() mereset filter pada InvoiceDate dalam kueri saat ini (pada hasil di bawah, kueri saat ini adalah line chart) sambil tetap mengizinkan filter eksternal (seperti dari slicer).

  • Fungsi MAX() digunakan sebagai bagian dari evaluasi — kita ingin menjumlahkan pendapatan untuk semua tanggal yang berada pada atau di bawah tanggal saat ini dalam kueri.

Menghitung pendapatan berdasarkan tanggal di Power BIMenghitung pendapatan berdasarkan tanggal di Power BI. Gambar oleh Penulis. 

Penutup

Dalam tutorial ini, kita membahas apa itu fungsi CALCULATE() di Power BI dan cara menggunakannya. Kita juga menerapkan fungsi CALCULATE() pada dataset e-commerce dunia nyata dan menggunakannya untuk menjawab beberapa pertanyaan bisnis utama.

CALCULATE() adalah salah satu fungsi paling berguna di Power BI dan kemungkinan besar Anda akan sering menggunakannya saat membangun laporan dan menghasilkan wawasan yang lebih mendalam dari data Anda. 

Semoga tutorial ini membantu Anda tidak hanya memahami sintaks dasar CALCULATE() tetapi juga bagaimana kaitannya dengan pemecahan masalah bisnis nyata sebagai seorang analis data Power BI. 

Topik
Power BI
Data Science
Visualisasi Data

Kursus untuk Power BI

Kursus

Pengantar Power BI

4 jam
824.4K
Kuasai dasar-dasar Power BI dan pelajari cara menggunakan perangkat lunak visualisasi data untuk membuat laporan yang berdampak.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

Lihat SelengkapnyaLihat Selengkapnya