Optimalkan model DirectQuery dengan penyimpanan tingkat tabel

Selesai

DirectQuery adalah salah satu cara untuk memasukkan data Power BI Desktop. Metode DirectQuery melibatkan koneksi langsung ke data di repositori sumbernya dari dalam Power BI Desktop. Ini adalah alternatif untuk mengimpor data ke dalam Power BI Desktop.

Saat Anda menggunakan metode DirectQuery, pengalaman pengguna secara keseluruhan sangat bergantung pada kinerja sumber data yang mendasarinya. Waktu kueri yang lambat respons akan menyebabkan pengalaman pengguna yang negatif dan, dalam skenario terburuk, kueri mungkin kehabisan waktu. Selain itu, jumlah pengguna yang membuka laporan pada satu waktu akan memengaruhi beban yang diberikan pada sumber data. Misalnya, jika laporan Anda memiliki 20 visual dan 10 orang menggunakan laporan tersebut, 200 kueri atau lebih akan ada pada sumber data karena setiap visual akan mengeluarkan satu atau beberapa kueri.

Sayangnya, kinerja model Anda tidak hanya akan dipengaruhi oleh kinerja sumber data yang mendasarinya, tetapi juga oleh faktor lain yang tidak dapat dikontrol, seperti: Power BI

  • Latensi jaringan; jaringan yang lebih cepat mengembalikan data lebih cepat.

  • Kinerja server sumber data dan berapa banyak beban kerja lain yang ada di server tersebut. Misalnya, pertimbangkan implikasi dari penyegaran server yang dilakukan saat ratusan orang menggunakan server yang sama untuk alasan yang berbeda.

Oleh karena itu, penggunaan DirectQuery menimbulkan risiko pada kualitas kinerja model Anda. Untuk mengoptimalkan kinerja dalam situasi ini, Anda perlu memiliki kontrol atas, atau akses ke, basis data sumber.

Untuk informasi lebih rinci, lihat panduan model DirectQuery di Power BI Desktop.

Implikasi penggunaan DirectQuery

Merupakan praktik terbaik untuk mengimpor data ke Power BI Desktop, tetapi organisasi Anda mungkin perlu menggunakan mode konektivitas data DirectQuery karena salah satu alasan berikut (manfaat DirectQuery):

  • Cocok untuk kasus yang datanya sering berubah dan dibutuhkan pelaporan hampir secara real-time.

  • Dapat menangani data besar tanpa perlu melakukan pra-agregasi.

  • Ia menerapkan pembatasan kedaulatan data untuk mematuhi persyaratan hukum.

  • Ini dapat digunakan dengan sumber data multidimensi yang berisi ukuran seperti SAP Business Warehouse (BW).

Jika organisasi Anda perlu menggunakan DirectQuery, Anda harus memahami dengan jelas perilakunya dalam Power BI Desktop dan menyadari keterbatasannya. Anda kemudian akan berada dalam posisi yang baik untuk mengambil tindakan guna mengoptimalkan model DirectQuery semaksimal mungkin.

Perilaku koneksi DirectQuery

Saat Anda menggunakan DirectQuery untuk menghubungkan ke data di Power BI Desktop, koneksi tersebut berperilaku dengan cara berikut:

  • Saat pertama kali menggunakan fitur Dapatkan Data di Power BI Desktop, Anda akan memilih sumbernya. Jika Anda terhubung ke sumber relasional, Anda dapat memilih sekumpulan tabel dan setiap tabel akan menentukan kueri yang secara logis mengembalikan sekumpulan data. Jika Anda memilih sumber multidimensi, seperti SAP BW, Anda hanya dapat memilih sumbernya.

  • Saat Anda memuat data, tidak ada data yang diimpor ke Power BI Desktop, hanya skema yang dimuat. Saat Anda membangun visual dalam Power BI Desktop, kueri dikirim ke sumber yang mendasarinya untuk mengambil data yang diperlukan. Waktu yang dibutuhkan untuk menyegarkan visual bergantung pada kinerja sumber data yang mendasarinya.

  • Jika perubahan dilakukan pada data dasar, perubahan tersebut tidak akan langsung terlihat pada visual yang ada Power BI karena proses caching. Anda perlu melakukan penyegaran untuk melihat perubahan tersebut. Kueri yang diperlukan tersedia untuk setiap visual, dan visual diperbarui sebagaimana mestinya.

  • Saat Anda menerbitkan laporan ke Power BI layanan, maka akan menghasilkan model semantik dalam Power BI layanan, sama seperti untuk impor. Akan tetapi, tidak ada data yang disertakan dengan model semantik itu.

  • Saat Anda membuka laporan yang sudah ada dalam layanan, atau membuat laporan baru, sumber yang mendasarinya akan ditanyakan lagi untuk mengambil data yang diperlukan. Power BI Bergantung pada lokasi sumber aslinya, Anda mungkin harus mengonfigurasi gateway data lokal.

  • Anda dapat menyematkan visual, atau seluruh halaman laporan, sebagai ubin dasbor. Ubin secara otomatis diperbarui sesuai jadwal, misalnya setiap jam. Anda dapat mengontrol frekuensi penyegaran ini untuk memenuhi kebutuhan Anda. Saat Anda membuka dasbor, petak mencerminkan data pada saat penyegaran terakhir dan mungkin tidak menyertakan perubahan terkini yang dibuat pada sumber data dasar. Anda selalu dapat menyegarkan dasbor yang terbuka untuk memastikannya mutakhir.

Keterbatasan koneksi DirectQuery

Penggunaan DirectQuery dapat memiliki implikasi negatif. Batasannya bervariasi, bergantung pada sumber data spesifik yang digunakan. Anda harus mempertimbangkan poin-poin berikut:

  • Kinerja - Seperti yang dibahas sebelumnya, pengalaman pengguna Anda secara keseluruhan sangat bergantung pada kinerja sumber data yang mendasarinya.

  • Keamanan - Jika Anda menggunakan beberapa sumber data dalam model DirectQuery, penting untuk memahami bagaimana data berpindah antara sumber data yang mendasarinya dan implikasi keamanan terkait. Anda juga harus mengidentifikasi apakah aturan keamanan berlaku untuk data di sumber dasar Anda karena, dalam Power BI, setiap pengguna dapat melihat data tersebut.

  • Transformasi data - Dibandingkan dengan data yang diimpor, data yang bersumber dari DirectQuery memiliki keterbatasan dalam hal penerapan teknik transformasi data dalam Power Query Editor. Misalnya, jika Anda terhubung ke sumber OLAP, seperti SAP BW, Anda tidak dapat membuat transformasi apa pun; seluruh model eksternal diambil dari sumber data. Jika Anda ingin membuat transformasi apa pun pada data, Anda perlu melakukannya di sumber data yang mendasarinya.

  • Pemodelan - Beberapa kemampuan pemodelan yang Anda miliki dengan data yang diimpor tidak tersedia, atau terbatas, saat Anda menggunakan DirectQuery.

  • Pelaporan -- Hampir semua kemampuan pelaporan yang Anda miliki dengan data yang diimpor juga didukung untuk model DirectQuery, asalkan sumber yang mendasarinya menawarkan tingkat kinerja yang sesuai. Namun, saat laporan diterbitkan dalam layanan, fitur Wawasan Cepat dan Tanya Jawab tidak didukung. Power BI Selain itu, penggunaan fitur Jelajahi di Excel kemungkinan akan mengakibatkan kinerja yang lebih buruk.

Untuk informasi lebih rinci tentang batasan penggunaan DirectQuery, lihat Implikasi penggunaan DirectQuery.

Sekarang setelah Anda memiliki pemahaman singkat tentang cara kerja DirectQuery dan batasan-batasannya, Anda dapat mengambil tindakan untuk meningkatkan kinerjanya.

Mengoptimalkan kinerja

Melanjutkan skenario Tailwind Traders, selama peninjauan model semantik, Anda menemukan bahwa kueri tersebut menggunakan DirectQuery untuk menghubungkan Power BI Desktop ke data sumber. Penggunaan DirectQuery ini adalah alasan mengapa pengguna mengalami kinerja laporan yang buruk. Butuh waktu lama untuk memuat halaman dalam laporan, dan tabel tidak diperbarui cukup cepat saat pilihan tertentu dibuat. Anda perlu mengambil tindakan untuk mengoptimalkan kinerja model DirectQuery.

Anda dapat memeriksa kueri yang dikirim ke sumber yang mendasarinya dan mencoba mengidentifikasi alasan di balik buruknya kinerja kueri tersebut. Anda kemudian dapat membuat perubahan dalam Power BI Desktop dan sumber data yang mendasarinya untuk mengoptimalkan kinerja keseluruhan.

Mengoptimalkan data di Power BI Desktop

Setelah Anda mengoptimalkan sumber data semaksimal mungkin, Anda dapat mengambil tindakan lebih lanjut di dalam Power BI Desktop dengan menggunakan Penganalisis kinerja, tempat Anda dapat mengisolasi kueri guna memvalidasi rencana kueri.

Anda dapat menganalisis durasi kueri yang dikirim ke sumber yang mendasarinya untuk mengidentifikasi kueri yang memerlukan waktu lama untuk dimuat. Dengan kata lain, Anda dapat mengidentifikasi di mana letak hambatannya.

Anda tidak perlu menggunakan pendekatan khusus saat mengoptimalkan model DirectQuery; Anda dapat menerapkan teknik pengoptimalan yang sama yang Anda gunakan pada data yang diimpor untuk menyetel data dari sumber DirectQuery. Misalnya, Anda dapat mengurangi jumlah visual pada halaman laporan atau mengurangi jumlah bidang yang digunakan dalam visual. Anda juga dapat menghapus kolom dan baris yang tidak diperlukan.

Untuk panduan lebih rinci tentang cara mengoptimalkan kueri DirectQuery, lihat: Panduan model DirectQuery di Power BI Desktop dan Panduan untuk menggunakan DirectQuery dengan sukses.

Mengoptimalkan sumber data yang mendasarinya (database yang terhubung)

Perhentian pertama Anda adalah sumber data. Anda perlu menyempurnakan basis data sumber sebanyak mungkin karena apa pun yang Anda lakukan untuk meningkatkan kinerja basis data sumber tersebut pada gilirannya akan meningkatkan Power BI DirectQuery. Tindakan yang Anda lakukan dalam pangkalan data akan memberikan manfaat yang paling besar.

Pertimbangkan penggunaan praktik basis data standar berikut yang berlaku untuk sebagian besar situasi:

  • Hindari penggunaan kolom kalkulasi yang rumit karena ekspresi kalkulasi akan disematkan ke dalam kueri sumber. Lebih efisien untuk mendorong ekspresi kembali ke sumber karena menghindari penekanan ke bawah. Anda juga dapat mempertimbangkan untuk menambahkan kolom kunci pengganti ke tabel tipe dimensi.

  • Tinjau indeks dan verifikasi apakah pengindeksan saat ini sudah benar. Jika Anda perlu membuat indeks baru, pastikan indeks tersebut sesuai.

Lihat dokumen panduan sumber data Anda dan terapkan rekomendasi kinerjanya.

Sesuaikan opsi pengurangan Kueri

Power BI Desktop memberi Anda opsi untuk mengirim lebih sedikit kueri dan menonaktifkan interaksi tertentu yang akan mengakibatkan pengalaman buruk jika kueri yang dihasilkan memerlukan waktu lama untuk dijalankan. Menerapkan opsi ini mencegah kueri terus-menerus mengenai sumber data, yang seharusnya meningkatkan kinerja.

Dalam contoh ini, Anda mengedit pengaturan default untuk menerapkan opsi pengurangan data yang tersedia ke model Anda. Anda mengakses pengaturan dengan memilih File>Opsi dan pengaturan>Opsi, menggulir halaman ke bawah, lalu memilih opsi Pengurangan kueri .

Tersedia pilihan pengurangan kueri berikut:

  • Kurangi jumlah kueri yang dikirim oleh - Secara default, setiap visual berinteraksi dengan setiap visual lainnya. Memilih kotak centang ini akan menonaktifkan interaksi default tersebut. Anda kemudian dapat secara opsional memilih visual mana yang berinteraksi satu sama lain dengan menggunakan fitur Edit interaksi .

  • Pemotong - Secara default, opsi Terapkan perubahan pemotong secara instan dipilih. Untuk memaksa pengguna laporan menerapkan perubahan pemotong secara manual, pilih opsi Tambahkan tombol terapkan ke setiap pemotong guna menerapkan perubahan saat Anda siap .

  • Filter - Secara default, opsi Terapkan perubahan filter dasar secara instan dipilih. Untuk memaksa pengguna laporan menerapkan perubahan filter secara manual, pilih salah satu opsi alternatif:

    • Tambahkan tombol terapkan ke semua filter dasar untuk menerapkan perubahan saat Anda siap

    • Tambahkan satu tombol terapkan ke panel filter untuk menerapkan perubahan sekaligus (pratinjau)