Mengurangi kardinalitas

Selesai

Kardinalitas adalah istilah yang digunakan untuk menggambarkan keunikan nilai dalam kolom. Kardinalitas juga digunakan dalam konteks hubungan antara dua tabel, yang menggambarkan arah hubungan.

Mengidentifikasi tingkat kardinalitas dalam kolom

Sebelumnya, saat menggunakan Editor Power Query untuk menganalisis metadata, opsi Distribusi kolom pada tab Tampilan menampilkan statistik tentang jumlah item yang berbeda dan unik di setiap kolom dalam data.

  • Hitungan nilai yang berbeda - Jumlah total nilai berbeda yang ditemukan dalam kolom tertentu.

  • Jumlah nilai unik - Jumlah total nilai yang hanya muncul sekali dalam kolom tertentu.

Cuplikan layar statistik distribusi kolom.

Kolom yang memiliki banyak nilai berulang dalam rentangnya (jumlah unik rendah) akan memiliki tingkat kardinalitas yang rendah. Sebaliknya, kolom yang memiliki banyak nilai unik dalam rentang kolom (jumlah unik tinggi) akan memiliki tingkat kardinalitas yang tinggi.

Kardinalitas yang lebih rendah menyebabkan performa yang lebih optimal, jadi Anda mungkin perlu mengurangi jumlah kolom kardinal tinggi dalam model semantik Anda.

Mengurangi kardinalitas hubungan

Saat Anda mengimpor beberapa tabel, ada kemungkinan Anda akan melakukan beberapa analisis dengan menggunakan data dari semua tabel tersebut. Hubungan antara tabel tersebut diperlukan untuk menghitung hasil secara akurat dan menampilkan informasi yang benar dalam laporan Anda. Power BI Desktop membantu mempermudah pembuatan hubungan tersebut. Bahkan, dalam kebanyakan kasus, Anda tidak perlu melakukan apa pun, fitur autodetect melakukannya untuk Anda. Namun, Terkadang Anda mungkin harus membuat hubungan atau perlu membuat perubahan pada hubungan. Terlepas dari itu, penting untuk memahami hubungan dalam Power BI Desktop dan cara membuat dan mengeditnya.

Saat membuat atau mengedit hubungan, Anda bisa mengonfigurasi opsi tambahan. Secara default, Power BI Desktop secara otomatis mengonfigurasi opsi tambahan berdasarkan tebakan terbaiknya, yang bisa berbeda untuk setiap hubungan berdasarkan data di kolom.

Hubungan dapat memiliki kardinalitas yang berbeda. Kardinalitas adalah arah hubungan, dan setiap hubungan model harus didefinisikan dengan jenis kardinalitas. Opsi kardinalitas di Power BI adalah:

  • Banyak ke satu (*:1) - Hubungan ini adalah jenis default yang paling umum. Ini berarti bahwa kolom dalam satu tabel dapat memiliki lebih dari satu contoh nilai, dan tabel terkait lainnya, yang sering dikenal sebagai tabel pencarian, hanya memiliki satu contoh nilai.

  • Satu-ke-satu (1:1) - Dalam jenis hubungan ini, kolom dalam satu tabel hanya memiliki satu contoh nilai tertentu, dan tabel terkait lainnya hanya memiliki satu contoh nilai tertentu.

  • Satu-ke-banyak (1:*) - Dalam jenis hubungan ini, kolom dalam satu tabel hanya memiliki satu contoh nilai tertentu, dan tabel terkait lainnya dapat memiliki lebih dari satu contoh nilai.

  • Banyak ke banyak (:) - Dengan model komposit, Anda dapat membuat hubungan banyak-ke-banyak antara tabel, yang menghapus persyaratan untuk nilai unik dalam tabel. Pendekatan tersebut juga menghapus solusi sebelumnya, seperti memperkenalkan tabel baru hanya untuk membangun hubungan.

Selama pengembangan, Anda membuat dan mengedit hubungan dalam model Anda, jadi ketika Anda membangun hubungan baru dalam model Anda, terlepas dari kardinalitas apa yang telah Anda pilih, selalu pastikan bahwa kedua kolom yang Anda gunakan untuk berpartisipasi dalam hubungan berbagi jenis data yang sama. Model Anda tidak akan pernah berfungsi jika Anda mencoba membangun hubungan antara dua kolom, di mana satu kolom memiliki jenis data teks dan kolom lain memiliki jenis data bilangan bulat.

Dalam contoh berikut, bidang ProductID memiliki tipe data Seluruh angka dalam tabel Produk dan Penjualan. Kolom dengan tipe data Bilangan Bulat berperforma lebih baik daripada kolom dengan tipe data Teks.

Cuplikan layar memperlihatkan cara memeriksa jenis data ProductID.

Meningkatkan performa dengan mengurangi tingkat kardinalitas

Power BI Desktop menawarkan berbagai teknik yang dapat Anda gunakan untuk membantu mengurangi data yang dimuat ke dalam model semantik, seperti ringkasan. Mengurangi data yang dimuat ke dalam model Anda akan meningkatkan kardinalitas hubungan laporan. Untuk alasan ini, penting bagi Anda untuk berusaha meminimalkan data yang akan dimuat ke dalam model Anda. Kasus ini terutama berlaku untuk model besar, atau model yang Anda antisipasi akan tumbuh menjadi besar seiring waktu.

Mungkin teknik yang paling efektif untuk mengurangi ukuran model adalah dengan menggunakan tabel ringkasan dari sumber data.  Saat tabel detail dapat berisi setiap transaksi, tabel ringkasan akan berisi satu catatan setiap hari, setiap minggu, atau setiap bulan. Misalnya, rata-rata dari semua transaksi setiap hari.

Misalnya, tabel fakta penjualan sumber menyimpan satu baris untuk setiap baris pesanan. Pengurangan data yang signifikan dapat dicapai dengan meringkas semua metrik penjualan jika Anda mengelompokkan berdasarkan tanggal, pelanggan, dan produk, dan detail transaksi individual tidak diperlukan.

Pertimbangkan bahwa pengurangan data yang lebih signifikan dapat dicapai dengan pengelompokan berdasarkan tanggal pada tingkat bulan. Ini dapat mencapai kemungkinan pengurangan 99 persen dalam ukuran model; tetapi, pelaporan pada tingkat hari atau tingkat pesanan individu tidak lagi dimungkinkan. Memutuskan untuk meringkas data jenis fakta akan selalu melibatkan tradeoff dengan detail data Anda. Kerugiannya adalah Anda mungkin kehilangan kemampuan untuk menelusuri data karena detailnya tidak ada lagi. Tradeoff ini dapat dimitigasi dengan menggunakan desain model campuran.

Dalam Power BI Desktop, desain mode Campuran menghasilkan model komposit. Pada dasarnya, ini memungkinkan Anda menentukan mode penyimpanan untuk setiap tabel. Oleh karena itu, setiap tabel dapat mengatur properti Mode Penyimpanannya sebagai Impor atau DirectQuery.

Teknik yang efektif untuk mengurangi ukuran model adalah dengan mengatur properti Mode Penyimpanan untuk tabel jenis fakta yang lebih besar ke DirectQuery. Pendekatan desain ini dapat bekerja dengan baik bersama dengan teknik yang digunakan untuk meringkas data Anda. Misalnya, data penjualan yang dirangkum dapat digunakan untuk mencapai pelaporan "ringkasan" performa tinggi. Halaman telusuri paling detail dapat dibuat untuk menampilkan penjualan terperinci untuk konteks filter tertentu (dan sempit), menampilkan semua pesanan penjualan dalam konteks. Halaman telusuri paling detail akan menyertakan visual berdasarkan tabel DirectQuery untuk mengambil data pesanan penjualan (detail pesanan penjualan).

Untuk informasi selengkapnya, lihat Teknik pengurangan data untuk Pembuatan model impor.