Memperbaiki masalah performa

Selesai

Terkadang, organisasi perlu mengatasi masalah performa saat menjalankan laporan. Power BI menyediakan alat Penganalisis Kinerja untuk membantu mengatasi masalah dan menyederhanakan proses.

Pertimbangkan skenario di mana Anda membangun laporan untuk tim Penjualan di organisasi Anda. Anda telah mengimpor data Anda, yang ada dalam beberapa tabel dalam database SQL tim Penjualan, dengan membuat koneksi data ke database melalui DirectQuery. Saat membuat visual dan filter awal, Anda melihat bahwa beberapa tabel dikueri lebih cepat dari tabel yang lain, dan beberapa filter membutuhkan waktu lebih lama untuk diproses dibandingkan yang lain.

Mengoptimalkan performa dalam Power Query

Performa di Power Query bergantung pada performa di tingkat sumber data. Berbagai sumber data yang Power Query tawarkan luas, dan teknik penyetelan performa untuk setiap sumber sama lebarnya. Misalnya, jika Anda mengekstrak data dari Microsoft SQL Server, Anda harus mengikuti panduan penyetelan performa untuk produk. Teknik penyetelan performa SQL Server yang baik termasuk pembuatan indeks, peningkatan perangkat keras, penyetelan rencana eksekusi, dan kompresi data. Topik ini berada di luar cakupan di sini, dan hanya dibahas sebagai contoh untuk membangun keakraban dengan sumber data Anda dan menuai keuntungan saat menggunakan Power BI dan Power Query.

Power Query memanfaatkan performa yang baik di sumber data melalui teknik yang disebut Query Folding.

Lipatan kueri

Query Folding dalam Editor Power Query membantu Anda meningkatkan performa laporan Power BI Anda. Lipatan kueri adalah proses di mana transformasi dan pengeditan yang Anda buat di Editor Power Query secara bersamaan dilacak sebagai kueri asli, atau pernyataan Pilih SQL sederhana, saat Anda secara aktif membuat transformasi. Alasan untuk menerapkan proses ini adalah untuk memastikan bahwa transformasi ini dapat terjadi di server sumber data asli dan tidak membuat sumber daya komputasi Power BI kewalahan.

Anda dapat menggunakan Power Query untuk memuat data ke Power BI. Kemudian gunakan Editor Power Query untuk mengubah data Anda, seperti mengganti nama atau menghapus kolom, menambahkan, mengurai, memfilter, atau mengelompokkan data Anda.

Pertimbangkan skenario di mana Anda telah mengganti nama beberapa kolom dalam data Penjualan dan menggabungkan kolom kota dan status bersama-sama dalam format "status kota". Sementara itu, fitur pelipatan kueri melacak perubahan tersebut dalam kueri asli. Kemudian, saat Anda memuat data, transformasi berlangsung secara independen di sumber asli, ini memastikan bahwa performa dioptimalkan di Power BI.

Manfaat query folding meliputi:

  • Lebih efisien dalam penyegaran data dan penyegaran inkremental. Saat Anda mengimpor tabel data dengan menggunakan lipatan kueri, Power BI lebih mampu mengalokasikan sumber daya dan merefresh data lebih cepat karena Power BI tidak harus berjalan melalui setiap transformasi secara lokal.

  • Kompatibilitas otomatis dengan DirectQuery dan mode penyimpanan Ganda. Semua sumber data mode penyimpanan DirectQuery dan Ganda harus memiliki kemampuan pemrosesan server backend untuk membuat koneksi langsung, yang berarti bahwa query folding adalah kemampuan otomatis yang dapat Anda gunakan. Jika semua perubahan dapat dikurangi menjadi satu pernyataan Pilih, maka pelipatan kueri dapat terjadi.

Skenario berikut menunjukkan pelipatan kueri dalam tindakan. Dalam skenario ini, Anda menerapkan sekumpulan kueri ke beberapa tabel. Setelah Anda menambahkan sumber data baru dengan menggunakan Power Query, dan Anda diarahkan ke Editor Power Query, Anda masuk ke panel Pengaturan Kueri dan klik kanan langkah terakhir yang diterapkan, seperti yang diperlihatkan dalam gambar berikut ini.

Cuplikan layar langkah terakhir yang diterapkan diklik kanan untuk menampilkan menu konteks.

Jika opsi Tampilkan Kueri Asli tidak tersedia (tidak ditampilkan dalam jenis tebal), maka lipatan kueri tidak dimungkinkan untuk langkah ini, dan Anda harus bekerja mundur di area Langkah yang Diterapkan hingga Anda mencapai langkah di mana Kueri Asli Tampilan tersedia (ditampilkan dalam jenis tebal). Proses ini akan mengungkapkan kueri asli yang digunakan untuk mengubah model semantik.

Kueri asli tidak dimungkinkan untuk transformasi berikut:

  • Menambahkan kolom indeks
  • Menggabungkan dan menambahkan kolom dari tabel yang berbeda dengan dua sumber yang berbeda
  • Mengubah tipe data kolom

Pedoman yang baik untuk diingat adalah jika Anda dapat menerjemahkan perubahan menjadi pernyataan SQL Pilih, yang mencakup operator dan klausa seperti GROUP BY, SORT BY, WHERE, UNION ALL, dan JOIN, Anda dapat menggunakan pelipatan kueri.

Meskipun pelipatan kueri adalah salah satu opsi untuk mengoptimalkan performa saat mengambil, mengimpor, dan menyiapkan data, opsi lain adalah diagnostik kueri.

Diagnostik kueri

Alat lain yang dapat Anda gunakan untuk mempelajari performa kueri adalah diagnostik kueri. Anda dapat menentukan hambatan apa yang mungkin ada saat memuat dan mengubah data Anda, me-refresh data Anda dalam Power Query, menjalankan pernyataan SQL di Editor Kueri, dan sebagainya.

Untuk mengakses diagnostik kueri di Editor Power Query, buka Alat di pita Beranda. Saat Anda siap untuk mulai mengubah data Anda atau melakukan pengeditan lain di Editor Power Query, pilih Mulai Diagnostik di bagian Diagnostik Sesi. Setelah selesai, pastikan Anda memilih Hentikan Diagnostik.

Cuplikan layar tab Alat dengan opsi diagnostik sesi di Editor Power query.

Memilih Langkah Diagnosis menunjukkan durasi waktu yang diperlukan untuk menjalankan langkah tersebut, seperti yang ditunjukkan pada gambar berikut. Pilihan ini dapat memberi tahu Anda jika langkah membutuhkan waktu lebih lama untuk diselesaikan daripada yang lain, yang kemudian berfungsi sebagai titik awal untuk penyelidikan lebih lanjut.

Cuplikan layar penerapan diagnostik kueri.

Alat ini berguna ketika Anda ingin menganalisis performa di sisi Power Query untuk tugas-tugas seperti memuat model semantik, menjalankan refresh data, atau menjalankan tugas transformatif lainnya.

Teknik lain untuk mengoptimalkan performa

Cara lain untuk mengoptimalkan performa kueri di Power BI meliputi:

  • Memproses data sebanyak mungkin di sumber data asli. Power Query dan Editor Power Query memungkinkan Anda memproses data; namun, daya pemrosesan yang diperlukan untuk menyelesaikan tugas ini mungkin menurunkan performa di area lain laporan Anda. Umumnya, praktik yang baik adalah memproses, sebanyak mungkin, di sumber data asli.

  • Gunakan kueri SQL asli. Saat menggunakan DirectQuery untuk database SQL, seperti kasus untuk skenario kami, pastikan Anda tidak menarik data dari prosedur tersimpan atau ekspresi tabel umum (CTE).

  • Pisahkan tanggal dan waktu, jika terikat bersama. Jika salah satu tabel Anda memiliki kolom yang menggabungkan tanggal dan waktu, pastikan Anda memisahkannya menjadi kolom yang berbeda sebelum mengimpornya ke Power BI. Pendekatan ini akan meningkatkan kemampuan kompresi.

Untuk informasi selengkapnya, lihat Panduan Lipatan Kueri dan Lipatan Kueri.