Bagikan melalui


Membuat tabel tanggal di Power BI Desktop

Artikel ini menjelaskan praktik desain yang baik untuk membuat tabel tanggal dalam model data Anda saat menggunakan Power BI Desktop.

Untuk bekerja dengan fungsi inteligensi waktu Data Analysis Expressions (DAX), terdapat persyaratan model prasyarat: Anda harus memiliki setidaknya satu tabel tanggal dalam model Anda. Tabel tanggal adalah tabel yang memenuhi persyaratan berikut:

  • Tabel harus memiliki kolom tanggal (atau tanggal/waktu) jenis data—yang dikenal sebagai kolom tanggal.
  • Kolom tanggal harus berisi nilai unik.
  • Kolom tanggal tidak boleh KOSONG.
  • Kolom tanggal tidak boleh memiliki tanggal yang hilang.
  • Kolom tanggal harus mencakup tahun penuh. Setahun belum tentu merupakan tahun kalender (Januari-Desember).
  • Tabel tanggal harus ditandai sebagai tabel tanggal.

Anda dapat menggunakan salah satu dari beberapa teknik untuk menambahkan tabel tanggal ke model Anda:

  • Opsi tanggal/waktu otomatis
  • Power Query untuk menyambungkan ke tabel dimensi tanggal
  • Power Query untuk membuat tabel tanggal
  • DAX untuk membuat tabel tanggal
  • DAX untuk mengkloning tabel tanggal yang sudah ada

Tip

Tabel tanggal mungkin merupakan fitur paling konsisten yang akan Anda tambahkan ke salah satu model Anda. Terlebih lagi, dalam suatu organisasi, tabel tanggal harus ditentukan secara konsisten. Jadi, teknik apa pun yang Anda putuskan untuk digunakan, kami sarankan agar Anda membuat Templat Power BI Desktop yang menyertakan tabel tanggal yang dikonfigurasi sepenuhnya. Bagikan templat dengan semua pemodel di organisasi Anda. Jadi, setiap kali seseorang mengembangkan model baru, mereka dapat memulai dengan tabel tanggal yang ditentukan secara konsisten.

Menggunakan Tanggal/waktu otomatis

Opsi Tanggal/waktu otomatis memberikan inteligensi waktu yang nyaman, cepat, dan mudah digunakan. Penulis laporan dapat bekerja dengan kecerdasan waktu saat memfilter, mengelompokkan, dan menelusuri periode waktu kalender.

Sebaiknya Anda mengaktifkan opsi Tanggal/waktu otomatis hanya saat Anda bekerja dengan periode waktu kalender, dan ketika Anda memiliki persyaratan model yang sederhana yang menyangkut waktu. Menggunakan opsi ini juga dapat memudahkan saat membuat model ad hoc atau melakukan eksplorasi atau pembuatan profil data. Namun, pendekatan ini tidak mendukung desain tabel tanggal tunggal yang dapat menyebarkan filter ke beberapa tabel. Untuk informasi selengkapnya, lihat Panduan tanggal/waktu otomatis di Power BI Desktop.

Tersambung dengan Power Query

Saat sumber data Anda sudah memiliki tabel tanggal, sebaiknya Anda menggunakannya sebagai sumber tabel tanggal model Anda. Biasanya terjadi ketika Anda tersambung ke gudang data, karena akan memiliki tabel dimensi tanggal. Dengan cara ini, model Anda memanfaatkan satu sumber kebenaran untuk waktu di organisasi Anda.

Jika Anda mengembangkan model DirectQuery dan sumber data Anda tidak menyertakan tabel tanggal, kami sangat menyarankan agar Anda menambahkan tabel tanggal ke sumber data. Tabel tanggal harus memenuhi semua persyaratan pemodelan tabel tanggal. Anda kemudian dapat menggunakan Power Query untuk menyambungkan ke tabel tanggal. Dengan cara ini, perhitungan model Anda dapat memanfaatkan kemampuan inteligensi waktu DAX.

Membuat dengan Power Query

Anda dapat membuat tabel tanggal menggunakan Power Query. Untuk informasi selengkapnya, lihat entri blog Chris Webb Menghasilkan Tabel Dimensi Tanggal Di Power Query.

Tip

Jika Anda tidak memiliki gudang data atau definisi waktu yang konsisten lainnya di organisasi Anda, pertimbangkan untuk menggunakan Power Query untuk menerbitkan aliran data. Kemudian, minta semua pemodel data terhubung ke aliran data untuk menambahkan tabel tanggal ke model mereka. Aliran data menjadi sumber satu-satunya sumber kebenaran untuk waktu di organisasi Anda.

Jika Anda perlu membuat tabel tanggal, pertimbangkan untuk melakukannya dengan DAX. Anda mungkin merasa lebih mudah. Terlebih lagi, kemungkinan akan lebih nyaman, karena DAX menyertakan beberapa kecerdasan bawaan untuk menyederhanakan pembuatan dan pengelolaan tabel tanggal.

Membuat dengan DAX

Anda dapat membuat tabel tanggal dalam model Anda dengan membuat tabel terhitung menggunakan fungsi CALENDAR atau CALENDARAUTO DAX. Setiap fungsi mengembalikan tabel tanggal satu kolom. Anda kemudian dapat memperluas tabel terhitung dengan kolom terhitung untuk mendukung persyaratan pemfilteran dan pengelompokan interval tanggal Anda.

  • Gunakan fungsi CALENDAR saat Anda ingin menentukan rentang tanggal. Anda meneruskan dua nilai: tanggal mulai dan tanggal selesai. Nilai-nilai ini dapat ditentukan oleh fungsi DAX lainnya, seperti MIN(Sales[OrderDate]) atau MAX(Sales[OrderDate]).
  • Gunakan fungsi CALENDARAUTO saat Anda ingin rentang tanggal secara otomatis mencakup semua tanggal yang disimpan dalam model. Anda dapat meneruskan satu parameter opsional yang merupakan bulan akhir tahun (jika tahun Anda adalah tahun kalender, yang berakhir pada bulan Desember, Anda tidak perlu meneruskan nilai). Ini adalah fungsi yang berguna, karena memastikan bahwa tahun penuh tanggal dikembalikan—ini adalah persyaratan untuk tabel tanggal yang ditandai. Terlebih lagi, Anda tidak perlu mengelola perluasan tabel ke tahun-tahun mendatang: Saat refresh data selesai, itu memicu penghasilan ulang tabel. Perhitungan ulang akan secara otomatis memperpanjang rentang tanggal tabel saat tanggal untuk tahun baru dimuat ke dalam model.

Tip

Untuk informasi selengkapnya tentang membuat tabel terhitung, termasuk contoh cara membuat tabel tanggal, lakukan modul pembelajaran Tambahkan tabel dan kolom terhitung ke model Power BI Desktop.

Mengkloning dengan DAX

Ketika model Anda sudah memiliki tabel tanggal dan memerlukan tabel tanggal tambahan, Anda dapat dengan mudah mengkloning tabel tanggal yang ada. Ini adalah kasus ketika tanggal adalah dimensi bermain peran. Anda dapat mengkloning tabel dengan membuat tabel terhitung. Ekspresi tabel terhitung hanyalah nama tabel tanggal yang ada.

Untuk informasi selengkapnya tentang dokumen resmi ini, lihat sumber daya berikut: