Membuat Dimensi Tanggal (Date) dengan Power Query di Power BI

Membuat Dimensi Tanggal (Date) dengan Power Query di Power BI

Dimensi Tanggal (Date Dimension) adalah dimensi yang selalu digunakan dalam pembuatan dashboard. Ada beberapa cara membuatnya, salah satunya dengan Power Query. Pelajari caranya di artikel ini!

Dalam membuat dashboard, Dimensi Tanggal (Date Dimension) merupakan salah satu dimensi yang paling sering digunakan. Hampir semua laporan atau dashboard memerlukan analisis berbasis waktu—apakah itu per hari, per bulan, kuartal, atau tahun. Tanpa tabel tanggal yang lengkap dan fleksibel, analisis seperti Year-over-Year (YoY), Month-to-Date (MTD), atau Trend Analysis akan sulit dilakukan secara akurat.

Salah satu cara terbaik untuk membuat dimensi tanggal yang fleksibel adalah dengan menggunakan Power Query, yaitu alat transformasi data bawaan di Power BI. Pada artikel ini, kita akan belajar langkah demi langkah membuat Date Dimension sendiri secara dinamis dan dapat digunakan kembali di berbagai laporan.

1. Membuat Query Baru (Blank Query)

Buat query baru dengan akses menu New Source → Blank Query. Beri nama query DIM Date.

2. Definisikan Tanggal Awal

Langkah kedua adalah mendefinisikan tanggal awal. Klik pada step Source di sebelah kanan, kemudian masukkan tanggal awal dari DIM Date, contohnya: 2024-01-01.

3. Membuat List Tanggal Awal sampai Hari ini

Berikutnya, kita akan membuat list tanggal yang dimulai tanggal awal yang telah didefinisikan, sampai dengan hari ini. Buat step baru dengan klik kanan pada step Source, dan pilih Insert Step After. Beri nama step ini “Generate List of Dates”.

Masukkan M Code pada bar Fx. Berikut M Code untuk membuat list tanggalnya:

= List.Dates(
    Source,
    Number.From(DateTime.LocalNow()) - Number.From(Source),
    #duration(1, 0, 0, 0)
)

Dengan formula yang kita buat ini, memungkinkan data di tabel DIM Date akan otomatis ter-update setiap hari.

Formula di atas menggunakan List.Dates(start as date, count as number, step as duration). Formula ini digunakan untuk membuat list date, dimulai dari start, sebanyak count, dan dengan interval step.

Berikut penjelasan parameter yang digunakan pada formula di atas:

  • Source: mengambil nilai dari step Source yang telah didefinisikan sebelumnya sebagai tanggal awal
  • Number.From(DateTime.LocalNow()): mengubah tanggal hari ini menjadi number.
  • Number.From(Source): mengubah tanggal awal yang didefinisikan di step Source menjadi number.
  • #duration(1, 0, 0, 0): durasi 1 hari (1 hari, 0 jam, 0 menit, 0 detik).

Dengan demikian, M Code di atas bermakna: buat daftar tanggal dimulai dari tanggal awal pada step Source sampai hari ini, dengan interval 1 hari.

4. Ubah List Menjadi Tabel

Langkah berikutnya adalah mengubah list yang sudah dibuat menjadi tabel. Caranya adalah dengan klik pada step “Generate List of Dates”, kemudian ke ribbon tab Transform → To Table. Dengan transformasi ini, list tanggal yang sudah kita buat akan berubah menjadi tabel.

5. Sentuhan Akhir: Melengkapi Kolom

Langkah terakhir adalah merapikan tabel DIM Date. Ubah nama kolom List menjadi Date, kemudian tambahkan kolom-kolom pada DIM Date sesuai kebutuhan, seperti Year, Month, Day, dll.

Penutup

Itulah tadi tutorial bagaimana membuat tabel dimensi Date dengan Power Query. Dengan memiliki dimensi tanggal yang lengkap dan fleksibel, Anda dapat membangun dashboard yang lebih kuat dan kaya fitur analisis berbasis waktu. Power Query memberikan keleluasaan untuk menyesuaikan struktur dimensi sesuai kebutuhan bisnis, tanpa harus bergantung pada fitur otomatis yang terbatas.

Semoga panduan ini membantu Anda membangun fondasi data yang lebih kokoh di Power BI. Jika Anda memiliki pertanyaan atau ingin berbagi cara lain membuat dimensi tanggal, silakan tinggalkan komentar di bawah.

Posted by Arga Dinata

Halo, saya Arga Dinata, seorang Konsultan Dashboard dan Data Warehouse berpengalaman dengan fokus pada transformasi data menjadi insight yang berdampak. Beberapa proyek yang telah saya tangani mencakup pembangunan dashboard dan integrasi data untuk InJourney Aviation Service, Pelindo, Kementerian Pekerjaan Umum, PT Fajar Mas Murni, serta PT Medeq Mandiri Utama. Saya siap membantu Anda dalam implementasi Dashboard Bisnis maupun Data Warehouse. Hubungi saya di 0817-9662-311.