DAX Variabel (VAR): Rumus Lebih Rapi dan Cepat
Blog/Dashboard & Visualisasi/DAX Variabel (VAR): Rumus Lebih Rapi dan Cepat

DAX Variabel (VAR): Rumus Lebih Rapi dan Cepat

BimaBima
·17 Oktober 2026·8 menit baca

Penulis

Bima

Bima

Founder & Data Professional

Bagikan

TL;DR

VAR di DAX adalah cara nyimpen hasil perhitungan ke satu nama, biar bisa dipakai ulang dalam satu measure tanpa dihitung berkali-kali. Polanya selalu VAR buat nyimpen dan RETURN buat hasil akhir. Untung terbesarnya muncul pas satu ekspresi dipanggil berulang, karena VAR cuma dihitung sekali.

VAR di DAX itu cara nyimpen hasil perhitungan ke satu nama, biar bisa kamu pakai ulang di dalam satu measure. Hasilnya rumus jadi lebih pendek, gampang dibaca, dan sering lebih cepat.

Banyak orang nulis measure Power BI yang manggil CALCULATE atau SUM berkali-kali di rumus yang sama. Itu bikin rumus panjang dan lambat.

Di sini aku bahas cara pakai VAR dari nol, kenapa dia bikin query lebih cepat, plus satu contoh nyata dari dataset toko_berkah.

Apa itu VAR di DAX?

VAR adalah kata kunci DAX buat bikin variabel, yaitu wadah sementara yang nyimpen satu nilai atau satu tabel di dalam sebuah measure. Kamu hitung sesuatu sekali, kasih nama, lalu panggil nama itu sebanyak yang kamu mau. Nilainya nggak berubah selama measure dievaluasi.

Variabel ini cuma hidup di dalam measure tempat dia ditulis. Di luar itu, dia nggak dikenal.

Pasangannya selalu RETURN. VAR buat nyimpen, RETURN buat nentuin nilai akhir yang dikeluarin measure.

Gimana cara nulis VAR dan RETURN?

Pola dasarnya: tulis satu atau beberapa VAR, terus tutup dengan RETURN yang berisi hasil akhir. Setiap VAR punya nama dan sebuah ekspresi. RETURN cuma boleh satu, dan dia yang jadi output measure.

Total Growth =
VAR PenjualanSekarang = SUM('penjualan'[total])
VAR PenjualanLalu =
    CALCULATE(
        SUM('penjualan'[total]),
        DATEADD('kalender'[tanggal], -1, MONTH)
    )
RETURN
    DIVIDE(PenjualanSekarang - PenjualanLalu, PenjualanLalu)

Baca dari atas ke bawah. PenjualanSekarang nyimpen total bulan ini. PenjualanLalu nyimpen total bulan sebelumnya. RETURN ngitung selisihnya dibagi bulan lalu.

Aturan namanya gampang. Mulai dari huruf, boleh pakai spasi kalau dikurung, dan hindari nama yang sama dengan kolom biar nggak bingung.

Kenapa VAR bikin rumus lebih cepat?

VAR dihitung sekali, lalu hasilnya dipakai ulang. Tanpa VAR, tiap kali kamu nulis ekspresi yang sama, mesin DAX ngitung ulang dari awal. Makin sering dipanggil, makin berat.

Coba lihat versi tanpa VAR di bawah. CALCULATE yang sama ditulis dua kali, jadi dievaluasi dua kali.

Total Growth Lambat =
DIVIDE(
    SUM('penjualan'[total]) -
        CALCULATE(SUM('penjualan'[total]), DATEADD('kalender'[tanggal], -1, MONTH)),
    CALCULATE(SUM('penjualan'[total]), DATEADD('kalender'[tanggal], -1, MONTH))
)

Versi VAR di atas cuma manggil perhitungan bulan lalu sekali. Selisih kerjanya kelihatan pas visual punya banyak baris.

Contoh kasus: growth bulanan toko_berkah

toko_berkah punya tabel penjualan 18 bulan, sekitar 42.000 baris transaksi. Aku bikin measure growth bulanan buat kartu KPI di dashboard.

Versi lama manggil CALCULATE bulan lalu dua kali. Versi VAR manggilnya sekali. Di file yang sama, waktu render visual matriks turun dari 1,8 detik ke 0,6 detik. Selisih 1,2 detik itu kerasa banget pas dashboard dibuka orang gudang tiap pagi.

Versi rumusJumlah CALCULATEWaktu render
Tanpa VAR2x1,8 detik
Pakai VAR1x0,6 detik

Angka detiknya dari dataset ngulikdata, jadi patokan kasar, bukan janji. Tapi arahnya konsisten. Makin sering sebuah ekspresi dipanggil, makin besar untungnya dipindah ke VAR.

Bisa nggak VAR nyimpen tabel?

Bisa. Variabel DAX nggak cuma buat angka. Dia bisa nyimpen sebuah tabel hasil FILTER atau VALUES, terus kamu pakai tabel itu di perhitungan lain.

Pelanggan Aktif =
VAR PelangganBelanja =
    FILTER(
        VALUES('penjualan'[id_pelanggan]),
        CALCULATE(SUM('penjualan'[total])) > 500000
    )
RETURN
    COUNTROWS(PelangganBelanja)

Di sini PelangganBelanja nyimpen daftar pelanggan yang belanjanya di atas 500 ribu. RETURN tinggal ngitung barisnya.

Kesalahan umum pakai VAR

Yang pertama, lupa kalau nilai VAR itu beku. Variabel diitung di konteks saat dia dideklarasi. Kalau kamu bungkus nama VAR pakai CALCULATE berharap konteksnya berubah, dia nggak akan berubah. Nilainya sudah dikunci.

Kedua, nulis RETURN lebih dari satu. RETURN cuma boleh satu per blok. Kalau butuh cabang, pakai IF di dalam satu RETURN.

Ketiga, ngasih nama VAR sama persis dengan nama kolom. Ini bikin rumus susah dibaca dan gampang salah rujuk. Kasih nama yang beda dan deskriptif.

Keempat, mecah semua jadi VAR sampai belasan baris padahal rumusnya sederhana. Kalau ekspresi cuma dipakai sekali dan pendek, VAR malah nambah baris tanpa untung.

FAQ

Apa bedanya VAR sama measure biasa?

VAR cuma hidup di dalam satu measure dan nilainya beku setelah dihitung. Measure biasa bisa kamu panggil dari mana aja di model dan nilainya nyesuaikan konteks visual. Pakai VAR buat langkah antara di dalam satu rumus. Pakai measure kalau hasilnya mau dipakai ulang di banyak visual atau measure lain.

Apakah VAR selalu bikin lebih cepat?

Nggak selalu. VAR ngasih untung besar kalau ekspresi yang sama dipanggil berkali-kali dalam satu rumus. Kalau ekspresinya cuma dipakai sekali, kecepatannya kurang lebih sama. Untung utamanya di kasus itu justru keterbacaan, bukan speed.

Berapa banyak VAR yang boleh dalam satu measure?

Nggak ada batas praktis yang bakal kamu tabrak. Kamu bisa nulis banyak VAR selama tiap satu punya nama unik dalam blok itu. Patokan sehatnya: pecah kalau bikin rumus lebih jelas, jangan pecah cuma biar kelihatan rapi.

Bisakah satu VAR memakai VAR sebelumnya?

Bisa. VAR yang dideklarasi belakangan boleh manggil VAR yang ada di atasnya. Urutannya penting, jadi tulis dari bahan mentah ke hasil olahan. Yang nggak bisa: manggil VAR yang belum dideklarasi atau yang ada di bawahnya.

Penutup

VAR bikin measure lebih pendek dan gampang dibaca. Untung kecepatannya muncul pas satu ekspresi dipanggil berulang, kayak growth yang manggil bulan lalu dua kali.

Aturan intinya: hitung sekali, kasih nama, tutup dengan satu RETURN, dan inget nilainya beku.

Mau lancar nulis measure? Kulik dulu DAX CALCULATE sama DAX SUMX, terus rapiin pakai VAR. Cek juga halaman fungsi CALCULATE dan glosarium measure buat dasarnya. Referensi resminya ada di dokumentasi DAX Microsoft.

Coba Langsung

Mau praktek langsung? Mulai latihan SQL gratis

Latihan interaktif, langsung di browser.

Buka NgulikSQL →
Bagikan:
Bima
Ditulis oleh

Bima

Founder & Data Professional

Founder Ngulik Data. Passionate about making data analysis accessible for everyone.

Artikel terkait

Small Multiples: Teknik Visualisasi Perbandingan (2026)
Dashboard & Visualisasi
31 Desember 2026•7 menit baca

Small Multiples: Teknik Visualisasi Perbandingan (2026)

Satu grafik penuh garis warna-warni bikin mata mumet. Small multiples mecahnya jadi grafik kecil sejenis biar perbandingan antar grup langsung kelihatan. Ini caranya.

BimaBima
Bubble Chart: Kapan Dipakai dan Cara Membacanya (2026)
Dashboard & Visualisasi
28 Desember 2026•7 menit baca

Bubble Chart: Kapan Dipakai dan Cara Membacanya (2026)

Bubble chart bisa nunjukin tiga angka sekaligus, tapi gampang bikin salah baca. Ini kapan dia beneran kepake, cara bacanya, plus contoh dari 5 cabang toko.

BimaBima
Treemap: Visualisasi Data Hierarki
Dashboard & Visualisasi
25 Desember 2026•8 menit baca

Treemap: Visualisasi Data Hierarki

Treemap ngerangkum data hierarki jadi kotak bertingkat yang ukurannya mewakili nilai. Ini cara baca dan bikinnya, plus kapan sebaiknya dipakai.

BimaBima
Kembali ke Blog
Ngulik Data logoNgulik Data

Platform edukasi data lengkap untuk professionals Indonesia. Belajar SQL, Data Analysis, dan lebih banyak lagi dengan praktek langsung dan feedback real-time.

© 2026 Ngulik Data. Semua hak dilindungi.

TAUTAN
BantuanHargaDatasetBlogAfiliasi
LEGAL
Syarat & KetentuanKebijakan Privasi
Ngulik Data
DatasetLeaderboardBlogStore