M365Con 2027 – konferensi online gratis · 11–22 Jan 2027 · 120 sessions→ m365con.net

Blog · Mirko Peters

Menguasai Query Folding di Power BI: Serahkan Pekerjaan ke Sumber Data Anda

By ·

Saat bekerja dengan Power BI, hanya sedikit hal yang lebih menjengkelkan daripada melihat proses refresh data berjalan sangat lama, atau lebih buruk lagi, gagal total karena kehabisan sumber daya…

Automatically translated with AI from the original post. Read the English original

▶ BLOGMastering Query Foldingin Power BI: Push the…M365.FM
Titelbild: Mastering Query Folding in Power BI: Push the Work to Your Data Source

Saat bekerja dengan Power BI, hanya sedikit hal yang lebih menjengkelkan daripada melihat proses refresh data berjalan sangat lama, atau lebih buruk lagi, gagal total karena kehabisan sumber daya. Jika Anda menarik jutaan baris dari database SQL jarak jauh, gudang data perusahaan, atau layanan cloud, cara Anda menangani transformasi sangat menentukan. Setiap langkah yang Anda buat di Power Query dapat ditangani secara efisien oleh server andal yang menjadi tempat data Anda berada, atau secara lamban oleh komputer lokal Anda atau mesin memori layanan Power BI. Di sinilah keajaiban query folding berperan.

Dalam artikel ini, kita akan membahas query folding secara mendalam: bagaimana query folding mengoptimalkan transformasi data, teknik praktis untuk memastikan langkah-langkah Anda ter-fold dengan benar, jebakan umum yang memutus rantai folding, dan cara Anda dapat meningkatkan efisiensi refresh laporan secara signifikan. Mari kita kembalikan pekerjaan ke tempat seharusnya: sumber data.

Pengantar Query Folding

Pada intinya, query folding adalah mekanisme ketika Power Query menerjemahkan langkah-langkah transformasi data yang Anda bangun di antarmuka pengguna menjadi bahasa kueri native, umumnya SQL, lalu mengirimkan kueri tersebut ke database sumber untuk dieksekusi. Alih-alih mengunduh setiap baris, tabel, dan kolom ke ruang memori Power BI lalu memfilter, mengelompokkan, atau menggabungkannya secara lokal, Power BI meminta database sumber untuk melakukan pekerjaan berat tersebut.

Bayangkan seperti berbelanja kebutuhan dapur. Jika Anda pergi ke gudang besar, mengambil setiap barang di toko, membawanya ke meja dapur, lalu membuang 90% di antaranya karena sudah kedaluwarsa atau bukan yang Anda butuhkan, Anda telah membuang banyak waktu dan tenaga. Itulah yang terjadi tanpa query folding. Dengan query folding yang aktif, Anda memberikan petugas gudang daftar yang spesifik: "Berikan saya hanya apel yang beratnya di atas satu pon, dikelompokkan menurut warna." Petugas akan menyortir di gudang dan menyerahkan kepada Anda sebuah kotak kecil yang hanya berisi apa yang Anda minta. Dapur Anda tetap bersih, dan Anda selesai memasak jauh lebih cepat.

Bagaimana Query Folding Mengoptimalkan Transformasi Data

Query folding adalah fondasi arsitektur Power BI yang skalabel. Jika dijalankan dengan benar, query folding meminimalkan transfer data melalui jaringan, secara signifikan mengurangi penggunaan memori selama tahap refresh, dan mempercepat alur kerja pengembangan Anda.

Ketika Anda menerapkan transformasi seperti memfilter baris, menghapus kolom, mengurutkan, atau melakukan agregasi dasar lebih awal dalam langkah-langkah terapan Power Query, konektor yang digunakan akan mengevaluasi apakah sumber data dapat menangani operasi tersebut secara native. Jika bisa, langkah-langkah tersebut dibungkus menjadi satu kueri tunggal yang sangat optimal dan dikirim ke sumber data. Mesin database menjalankannya dengan memanfaatkan indeks yang sudah ada, sehingga dapat memindai jutaan baris dalam hitungan milidetik.

Sebaliknya, jika query folding terputus, Power BI terpaksa menarik seluruh dataset mentah yang belum dikompresi dan belum difilter melalui jaringan ke dalam mesin evaluasi Power Query (mashup engine). Setelah data berada di komputer lokal, Power BI menerapkan filter dan transformasi Anda menggunakan CPU dan RAM lokal. Untuk dataset perusahaan berukuran besar, kondisi ini menjadi resep sempurna untuk timeout gateway, error kehabisan memori, dan pembaruan laporan yang lamban.

Teknik Praktis Memastikan Langkah-Langkah Ter-fold dengan Benar

Tidak semua langkah Power Query diciptakan setara, dan tidak semua sumber data mendukung query folding. Database relasional seperti SQL Server, Oracle, dan PostgreSQL memiliki kemampuan folding yang andal, sedangkan file datar seperti CSV atau buku kerja Excel tidak ter-fold dengan cara yang sama karena tidak memiliki prosesor kueri native.

Untuk memastikan langkah-langkah Anda ter-fold dengan sukses, Anda perlu menyusun langkah-langkah terapan dalam urutan tertentu dan memperhatikan fungsi yang Anda gunakan. Berikut teknik praktis untuk menjaga kueri Anda tetap ter-fold:

Jebakan Umum yang Memutus Query Folding

Salah satu aspek paling rumit dari query folding adalah sifatnya yang rapuh. Satu langkah transformasi yang tampak tidak berbahaya, jika ditempatkan pada urutan yang salah, dapat sepenuhnya memutus rantai folding sehingga semua langkah berikutnya dijalankan secara lokal, meskipun database sebenarnya mampu menangani semuanya.

Berikut beberapa kesalahan paling umum yang memutus query folding:

  1. Menyisipkan Native SQL lalu Melakukan Transformasi: Jika Anda menulis kueri native SQL di awal langkah sumber data, Power Query memperlakukan hasil tersebut sebagai black box. Transformasi berikutnya yang ditambahkan melalui antarmuka Power Query umumnya tidak akan di-fold karena Power Query tidak dapat menyisipkan langkah UI secara andal ke dalam blok SQL kustom.
  2. Konversi Tipe Data Terlalu Dini atau Salah Urutan: Mengubah tipe data itu penting, tetapi melakukannya sebelum filter atau operasi yang bertentangan dengan aturan tipe data database dapat memutus folding. Misalnya, mengubah kolom numerik menjadi teks lalu mencoba melakukan filter rentang numerik pada kolom tersebut dapat menghentikan database dalam mengoptimalkan kueri.
  3. Menambahkan Kolom Indeks atau Menggunakan Nomor Baris: Fungsi yang bergantung pada posisi baris, seperti "Add Index Column" atau operasi yang merujuk ke baris di sekitarnya dengan indeks absolut, memerlukan seluruh dataset dimuat ke memori untuk menentukan posisi. Hal ini langsung menghentikan query folding.
  4. Mencampur Sumber Data: Jika Anda menggabungkan tabel dari database SQL dengan tabel dari file Excel, query folding akan berhenti pada titik di mana kedua sumber tersebut berinteraksi, karena Excel tidak dapat memproses kueri SQL secara native.

Meningkatkan Efisiensi Refresh Power BI

Ketika Anda menguasai query folding, dampaknya terasa di seluruh arsitektur data Anda. Waktu refresh laporan yang dulunya memakan waktu berjam-jam dapat turun menjadi hitungan menit, bahkan detik. Efisiensi ini tidak hanya menghemat sumber daya komputasi pada gateway atau server cloud Anda, tetapi juga memungkinkan pengembang beriterasi lebih cepat.

Untuk memaksimalkan efisiensi refresh, kombinasikan query folding dengan praktik terbaik pemodelan data lainnya. Misalnya, pastikan tabel database Anda menggunakan indexing yang tepat pada kolom yang sering Anda filter atau join. Jika tabel SQL Anda tidak memiliki index, bahkan kueri yang sudah di-fold akan membuat mesin database melakukan table scan yang mahal. Selain itu, padukan query folding dengan star schema yang bersih, hapus kolom yang berlebihan, dan terapkan kebijakan incremental refresh untuk kumpulan data historis yang besar.

Memantau dan Memecahkan Masalah Kueri Power BI

Anda tidak dapat memperbaiki apa yang tidak Anda ukur. Saat menghadapi refresh yang lambat atau kegagalan kueri yang tidak terduga, Anda memerlukan pendekatan sistematis untuk mendiagnosis di mana letak hambatannya. Mulailah dengan menggunakan alat Power Query Diagnostics di dalam Power BI Desktop. Fitur ini memungkinkan Anda melacak waktu eksekusi setiap langkah, sehingga Anda dapat melihat dengan jelas berapa lama setiap transformasi berjalan dan apakah data diambil dari sumber secara remote atau diproses secara lokal.

Selain itu, pantau log gateway dan database profiler (seperti SQL Server Profiler atau Extended Events) untuk melihat kueri yang sebenarnya dikirim dari Power BI ke sumber data Anda. Jika Anda melihat pernyataan SELECT besar yang menarik tabel mentah tanpa filter, alih-alih kueri yang tertarget dengan klausa WHERE dan GROUP BY, Anda langsung tahu bahwa query folding telah gagal di salah satu langkah yang diterapkan.

Untuk pembahasan menyeluruh tentang urutan eksekusi, jebakan operasional, dan alur kerja optimasi tingkat lanjut, pastikan Anda menyimak episode podcast terkait dan membaca catatannya di Power Query Folding and Execution Order in Power BI. Memahami urutan operasi yang mendasarinya akan membuat Anda percaya diri membangun model yang tangguh dan sangat cepat setiap saat.

Kesimpulan

Menguasai query folding adalah salah satu keterampilan paling berdampak bagi pengembang Power BI. Dengan memindahkan beban komputasi dari mesin lokal Anda atau layanan Power BI ke mesin sumber data yang kuat dan sangat dioptimalkan, Anda menghilangkan hambatan performa, mengurangi kemacetan jaringan, dan memastikan refresh laporan berjalan lancar serta andal. Dengan sengaja mengatur urutan langkah, rutin memeriksa native query Anda, dan menghindari jebakan umum seperti pengindeksan terlalu dini atau mencampur sumber data yang tidak kompatibel, Anda dapat membuka potensi penuh lingkungan business intelligence Anda.

Untuk memperdalam konsep-konsep ini dan mendengar uraian rinci tentang bagaimana urutan eksekusi query memengaruhi performa workspace Anda, simak diskusi lengkapnya di episode podcast Power Query Folding and Execution Order in Power BI. Terapkan strategi ini hari ini, dan saksikan performa laporan Anda meningkat secara signifikan!

Power BI Power Query Power BI Service Connector Microsoft To Do Semantic model

Related articles

RSS