DAX Time Intelligence: Analisa Berbasis Waktu
TL;DR
Time intelligence adalah kelompok fungsi DAX di Power BI buat ngitung metrik berbasis waktu, kayak year to date, month to date, dan pertumbuhan year over year. Fungsi kayak TOTALYTD dan SAMEPERIODLASTYEAR ngegeser konteks tanggal secara otomatis, jadi kamu gak perlu nulis logika kalender manual. Syarat wajibnya satu tabel tanggal khusus yang lengkap dan ditandai sebagai date table.
Time intelligence adalah kelompok fungsi DAX di Power BI buat ngitung metrik berbasis waktu, kayak year to date, month to date, dan pertumbuhan dibanding tahun lalu. Intinya, fungsi ini ngegeser konteks tanggal secara otomatis, jadi kamu gak perlu nulis logika kalender manual.
Buat analis yang bikin dashboard penjualan, ini kelompok fungsi yang paling sering kepakai. Hampir tiap laporan bisnis butuh perbandingan antar periode.
Di sini kamu bakal belajar syarat wajib time intelligence, fungsi intinya, cara ngitung YTD dan pertumbuhan tahunan, plus studi kasus pakai data toko_berkah.
Apa itu time intelligence di DAX?
Time intelligence adalah sekumpulan fungsi DAX yang ngerti konsep kalender: tahun, kuartal, bulan, dan hari. Fungsi ini bisa ngambil ulang perhitungan di periode yang beda dari yang lagi ditampilin, misalnya total sejak awal tahun atau angka bulan yang sama tahun lalu. Semua itu tanpa kamu tulis filter tanggal satu-satu.
Mesinnya tetap CALCULATE, fungsi inti DAX yang ngubah konteks perhitungan. Fungsi time intelligence sebenernya pembungkus rapi di atas CALCULATE yang khusus main di dimensi tanggal.
Kenapa time intelligence butuh tabel tanggal?
Karena fungsi ini butuh deret tanggal yang lengkap tanpa bolong buat gerak antar periode. Kalau tabel transaksi kamu loncat dari 3 ke 6 Januari karena gak ada penjualan tanggal 4 dan 5, perhitungan periode bisa salah. Tabel tanggal khusus nutup lubang itu.
Tabel tanggal, sering disebut date dimension, isinya satu baris per hari dari tanggal paling awal sampai paling akhir data kamu. Kamu bisa bikin pakai fungsi CALENDAR di DAX:
Tanggal =
ADDCOLUMNS(
CALENDAR(DATE(2024,1,1), DATE(2026,12,31)),
"Tahun", YEAR([Date]),
"Bulan", FORMAT([Date], "mmm"),
"NoBulan", MONTH([Date]),
"Kuartal", "Q" & ROUNDUP(MONTH([Date])/3, 0)
)
Setelah itu, di menu Table tools, klik Mark as date table dan pilih kolom Date. Langkah ini yang sering kelupaan dan bikin rumus time intelligence balikin hasil aneh. Konsep tabelnya sama kayak di SQL, aku bahas di membuat tabel kalender di SQL.
Apa saja fungsi time intelligence yang penting?
Ada banyak, tapi kamu cukup kuasai segelintir yang nutup 90% kebutuhan. Ini yang paling sering kepakai buat laporan penjualan sehari-hari.
| Fungsi | Gunanya |
|---|---|
| TOTALYTD | Total sejak awal tahun sampai tanggal berjalan |
| TOTALMTD | Total sejak awal bulan berjalan |
| SAMEPERIODLASTYEAR | Geser konteks ke periode sama tahun lalu |
| DATEADD | Geser tanggal maju atau mundur sesukanya |
| PREVIOUSMONTH | Ambil seluruh bulan sebelumnya |
Gimana cara ngitung YTD di DAX?
Pakai TOTALYTD dengan ukuran yang mau dijumlah dan kolom tanggal. Fungsi ini otomatis ngumpulin semua nilai dari 1 Januari sampai tanggal yang lagi ditampilin di visual. Kamu gak perlu nyetel filter tahun manual.
Penjualan YTD =
TOTALYTD(
SUM(transaksi[total]),
Tanggal[Date]
)
Kalau tahun fiskal perusahaan kamu gak mulai Januari, tambahin argumen ketiga. Misalnya tahun buku mulai Juli:
Penjualan YTD Fiskal =
TOTALYTD(
SUM(transaksi[total]),
Tanggal[Date],
"30/06"
)
Argumen "30/06" nandain akhir tahun fiskal. Setelah itu YTD-nya reset tiap 1 Juli, bukan 1 Januari.
Gimana ngitung pertumbuhan year over year?
Bandingin nilai periode sekarang sama periode yang sama tahun lalu pakai SAMEPERIODLASTYEAR, lalu hitung selisih persennya. Ini metrik yang hampir selalu diminta manajemen buat lihat toko tumbuh atau nyusut.
Penjualan Tahun Lalu =
CALCULATE(
SUM(transaksi[total]),
SAMEPERIODLASTYEAR(Tanggal[Date])
)
Pertumbuhan YoY % =
DIVIDE(
SUM(transaksi[total]) - [Penjualan Tahun Lalu],
[Penjualan Tahun Lalu]
)
Perhatiin aku pakai DIVIDE, bukan operator garis miring. DIVIDE otomatis balikin kosong kalau pembaginya nol, jadi dashboard kamu gak nampilin error waktu tahun lalu belum ada data.
Contoh kasus: dashboard penjualan toko_berkah
Toko_berkah mau lihat tren penjualan bulanan dibanding tahun lalu. Dari dataset ngulikdata, total penjualan Oktober 2026 tembus Rp 1,87 miliar, naik dari Rp 1,42 miliar di Oktober 2025. Pakai rumus di atas, Power BI ngitung pertumbuhan 31,7% otomatis di tiap baris bulan.
-- Ukuran gabungan buat kartu KPI
Penjualan Bulan Ini = SUM(transaksi[total])
Selisih YoY =
[Penjualan Bulan Ini] - [Penjualan Tahun Lalu]
Yang bikin ini kuat: begitu ukurannya jadi, kamu bisa taruh di visual apa pun, per kota, per kategori, per sales, dan perhitungan periodenya ikut nyesuain sendiri. Buat nyaring datanya lebih jauh, gabungin sama DAX FILTER.
Kesalahan umum saat pakai time intelligence
Kesalahan pertama: pakai kolom tanggal dari tabel transaksi, bukan dari tabel tanggal khusus. Fungsi time intelligence butuh deret tanggal utuh. Selalu arahin rumus ke kolom Date di date table.
Kesalahan kedua: lupa nandain date table lewat Mark as date table. Tanpa langkah ini, sebagian fungsi diam-diam ngasih hasil salah tanpa error. Ini jebakan yang paling sering.
Kesalahan ketiga: relasi antara tabel transaksi dan tabel tanggal belum kebentuk. Sambungin kolom tanggal di transaksi ke kolom Date di date table dulu. Tanpa relasi, filter tanggal gak nyampe ke data penjualan. Buat dasar konsep ukuran, cek measure vs calculated column.
FAQ
Apa beda TOTALYTD dan DATESYTD?
TOTALYTD itu pembungkus siap pakai yang langsung ngejumlah ukuran sejak awal tahun. DATESYTD cuma balikin kumpulan tanggalnya, jadi kamu pakai di dalam CALCULATE buat kontrol lebih detail. Buat kebutuhan umum, TOTALYTD lebih ringkas. Buat kasus rumit dengan filter tambahan, DATESYTD di dalam CALCULATE lebih fleksibel.
Kenapa rumus time intelligence saya balikin kosong?
Penyebab paling umum: tabel tanggal belum ditandai sebagai date table, atau relasi ke tabel transaksi belum ada. Cek juga rentang tanggal di date table nutup semua tanggal transaksi. Kalau tabel tanggal cuma sampai 2025 tapi data ada di 2026, perhitungan periode 2026 bakal kosong.
Apakah time intelligence butuh Power BI Premium?
Gak butuh. Semua fungsi time intelligence jalan di Power BI Desktop gratis dan lisensi Pro biasa. Fungsinya bagian inti dari bahasa DAX, bukan fitur berbayar. Yang bikin beda cuma kualitas date table dan model data kamu, bukan jenis lisensinya.
Bisa gak time intelligence buat tahun fiskal non-Januari?
Bisa. Sebagian besar fungsi kayak TOTALYTD nerima argumen akhir tahun fiskal, misalnya "30/06" buat tahun buku yang tutup Juni. Buat yang gak nerima argumen itu, kamu bisa tambahin kolom tahun fiskal di date table dan pakai itu sebagai dasar perhitungan. Dua cara ini sama-sama umum dipakai.
Perlu belajar CALCULATE dulu sebelum time intelligence?
Disaranin banget, karena time intelligence sebenernya jalan di atas CALCULATE. Paham cara CALCULATE ngubah konteks filter bakal bikin kamu ngerti kenapa rumus periode kadang balikin hasil di luar dugaan. Tanpa fondasi itu, kamu cuma hafal rumus tanpa tau cara benerin waktu error.
Penutup
Tiga hal inti soal DAX time intelligence:
- Wajib punya date table lengkap yang ditandai Mark as date table.
- TOTALYTD dan SAMEPERIODLASTYEAR nutup mayoritas kebutuhan laporan.
- Pakai DIVIDE biar dashboard gak error waktu tahun lalu belum ada data.
Mau bikin dashboard yang beneran dipakai tim? Pelajari alur lengkapnya di Ngulik Data, lalu perkuat fondasimu lewat DAX CALCULATE. Referensi resmi tiap fungsi ada di dokumentasi DAX time intelligence Microsoft.
Mau praktek langsung? Mulai latihan SQL gratis
Latihan interaktif, langsung di browser.
Artikel terkait
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.
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.
Treemap: Visualisasi Data Hierarki
Treemap ngerangkum data hierarki jadi kotak bertingkat yang ukurannya mewakili nilai. Ini cara baca dan bikinnya, plus kapan sebaiknya dipakai.