Membuat dan mengelola hubungan di Power BI Desktop

Ketika Anda memiliki beberapa tabel, kemungkinan Anda akan melakukan beberapa analisis menggunakan data dari semua tabel tersebut. Hubungan antara tabel tersebut diperlukan untuk menghitung hasil secara akurat dan menampilkan informasi yang benar dalam laporan Anda. Dalam kebanyakan kasus, Anda tidak perlu melakukan apa-apa. Fitur autodetect melakukannya untuk Anda. Namun, terkadang Anda mungkin harus membuat hubungan sendiri, atau perlu membuat perubahan pada hubungan. Bagaimanapun, penting untuk memahami hubungan dalam Power BI Desktop dan cara membuat dan mengeditnya.

Deteksi otomatis selama pemuatan

Jika Anda mengkueri dua tabel atau lebih secara bersamaan, saat data dimuat, Power BI Desktop mencoba menemukan dan membuat hubungan untuk Anda. Opsi hubungan Kardinalitas, Arah filter silang, dan Buat hubungan ini aktif secara otomatis diatur. Power BI Desktop melihat nama kolom dalam tabel yang Anda kueri untuk menentukan apakah ada potensi hubungan. Jika ada, hubungan tersebut dibuat secara otomatis. Jika Power BI Desktop tidak dapat menentukan dengan tingkat kepercayaan diri yang tinggi ada kecocokan, itu tidak akan menciptakan hubungan. Namun, Anda masih bisa menggunakan kotak dialog Kelola hubungan untuk membuat atau mengedit hubungan secara manual.

Membuat hubungan dengan deteksi otomatis

Di tab Pemodelan, pilih Kelola hubungan>Deteksi otomatis.

Animation showing how to create a relationship with autodetect.

Membuat hubungan secara manual

  1. Di tab Pemodelan, pilih Kelola hubungan>Baru.

  2. Di kotak dialog Buat hubungan, di daftar drop-down tabel pertama, pilih tabel. Pilih kolom yang ingin Anda gunakan dalam hubungan.

  3. Di daftar drop-down tabel kedua, pilih tabel lain yang Anda inginkan dalam hubungan. Pilih kolom lain yang ingin Anda gunakan, lalu pilih OK.

    Animation showing how to create a manual relationship.

Secara default, Power BI Desktop secara otomatis mengonfigurasi opsi Kardinalitas (arah), Arah filter silang, dan Buat hubungan ini aktif untuk hubungan baru Anda. Namun, Anda dapat mengubah pengaturan ini jika perlu. Untuk informasi selengkapnya, lihat Memahami opsi tambahan.

Jika tidak ada tabel yang dipilih untuk hubungan yang memiliki nilai unik, Anda akan melihat kesalahan berikut: Salah satu kolom harus memiliki nilai unik. Setidaknya satu tabel dalam hubungan harus memiliki daftar nilai kunci yang berbeda dan unik, yang merupakan persyaratan umum untuk semua teknologi database relasional.

Jika Anda mengalami kesalahan tersebut, ada beberapa cara untuk memperbaiki masalah:

  • Gunakan Hapus Duplikat untuk membuat kolom dengan nilai unik. Kelemahan pendekatan ini adalah Anda mungkin kehilangan informasi saat baris duplikat dihapus. Seringkali kunci (baris) diduplikasi karena alasan yang baik.
  • Tambahkan tabel perantara yang terbuat dari daftar nilai kunci yang berbeda ke model, yang kemudian akan ditautkan ke kedua kolom asli dalam hubungan.

Untuk informasi selengkapnya, lihat posting blog ini.

Atau, dalam tata letak diagram tampilan Model, Anda dapat menyeret dan meletakkan kolom dari satu tabel ke kolom di tabel lain untuk membuat hubungan.

Mengedit hubungan

Ada dua cara untuk mengedit hubungan di Power BI.

Metode pertama untuk mengedit hubungan menggunakan hubungan Pengeditan di panel Properti dalam tampilan Model, di mana Anda bisa memilih baris apa pun di antara dua tabel untuk melihat opsi hubungan di panel Properti. Pastikan untuk memperluas panel Properti untuk melihat opsi hubungan.

Screenshot of adjusting relationships in the properties pane.

Anda juga dapat melihat demonstrasi video hubungan pengeditan di panel Properti .

Metode lain untuk mengedit hubungan menggunakan dialog Editor hubungan, yang bisa Anda buka dari dalam Power BI Desktop. Daftar berikut ini memperlihatkan berbagai cara untuk membuka dialog Editor hubungan:

Dari tampilan Laporan lakukan salah satu hal berikut ini:

  • Pilih pita Pemodelan> Kelola hubungan, lalu pilih hubungan dan pilih Edit.
  • Pilih tabel di daftar Bidang lalu pilih pita >Alat tabel Kelola hubungan, lalu pilih hubungan lalu pilih Edit.

Dari tampilan Data, pilih pita >Alat tabel Kelola hubungan, lalu pilih hubungan lalu pilih Edit.

Dari tampilan Model lakukan salah satu hal berikut ini:

  • Pilih pita> Beranda Kelola hubungan, lalu pilih hubungan lalu pilih Edit.
  • Klik dua kali garis mana pun di antara dua tabel.
  • Klik kanan baris apa pun di antara dua tabel lalu pilih Properti.
  • Pilih baris apa pun di antara dua tabel, lalu pilih Buka editor hubungan di panel Properti .

Terakhir, Anda juga dapat mengedit hubungan dari tampilan apa pun, mengklik kanan atau memilih elipsis untuk masuk ke menu konteks tabel apa pun, lalu pilih Kelola hubungan, pilih hubungan lalu pilih Edit

Gambar berikut menunjukkan cuplikan layar jendela Edit hubungan .

Screenshot of the edit relationship window.

Mengedit hubungan menggunakan metode yang berbeda

Menggunakan dialog Edit hubungan adalah pengalaman yang lebih terpandu untuk mengedit hubungan di Power BI, dan saat ini sedang dalam pratinjau. Anda dapat melihat pratinjau data di setiap tabel. Saat Anda memilih kolom yang berbeda, jendela secara otomatis memvalidasi hubungan dan menawarkan pilihan kardinalitas dan filter silang yang sesuai.

Mengedit hubungan di panel Properti adalah pendekatan yang disederhanakan untuk mengedit hubungan di Power BI. Anda hanya melihat nama tabel dan kolom yang bisa Anda pilih, Anda tidak disajikan dengan pratinjau data, dan pilihan hubungan yang Anda buat hanya divalidasi saat Anda memilih Terapkan perubahan. Menggunakan panel Properti dan pendekatan yang disederhanakan mengurangi jumlah kueri yang dihasilkan saat mengedit hubungan, yang mungkin penting untuk skenario big data, terutama saat menggunakan koneksi DirectQuery. Hubungan yang dibuat menggunakan panel Properti juga bisa lebih canggih daripada hubungan yang diizinkan untuk dibuat dalam dialog Edit hubungan.

Anda juga dapat memilih beberapa hubungan dalam tata letak diagram tampilan Model dengan menekan tombol Ctrl dan memilih lebih dari satu baris untuk memilih beberapa hubungan. Properti umum dapat diedit di panel Properti dan Terapkan perubahan akan memproses perubahan dalam satu transaksi.

Hubungan tunggal atau multi-terpilih juga dapat dihapus dengan menekan Hapus pada keyboard Anda. Anda tidak dapat membatalkan tindakan penghapusan, sehingga dialog meminta Anda untuk mengonfirmasi penghapusan hubungan.

Penting

Mengedit hubungan di fitur panel properti saat ini dalam pratinjau. Saat dalam pratinjau, fungsionalitas dan dokumentasi cenderung berubah. Anda harus mengaktifkan fitur ini di Power BI Desktop dengan masuk ke Opsi File > dan pengaturan > Fitur Pratinjau Opsi > lalu di bagian GLOBAL, pilih kotak centang di samping panel Hubungan.

Mengonfigurasi opsi lainnya

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

Kardinalitas

Opsi Kardinalitas dapat memiliki salah satu pengaturan berikut:

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

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

Satu ke banyak (1): Dalam hubungan satu-ke-banyak, kolom dalam satu tabel hanya memiliki satu instans nilai tertentu, dan tabel terkait lainnya memiliki lebih dari satu instans 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. Untuk informasi selengkapnya, lihat Hubungan dengan kardinalitas banyak-banyak.

Untuk informasi selengkapnya tentang kapan harus mengubah kardinalitas, lihat Memahami opsi tambahan.

Arah filter silang

Opsi Arah filter silang dapat memiliki salah satu pengaturan berikut:

Keduanya: Untuk tujuan pemfilteran, kedua tabel diperlakukan seolah-olah tabel tersebut adalah tabel tunggal. Pengaturan Keduanya berfungsi baik dengan satu tabel yang memiliki banyak tabel pencarian yang mengelilinginya. Contohnya adalah tabel penjualan aktual dengan tabel pencarian untuk departemennya. Konfigurasi ini sering disebut konfigurasi skema bintang (tabel pusat dengan beberapa tabel pencarian). Namun, jika Anda memiliki dua tabel atau lebih yang juga memiliki tabel pencarian (dengan beberapa kesamaan), Anda tidak akan menggunakan pengaturan Keduanya. Untuk melanjutkan contoh sebelumnya, dalam hal ini, Anda juga memiliki tabel penjualan anggaran yang mencatat anggaran target untuk setiap departemen. Dan, tabel departemen terhubung ke tabel penjualan dan anggaran. Hindari pengaturan Keduanya untuk konfigurasi semacam ini.

Tunggal: Arah default yang paling umum, yang berarti pilihan pemfilteran dalam tabel tersambung berfungsi pada tabel tempat nilai digabungkan. Jika Anda mengimpor Power Pivot di Excel 2013 atau model data yang lebih lama, semua hubungan akan memiliki satu arah.

Untuk informasi selengkapnya tentang kapan harus mengubah arah filter silang, lihat Memahami opsi tambahan.

Membuat hubungan ini aktif

Saat dicentang, hubungan berfungsi sebagai hubungan default aktif. Dalam kasus di mana ada lebih dari satu hubungan antara dua tabel, hubungan aktif menyediakan cara bagi Power BI Desktop untuk membuat visualisasi secara otomatis yang menyertakan kedua tabel.

Untuk informasi selengkapnya tentang kapan membuat hubungan tertentu aktif, lihat Memahami opsi tambahan.

Memahami hubungan

Setelah menyambungkan dua tabel bersama dengan hubungan, Anda bisa bekerja dengan data di kedua tabel seolah-olah tabel tersebut adalah satu tabel. Anda kemudian bebas dari harus khawatir tentang detail hubungan atau meratakan tabel tersebut ke dalam satu tabel sebelum mengimpornya. Dalam banyak situasi, Power BI Desktop dapat secara otomatis membuat hubungan untuk Anda. Namun, jika Power BI Desktop tidak dapat menentukan dengan tingkat kepastian tinggi bahwa hubungan antara dua tabel harus ada, itu tidak secara otomatis membuat hubungan. Dalam hal ini, Anda harus melakukannya.

Mari kita melalui tutorial cepat, untuk menunjukkan lebih baik kepada Anda bagaimana hubungan bekerja di Power BI Desktop.

Tip

Anda dapat menyelesaikan pelajaran ini sendiri:

  1. Salin tabel ProjectHours berikut ini ke dalam lembar kerja Excel (tidak termasuk judul), pilih semua sel, lalu pilih Sisipkan>Tabel.
  2. Di kotak dialog Buat tabel, pilih OK.
  3. Pilih sel tabel apa pun, pilih Desain Tabel>Nama Tabel, lalu masukkan ProjectHours.
  4. Lakukan hal yang sama untuk tabel CompanyProject.
  5. Impor data menggunakan Get Data di Power BI Desktop. Pilih dua tabel sebagai sumber data, lalu pilih Muat.

Tabel pertama, ProjectHours, adalah catatan tiket kerja yang mencatat jumlah jam yang telah dikerjakan seseorang pada proyek tertentu.

ProjectHours

Tiket SubmittedBy Jam Proyek DateSubmit
1001 Brewer, Alan 22 Biru 1/1/2013
1002 Brewer, Alan 26 Merah 2/1/2013
1003 Ito, Shu 34 Kuning 12/4/2012
1004 Brewer, Alan 13 Orange 1/2/2012
1005 Bowen, Eli 29 Ungu 10/1/2013
1006 Bento, Nuno 35 Hijau 2/1/2013
1007 Hamilton, David 10 Kuning 10/1/2013
1008 Han, Mu 28 Orange 1/2/2012
1009 Ito, Shu 22 Ungu 2/1/2013
1010 Bowen, Eli 28 Hijau 10/1/2013
1011 Bowen, Eli 9 Biru 10/15/2013

Tabel kedua ini, CompanyProject, adalah daftar proyek dengan prioritas yang ditetapkan: A, B, atau C.

CompanyProject

ProjName Prioritas
Biru A
Merah B
Hijau C
Kuning C
Ungu B
Orange C

Perhatikan bahwa setiap tabel memiliki kolom proyek. Masing-masing diberi nama sedikit berbeda, tetapi nilainya terlihat sama. Perbedaan itu penting, dan kita akan segera kembali.

Sekarang setelah kita memiliki dua tabel yang diimpor ke dalam model, mari kita buat laporan. Hal pertama yang ingin kita dapatkan adalah jumlah jam yang dikirim prioritas proyek, jadi kita memilih Prioritas dan Jam dari panel Bidang.

Screenshot of the Priority and Hours fields selected from the Fields pane.

Jika kita melihat tabel di kanvas laporan, Anda akan melihat jumlah jam adalah 256 untuk setiap proyek, yang juga merupakan totalnya. Jelas angka ini tidak benar. Mengapa? Ini karena kita tidak dapat menghitung jumlah total nilai dari satu tabel (Hours dalam tabel Project), diiris oleh nilai dalam tabel lain (Priority dalam tabel CompanyProject) tanpa hubungan antara kedua tabel ini.

Jadi, mari kita buat hubungan antara kedua tabel ini.

Ingat kolom yang kita lihat di kedua tabel dengan nama proyek, tetapi dengan nilai yang terlihat sama? Kita akan menggunakan kedua kolom ini untuk membuat hubungan antara tabel kita.

Mengapa kolom ini? Nah, jika kita melihat kolom Project dalam tabel ProjectHours, kita melihat nilai seperti Biru, Merah, Kuning, Oranye, dan sebagainya. Bahkan, kita melihat beberapa baris yang memiliki nilai yang sama. Akibatnya, kita memiliki banyak nilai warna untuk Project.

Jika kita melihat kolom ProjName dalam tabel CompanyProject, kita melihat hanya ada satu dari setiap nilai warna untuk nama proyek. Setiap nilai warna dalam tabel ini unik, dan itu penting, karena kita dapat membuat hubungan antara kedua tabel ini. Dalam hal ini, hubungan banyak-ke-satu. Dalam hubungan banyak-ke-satu, setidaknya satu kolom dalam salah satu tabel harus berisi nilai unik. Ada beberapa opsi lagi untuk beberapa hubungan, yang akan kita lihat nanti. Untuk saat ini, mari kita buat hubungan antara kolom proyek di masing-masing dari kedua tabel kita.

Untuk membuat hubungan baru

  1. Pilih Kelola hubungan dari tab Pemodelan.

  2. Di Kelola hubungan, pilih Baru untuk membuka kotak dialog Buat hubungan , di mana kita bisa memilih tabel, kolom, dan pengaturan lain yang kita inginkan untuk hubungan kita.

  3. Di daftar drop-down pertama, pilih ProjectHours sebagai tabel pertama, lalu pilih kolom Project. Sisi ini adalah banyak sisi dari hubungan kita.

  4. Di daftar drop-down kedua, CompanyProject telah dipilih sebagai tabel kedua. Pilih kolom ProjName. Sisi ini adalah salah satu sisi dari hubungan kita.

  5. Terima default untuk opsi hubungan, lalu pilih OK.

    Screenshot of the Create relationship dialog box.

  6. Di kotak dialog Kelola hubungan, pilih Tutup.

Demi pengungkapan penuh, Anda baru saja menciptakan hubungan ini dengan cara yang sulit. Anda bisa memilih Autodetect dalam kotak dialog Kelola hubungan . Bahkan, deteksi otomatis akan secara otomatis membuat hubungan untuk Anda saat memuat data jika kedua kolom memiliki nama yang sama.

Sekarang, mari kita lihat tabel di kanvas laporan kita lagi.

Screenshot of the Priority and Hours fields selected from the Fields pane with new relationship.

Itu terlihat jauh lebih baik, bukan?

Ketika kita menjumlahkan jam berdasarkan Priority, Power BI Desktop mencari setiap instans nilai warna unik dalam tabel pencarian CompanyProject, mencari setiap instans dari setiap nilai tersebut dalam tabel ProjectHours, lalu menghitung jumlah total untuk setiap nilai unik.

Dengan autodetect, Anda bahkan mungkin tidak perlu melakukan sebanyak itu.

Memahami opsi tambahan

Saat hubungan dibuat, baik dengan deteksi otomatis atau yang Anda buat secara manual, Power BI Desktop secara otomatis mengonfigurasi opsi tambahan berdasarkan data dalam tabel Anda. Opsi hubungan tambahan ini terletak di bagian bawah kotak dialog Create relationships dan Edit relationships.

Screenshot of the lower portion of the Create relationship dialog box showing Cardinality and Cross filter direction options.

Power BI biasanya mengatur opsi ini secara otomatis dan Anda tidak perlu menyesuaikannya. Tetapi ada beberapa situasi di mana Anda mungkin ingin mengonfigurasi opsi ini sendiri.

Pembaruan hubungan otomatis

Anda dapat mengelola bagaimana Power BI memperlakukan dan secara otomatis menyesuaikan hubungan dalam laporan dan model Anda. Untuk menentukan bagaimana Power BI menangani opsi hubungan, pilih File>Opsi dan pengaturan>Opsi dari Power BI Desktop, lalu pilih Muatan Data di panel sebelah kiri. Opsi untuk Hubungan muncul.

Screenshot of the Options box showing the Relationships settings in the Data Load tab.

Ada tiga opsi yang dapat dipilih dan diaktifkan:

  • Impor hubungan dari sumber data di pemuatan pertama: Opsi ini dipilih secara default. Saat dipilih, Power BI memeriksa hubungan yang ditentukan dalam sumber data Anda, seperti hubungan kunci asing/kunci primer di gudang data Anda. Jika ada hubungan tersebut, hubungan tersebut dicerminkan ke dalam model data Power BI saat Anda pertama kali memuat data. Opsi ini memungkinkan Anda mulai mengerjakan model dengan cepat, daripada mengharuskan Anda menemukan atau menentukan hubungan tersebut sendiri.

  • Perbarui atau hapus hubungan saat me-refresh data: Opsi ini tidak dipilih secara default. Jika Anda memilihnya, Power BI memeriksa perubahan dalam hubungan sumber data saat model semantik Anda di-refresh. Jika hubungan tersebut berubah atau dihapus, Power BI mencerminkan perubahan tersebut dalam model datanya sendiri, memperbarui atau menghapusnya agar cocok.

    Peringatan

    Jika Anda menggunakan keamanan tingkat baris yang bergantung pada hubungan yang ditentukan, sebaiknya tidak memilih opsi ini. Jika Anda menghapus hubungan yang diandalkan pengaturan RLS, model Anda mungkin menjadi kurang aman.

  • Deteksi otomatis hubungan baru setelah data dimuat: Pilihan ini dijelaskan di Deteksi otomatis selama pemuatan.

Pembaruan data di masa mendatang memerlukan kardinalitas yang berbeda

Biasanya, Power BI Desktop dapat secara otomatis menentukan kardinalitas terbaik untuk hubungan tersebut. Jika Anda perlu mengambil alih pengaturan otomatis, karena Anda tahu data akan berubah di masa mendatang, Anda dapat mengubahnya dengan kontrol Kardinalitas. Mari kita lihat contoh di mana kita perlu memilih kardinalitas yang berbeda.

Tabel CompanyProjectPriority adalah daftar semua proyek perusahaan dan prioritasnya. Tabel ProjectBudget adalah sekumpulan proyek yang anggarannya telah disetujui.

CompanyProjectPriority

ProjName Prioritas
Biru A
Merah B
Hijau C
Kuning C
Ungu B
Orange C

ProjectBudget

Proyek yang Disetujui BudgetAllocation AllocationDate
Biru 40.000 12/1/2012
Merah 100.000 12/1/2012
Hijau 50.000 12/1/2012

Jika kita membuat hubungan antara kolom Proyek yang Disetujui di tabel ProjectBudget dan kolom ProjectName di tabel CompanyProjectPriority, Power BI secara otomatis mengatur Kardinalitas ke Satu ke satu (1:1) dan Arah filter silang ke Keduanya.

Screenshot of the Create relationship dialog box with Cardinality to One to one (1:1) and Cross filter direction to Both.

Alasan Power BI membuat pengaturan ini adalah karena, untuk Power BI Desktop, kombinasi terbaik dari dua tabel adalah sebagai berikut:

ProjName Prioritas BudgetAllocation AllocationDate
Biru A 40.000 12/1/2012
Merah B 100.000 12/1/2012
Hijau C 50.000 12/1/2012
Kuning C

Ungu B

Orange C

Ada hubungan satu-ke-satu antara dua tabel kami karena tidak ada nilai berulang di kolom ProjName tabel gabungan. Kolom ProjName unik, karena setiap nilai hanya terjadi sekali; oleh karena itu, baris dari dua tabel dapat digabungkan secara langsung tanpa duplikasi apa pun.

Tetapi, anggap saja Anda tahu bahwa data akan berubah saat Anda me-refreshnya lagi. Versi tabel ProjectBudget yang di-refresh sekarang memiliki baris tambahan untuk proyek Biru dan Merah:

ProjectBudget

Proyek yang Disetujui BudgetAllocation AllocationDate
Biru 40.000 12/1/2012
Merah 100.000 12/1/2012
Hijau 50.000 12/1/2012
Biru 80.000 6/1/2013
Merah 90.000 6/1/2013

Baris tambahan ini berarti kombinasi terbaik dari dua tabel sekarang terlihat seperti ini:

ProjName Prioritas BudgetAllocation AllocationDate
Biru A 40.000 12/1/2012
Merah B 100.000 12/1/2012
Hijau C 50.000 12/1/2012
Kuning C

Ungu B

Orange C

Biru A 80000 6/1/2013
Merah B 90000 6/1/2013

Dalam tabel gabungan baru ini, kolom ProjName memiliki nilai berulang. Dua tabel asli tidak akan memiliki hubungan satu-ke-satu setelah tabel di-refresh. Dalam hal ini, karena kita tahu pembaruan di masa mendatang akan menyebabkan kolom ProjName memiliki duplikat, kita ingin mengatur Kardinalitas menjadi Banyak ke satu (*:1), dengan banyak sisi di ProjectBudget dan satu sisi di CompanyProjectPriority.

Menyesuaikan arah filter Silang untuk sekumpulan tabel dan hubungan yang kompleks

Untuk sebagian besar hubungan, arah filter silang diatur ke Keduanya. Namun, ada beberapa keadaan yang lebih jarang di mana Anda mungkin perlu mengatur opsi ini secara berbeda dari default. Salah satu contohnya adalah jika Anda mengimpor model dari versi Power Pivot yang lebih lama, di mana setiap hubungan diatur ke satu arah.

Pengaturan Keduanya memungkinkan Power BI Desktop untuk memperlakukan semua aspek tabel yang terhubung seolah-olah keduanya adalah tabel tunggal. Namun, ada beberapa situasi di mana Power BI Desktop tidak dapat mengatur arah filter silang hubungan ke Keduanya dan menyediakan serangkaian default yang jelas untuk tujuan pelaporan. Jika arah filter silang hubungan tidak diatur ke Keduanya, biasanya hal itu karena akan menimbulkan ambiguitas. Jika pengaturan filter silang default tidak berfungsi untuk Anda, coba atur ke tabel tertentu atau ke Keduanya.

Pemfilteran silang satu arah berfungsi untuk banyak situasi. Bahkan, jika Anda telah mengimpor model dari Power Pivot di Excel 2013 atau yang lebih lama, semua hubungan akan diatur ke satu arah. Arah tunggal berarti bahwa pemfilteran pilihan dalam tabel tersambung berfungsi pada tabel tempat pekerjaan agregasi terjadi. Terkadang, memahami pemfilteran silang bisa sedikit sulit, jadi mari kita lihat contohnya.

Dengan pemfilteran silang satu arah, jika Anda membuat laporan yang meringkas jam proyek, Anda kemudian dapat memilih untuk meringkas (atau memfilter) menurut tabel CompanyProject dan kolom Prioritas atau tabel CompanyEmployee dan kolom Kota. Namun, jika Anda ingin menghitung jumlah karyawan per proyek (pertanyaan yang kurang umum), itu tidak akan berhasil. Anda akan mendapatkan kolom nilai yang semuanya sama. Dalam contoh berikut, kedua arah pemfilteran silang hubungan diatur ke satu arah: menuju tabel ProjectHours. Di sumber Nilai, bidang Proyek diatur ke Jumlah:

Screenshot of the visualization tab used with the Employee and Project fields.

Spesifikasi filter akan mengalir dari CompanyProject ke ProjectHours (seperti yang ditunjukkan pada gambar berikut), tetapi tidak akan mengalir ke CompanyEmployee.

Diagram of a cross filtering example with flow from CompanyProject to ProjectHours.

Namun, jika Anda mengatur arah pemfilteran silang ke Keduanya, itu akan berfungsi. Pengaturan Keduanya memungkinkan spesifikasi filter mengalir hingga CompanyEmployee.

Diagram of a cross filtering example with flow both ways

Dengan arah pemfilteran silang diatur ke Keduanya, laporan kita sekarang tampak benar:

Screenshot of cross filtering direction set to Both.

Pemfilteran silang kedua arah berfungsi dengan baik untuk pola hubungan tabel seperti pola yang ditunjukkan sebelumnya. Skema ini paling sering disebut skema bintang, seperti ini:

Diagram of cross filtering both directions in star schema.

Arah pemfilteran silang tidak berfungsi dengan baik dengan pola yang lebih umum sering ditemukan dalam database, seperti dalam diagram ini:

Diagram of cross filtering in both directions on a database pattern.

Jika Anda memiliki pola tabel seperti ini, dengan perulangan, maka pemfilteran silang dapat membuat serangkaian hubungan yang ambigu. Misalnya, jika Anda menjumlahkan bidang dari TableX lalu memilih untuk memfilter menurut bidang di TableY, maka tidak jelas bagaimana filter harus berjalan, melalui tabel atas atau tabel bawah. Contoh umum dari pola semacam ini adalah dengan TableX sebagai tabel penjualan dengan data aktual dan agar TableY menjadi data anggaran. Kemudian, tabel di tengah adalah tabel pencarian yang digunakan kedua tabel, seperti divisi atau wilayah.

Seperti halnya hubungan aktif/tidak aktif, Power BI Desktop tidak akan mengizinkan hubungan diatur ke Keduanya jika akan membuat ambiguitas dalam laporan. Ada beberapa cara berbeda untuk menangani situasi ini. Berikut adalah parameter yang paling umum:

  • Hapus atau tandai hubungan sebagai tidak aktif untuk mengurangi ambiguitas. Kemudian, Anda mungkin dapat mengatur pemfilteran silang hubungan sebagai Keduanya.
  • Masukkan tabel dua kali (dengan nama yang berbeda untuk kedua kalinya) untuk menghilangkan perulangan. Melakukannya membuat pola hubungan seperti skema bintang. Dengan skema bintang, semua hubungan dapat diatur ke Keduanya.

Hubungan aktif yang salah

Saat Power BI Desktop secara otomatis membuat hubungan, terkadang lebih dari satu hubungan antara dua tabel ditemukan. Ketika situasi ini terjadi, hanya salah satu hubungan yang diatur menjadi aktif. Hubungan aktif berfungsi sebagai hubungan default, sehingga saat Anda memilih bidang dari dua tabel yang berbeda, Power BI Desktop dapat secara otomatis membuat visualisasi untuk Anda. Namun, dalam beberapa kasus hubungan yang dipilih secara otomatis bisa salah. Gunakan kotak dialog Kelola hubungan untuk mengatur hubungan sebagai aktif atau tidak aktif, atau atur hubungan aktif di kotak dialog Edit hubungan.

Untuk memastikan ada hubungan default, Power BI Desktop hanya mengizinkan satu hubungan aktif antara dua tabel pada waktu tertentu. Oleh karena itu, Anda harus terlebih dahulu mengatur hubungan saat ini sebagai tidak aktif dan kemudian mengatur hubungan yang ingin Anda aktifkan.

Mari kita lihat contohnya. Tabel pertama adalah ProjectTickets, dan tabel kedua adalah EmployeeRole.

ProjectTickets

Tiket OpenedBy SubmittedBy Jam Proyek DateSubmit
1001 Perham, Tom Brewer, Alan 22 Biru 1/1/2013
1002 Roman, Daniel Brewer, Alan 26 Merah 2/1/2013
1003 Roth, Daniel Ito, Shu 34 Kuning 12/4/2012
1004 Perham, Tom Brewer, Alan 13 Orange 1/2/2012
1005 Roman, Daniel Bowen, Eli 29 Ungu 10/1/2013
1006 Roth, Daniel Bento, Nuno 35 Hijau 2/1/2013
1007 Roth, Daniel Hamilton, David 10 Kuning 10/1/2013
1008 Perham, Tom Han, Mu 28 Orange 1/2/2012
1009 Roman, Daniel Ito, Shu 22 Ungu 2/1/2013
1010 Roth, Daniel Bowen, Eli 28 Hijau 10/1/2013
1011 Perham, Tom Bowen, Eli 9 Biru 10/15/2013

EmployeeRole

Karyawan Peran
Bento, Nuno Manajer Proyek
Bowen, Eli Pemimpin Proyek
Brewer, Alan Manajer Proyek
Hamilton, David Pemimpin Proyek
Han, Mu Pemimpin Proyek
Ito, Shu Pemimpin Proyek
Perham, Tom Sponsor Proyek
Roman, Daniel Sponsor Proyek
Roth, Daniel Sponsor Proyek

Sebenarnya ada dua hubungan di sini:

  • Antara Karyawan di tabel EmployeeRole dan SubmittedBy di tabel ProjectTickets.
  • Antara OpenedBy di tabel ProjectTickets dan Employee di tabel EmployeeRole.

Screenshot of a two-relationship example.

Jika kita menambahkan kedua hubungan ke model (OpenedBy terlebih dahulu), kotak dialog Kelola hubungan memperlihatkan bahwa OpenedBy aktif:

Screenshot of a OpenedBy active in the Manage relationships dialog box.

Sekarang, jika kita membuat laporan yang menggunakan bidang Peran dan Karyawan dari EmployeeRole, dan bidang Jam dari ProjectTickets dalam visualisasi tabel di kanvas laporan, kita hanya melihat sponsor proyek karena mereka satu-satunya yang membuka tiket proyek.

Screenshot shows the Employee, Role, and Hours fields selected.

Kita dapat mengubah hubungan aktif dan mendapatkan SubmittedBy alih-alih OpenedBy. Di Kelola hubungan, hapus centang hubungan ProjectTickets(OpenedBy) ke EmployeeRole(Employee), lalu periksa hubungan EmployeeRole(Employee) ke Project Tickets(SubmittedBy).

Screenshot of changing the active relationship in the Manage relationship dialog box.

Melihat semua hubungan Anda dalam tampilan Hubungan

Terkadang model Anda memiliki beberapa tabel dan hubungan kompleks di antaranya. Tampilan Hubungan di Power BI Desktop menunjukkan semua hubungan dalam model, arah, dan kardinalitas Anda dalam diagram yang mudah dipahami dan dapat disesuaikan.

Untuk mempelajari selengkapnya, lihat Menggunakan tampilan Hubungan di Power BI Desktop.

Pemecahan Masalah

Bagian ini menyediakan panduan dan informasi pemecahan masalah saat menggunakan hubungan di Power BI.

Hubungan antar bidang tidak dapat ditentukan

Power BI mencoba menampilkan data yang relevan dalam visual dengan menyimpulkan hubungan dari model yang digunakan. Terkadang inferensi seperti itu tidak jelas, dan Anda mungkin terkejut melihat kesalahan dalam visual Anda, menunjukkan tidak ada hubungan antara kolom tertentu.

Untuk menjelaskan bagaimana Power BI menentukan apakah bidang terkait, mari kita gunakan model contoh untuk mengilustrasikan beberapa skenario di bagian berikut. Gambar berikut menunjukkan model sampel yang akan kita gunakan dalam contoh skenario.

Screenshot of a sample model used in troubleshooting scenarios.

Skenario 1: Skema bintang tradisional dan tidak ada batasan ukuran yang disediakan. Mengacu pada model sampel pada gambar sebelumnya, mari kita lihat terlebih dahulu di bagian kanan gambar di tabel Vendor - Pembelian - Produk. Contoh ini adalah skema bintang tradisional dengan tabel Fakta (Pembelian) dan dua tabel Dimensi (Produk dan Vendor). Hubungan antara tabel dimensi dan tabel fakta adalah 1 ke Banyak (satu produk sesuai dengan banyak pembelian, satu vendor sesuai dengan banyak pembelian). Dalam jenis skema ini, kita dapat menjawab pertanyaan seperti Penjualan apa yang kita miliki untuk produk X? dan Penjualan apa yang kita miliki untuk Vendor Y? dan Produk apa yang dijual Vendor Y?

Jika kita ingin menghubungkan Produk dan Vendor, kita dapat melakukannya dengan melihat tabel Pembelian untuk melihat apakah ada entri dengan produk dan vendor yang sama. Contoh kueri mungkin terlihat seperti contoh berikut:

Correlate Product[Color] with Vendor[Name] where CountRows(Purchases)>0

where CountRows(Purchases)>0 adalah batasan implisit yang akan ditambahkan Power BI untuk memastikan data yang relevan dikembalikan. Dengan melakukan korelasi ini melalui tabel Pembelian, kita dapat mengembalikan pasangan Produk-Vendor yang memiliki setidaknya satu entri dalam tabel fakta, pasangan yang masuk akal dari perspektif data. Anda dapat mengharapkan kombinasi nonsensik dari Product-Vendor yang tidak pernah ada penjualan (yang tidak akan berguna untuk analisis) tidak akan ditampilkan.

Skenario 2: Skema bintang tradisional dan tidak ada batasan ukuran yang disediakan. Dalam contoh sebelumnya dalam Skenario 1, jika pengguna memberikan batasan dalam bentuk kolom ringkasan (Jumlah/Rata-Rata/Jumlah Qty Pembelian, misalnya) atau ukuran model (Jumlah VendID yang Berbeda), Power BI dapat menghasilkan kueri dalam bentuk contoh berikut:

Correlate Product[Color] with Vendor[Name] where MeasureConstraint is not blank

Pada kasus seperti itu, Power BI mencoba mengembalikan kombinasi yang memiliki nilai yang bermakna untuk batasan yang disediakan oleh pengguna (tidak kosong). Power BI tidak perlu juga menambahkan batasan implisit CountRows(Purchases)>0 sendiri, seperti apa yang dilakukan seperti di Skenario 1 sebelumnya, karena batasan yang disediakan oleh pengguna sudah cukup.

Skenario 3: Skema bintang tradisional dan tidak ada batasan ukuran yang disediakan. Pada skenario ini, kami memfokuskan perhatian kami pada pusat model, di mana kami memiliki tabel Penjualan - Produk - Pembelian, di mana kami memiliki satu tabel dimensi (Produk) dan dua Tabel Fakta (Penjualan, Pembelian). Karena contoh ini bukan skema bintang, kita tidak dapat menjawab jenis pertanyaan yang sama seperti yang kita miliki dalam Skenario 1. Katakanlah kita mencoba menghubungkan Pembelian dan Penjualan, karena Pembelian memiliki hubungan Banyak hingga 1 dengan Produk, dan Produk memiliki hubungan 1 dengan Banyak dengan Penjualan. Penjualan dan Pembelian secara tidak langsung Banyak ke Banyak. Kami dapat menautkan satu Produk ke banyak Pembelian dan satu Produk ke banyak penjualan, tetapi kami tidak dapat menautkan satu Penjualan ke banyak Pembelian atau sebaliknya. Kami hanya dapat menautkan banyak Pembelian ke banyak Penjualan.

Dalam situasi ini, jika kita mencoba menggabungkan Purchase[VenID] dan Sales[CustID] dalam visual, Power BI tidak memiliki batasan konkret yang dapat diterapkannya, karena hubungan Banyak ke Banyak antara tabel tersebut. Meskipun mungkin ada batasan kustom (tidak selalu berasal dari hubungan yang dibuat dalam model) yang dapat diterapkan untuk berbagai skenario, Power BI tidak dapat menyimpulkan batasan default hanya berdasarkan hubungan. Jika Power BI mencoba mengembalikan semua kombinasi dari dua tabel, itu akan membuat gabungan silang besar dan mengembalikan data yang tidak relevan. Alih-alih ini, Power BI menimbulkan kesalahan dalam visual, seperti berikut ini.

Screenshot of an error dialog when relationship can’t be inferred. Alternatively, Screenshot of an error dialog where relationship isn’t inferred.

Skenario 4: Skema bintang tradisional dan tidak ada batasan ukuran yang disediakan. Jika kita mengambil contoh dari Skenario 3, dan menambahkan batasan yang disediakan pengguna dalam bentuk kolom ringkasan (Count of Product[ProdID] misalnya) atau pengukuran model (Sales[Total Qty]), Power BI dapat menghasilkan kueri dalam bentuk Correlate Purchase[VenID] dan Sales[CustID] di mana MeasureConstraint tidak kosong.

Dalam hal ini, Power BI mematuhi batasan pengguna sebagai satu-satu batasan yang perlu diterapkan Power BI, dan mengembalikan kombinasi yang menghasilkan nilai yang tidak kosong untuknya. Pengguna telah memandu Power BI ke skenario yang diinginkan, dan Power BI menerapkan panduan.

Skenario 5: Ketika batasan pengukuran disediakan tetapi sebagian terkait dengan kolom. Ada kasus di mana batasan pengukuran yang disediakan oleh pengguna tidak sepenuhnya terkait dengan semua kolom dalam visual. Ukuran model selalu berkaitan dengan semuanya. Power BI memperlakukan skenario ini sebagai kotak hitam saat mencoba menemukan hubungan antar kolom dalam visual, dan mengasumsikan pengguna tahu apa yang mereka lakukan dengan menggunakannya. Namun, kolom yang dirangkum dalam bentuk Jumlah, Rata-rata, dan ringkasan serupa yang dipilih dari antarmuka pengguna hanya dapat terkait dengan subset kolom/tabel yang digunakan dalam visual berdasarkan hubungan tabel tempat kolom tersebut berada. Dengan demikian, batasan berlaku untuk beberapa pemasangan kolom, tetapi tidak untuk semua. Dalam hal ini Power BI mencoba menemukan batasan default yang dapat diterapkan untuk kolom yang tidak terkait dengan batasan yang disediakan pengguna (seperti dalam Skenario 1). Jika Power BI tidak dapat menemukan apa pun, kesalahan berikut dikembalikan.

Screenshot of an error dialog when Power BI can’t find default constraints.

Mengatasi kesalahan hubungan

Saat Anda melihat kesalahan Tidak dapat menentukan hubungan antara bidang, Anda bisa mengambil langkah-langkah berikut untuk mencoba mengatasi kesalahan:

  1. Periksa model Anda. Apakah model disiapkan dengan tepat untuk jenis pertanyaan yang ingin Anda jawab dari analisis Anda? Bisakah Anda mengubah beberapa hubungan antar tabel? Dapatkah Anda menghindari membuat Banyak ke Banyak tidak langsung?

    Pertimbangkan untuk mengonversi skema bentuk V terbalik Anda menjadi dua tabel, dan gunakan hubungan Banyak ke Banyak langsung di antara keduanya seperti yang dijelaskan dalam menerapkan hubungan banyak-banyak dalam Power BI Desktop.

  2. Tambahkan batasan ke visual dalam bentuk kolom ringkasan atau ukuran model.

  3. Jika kolom ringkasan ditambahkan dan masih ada kesalahan, pertimbangkan untuk menggunakan ukuran model.

Untuk informasi selengkapnya tentang model dan hubungan, lihat artikel berikut ini: