Mengoptimalkan model DirectQuery dengan penyimpanan tingkat tabel

Selesai

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

Cuplikan layar yang memperlihatkan cara menggunakan opsi DirectQuery untuk mendapatkan data.

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

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

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

  • Performa server sumber data dan jumlah beban kerja lain di server tersebut. Misalnya, pertimbangkan implikasi dari penyegaran server yang terjadi saat ratusan orang menggunakan server yang sama untuk alasan yang berbeda.

Oleh karena itu, menggunakan DirectQuery menimbulkan risiko terhadap kualitas performa model Anda. Untuk mengoptimalkan performa dalam situasi ini, Anda harus memiliki kontrol atas, atau akses ke, database sumber.

Untuk informasi selengkapnya, lihat Panduan model DirectQuery di Power BI Desktop.

Implikasi penggunaan DirectQuery

Ini adalah 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):

  • Hal ini cocok dalam kasus di mana data sering berubah dan hampir real-time pelaporan diperlukan.

  • Ini dapat menangani data besar tanpa perlu melakukan pra-agregat.

  • Ini menerapkan pembatasan kedaulatan data untuk mematuhi persyaratan hukum.

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

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

Perilaku koneksi DirectQuery

Saat Anda menggunakan DirectQuery untuk terhubung ke data di Power BI Desktop, koneksi tersebut berperilaku sebagai berikut:

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

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

  • Jika perubahan dilakukan pada data yang mendasari, perubahan tersebut tidak akan langsung terlihat dalam visual yang ada di Power BI karena terdapat penembolokan. Anda perlu melakukan penyegaran untuk melihat perubahan tersebut. Kueri yang diperlukan ada untuk setiap visual, dan visual diperbarui dengan sesuai.

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

  • Saat Anda membuka laporan yang sudah ada di layanan Power BI, atau membuat yang baru, sumber yang mendasari akan dikueri kembali untuk mengambil data yang diperlukan. Bergantung pada lokasi sumber aslinya, Anda mungkin harus mengonfigurasi gateway data lokal.

  • Anda dapat menyematkan visual, atau seluruh halaman laporan, sebagai petak peta dasbor. Petak peta disegarkan secara otomatis pada jadwal, misalnya, setiap jam. Anda dapat mengontrol frekuensi penyegaran ini untuk memenuhi kebutuhan Anda. Saat Anda membuka dasbor, petak peta mencerminkan data pada saat penyegaran terakhir dan mungkin tidak menyertakan perubahan terbaru yang dilakukan pada sumber data yang mendasari. Anda selalu dapat menyegarkan dasbor yang terbuka untuk memastikan bahwa dasbor diperbarui.

Batasan koneksi DirectQuery

Penggunaan DirectQuery dapat memiliki implikasi negatif. Batasan bervariasi, tergantung pada sumber data tertentu yang sedang digunakan. Anda harus mempertimbangkan poin-poin berikut:

  • Performa - Seperti yang dibahas sebelumnya, pengalaman pengguna Anda secara keseluruhan sangat bergantung pada performa sumber data yang mendasar.

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

  • Transformasi data - Dibandingkan dengan data yang diimpor, data yang bersumber dari DirectQuery memiliki batasan dalam hal menerapkan teknik transformasi data dalam Editor Power Query. Misalnya, jika Anda terhubung ke sumber OLAP, seperti SAP BW, Anda tidak dapat membuat transformasi sama sekali; seluruh model eksternal diambil dari sumber data. Jika Anda ingin membuat transformasi apa pun ke data, Anda harus melakukan ini di sumber data yang mendasar.

  • 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 mendasar menawarkan tingkat performa yang sesuai. Namun, ketika laporan diterbitkan di layanan Power BI, fitur Quick Insights dan Q&A tidak didukung. Selain itu, penggunaan fitur Jelajahi di Excel kemungkinan akan menghasilkan performa yang lebih buruk.

Untuk informasi selengkapnya tentang batasan penggunaan DirectQuery, lihat Implikasi penggunaan DirectQuery.

Sekarang setelah Anda memiliki pemahaman singkat tentang cara kerja DirectQuery dan batasan yang ditimbulkannya, Anda dapat mengambil tindakan untuk meningkatkan performa.

Mengoptimalkan performa

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

Anda dapat memeriksa kueri yang dikirim ke sumber yang mendasari dan mencoba mengidentifikasi alasan terjadinya performa kueri yang buruk. Anda kemudian dapat membuat perubahan di Power BI Desktop dan sumber data yang mendasari untuk mengoptimalkan performa secara keseluruhan.

Mengoptimalkan data dalam Power BI Desktop

Saat Anda telah mengoptimalkan sumber data sebanyak mungkin, Anda dapat mengambil tindakan lebih lanjut dalam Power BI Desktop dengan menggunakan Penganalisis performa, di mana Anda dapat mengisolasi kueri untuk memvalidasi rencana kueri.

Anda dapat menganalisis durasi kueri yang dikirim ke sumber yang mendasarinya untuk mengidentifikasi kueri yang membutuhkan waktu lama untuk dimuat. Dengan kata lain, Anda dapat mengidentifikasi di mana hambatan ada.

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

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

Optimalkan sumber data yang mendasar (database tersambung)

Pemberhentian pertama Anda adalah sumber data. Anda perlu menyetel database sumber sebanyak mungkin karena apa pun yang Anda lakukan untuk meningkatkan performa database sumber tersebut pada akhirnya akan meningkatkan DirectQuery Power BI. Tindakan yang Anda ambil dalam database akan melakukan yang paling baik.

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

  • Hindari penggunaan kolom terhitung yang kompleks karena ekspresi perhitungan akan disematkan ke dalam kueri sumber. Lebih efisien untuk mendorong ekspresi kembali ke sumber karena menghindari pendorongan ke bawah. Anda juga dapat mempertimbangkan untuk menambahkan kolom kunci pengganti ke tabel jenis dimensi.

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

Lihat dokumen panduan sumber data Anda dan terapkan rekomendasi performanya.

Mengkustomisasi opsi pengurangan Kueri

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

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

Opsi pengurangan kueri berikut ini tersedia:

  • Kurangi jumlah kueri yang dikirim oleh - Secara default, setiap visual berinteraksi dengan setiap visual lainnya. Memilih kotak centang ini 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 tombol Tambahkan penerapan ke setiap pemotong untuk 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:

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

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

Mengakses pengaturan pengurangan kueri