Skip to Content

Trik Power Query: Membersihkan 1 Juta Baris Data Hanya dalam 30 Detik

Yang dulu memakan waktu 3 jam, kini hanya butuh 30 detik - begini cara saya melakukannya.

Frustasi Sebelum Terobosan

Dulu ketika saya menangani proyek klien dengan lebih dari 1 juta baris data yang berantakan, Power BI terasa lebih seperti "Power Buffer". Query saya tertunda, waktu pemuatan terasa menyakitkan, dan setiap transformasi rasanya seperti berlari menembus pasir hisap.

Saya mencoba setiap trik yang ada - menghapus kolom, memfilter baris sejak awal, menonaktifkan pemuatan - tetapi tidak ada yang benar-benar menyelesaikan masalah kecepatan.

Sampai akhirnya saya menemukan satu trik ampuh menggunakan Table.Buffer dan query folding. Ini mengubah segalanya.

Apa Itu Query Folding?

Bayangkan query folding seperti mengalihdayakan pekerjaan berat.

Alih-alih komputer lokal Anda melakukan semua transformasi (yang menghabiskan memori dan waktu), Power BI mendorong sebanyak mungkin operasi kembali ke sumber data, seperti SQL Server atau Excel, di mana prosesnya jauh lebih cepat3.

💡 Semakin banyak langkah yang di-folding, semakin cepat query Anda.

Query folding pada dasarnya adalah kemampuan Power Query untuk menerjemahkan serangkaian transformasi menjadi perintah native yang dapat dijalankan langsung di sumber data3. Ini sangat meningkatkan kinerja karena pemrosesan dilakukan di server sumber, bukan di mesin lokal Anda.

Kemudian Ada Table.Buffer...

Table.Buffer seperti mengambil snapshot data Anda sekali, sehingga Power Query tidak perlu kembali ke sumber berulang kali selama setiap langkah.

Tetapi inilah kuncinya - jika Anda menggunakannya dengan cara yang salah, itu dapat merusak query folding dan memperlambat segalanya3.

Table.Buffer berfungsi dengan men-cache seluruh tabel ke dalam memori. Ini bisa sangat berguna pada titik-titik tertentu dalam transformasi, tetapi jika digunakan pada tahap yang salah, justru dapat mengganggu proses query folding yang efisien3.

Jadi, waktu penggunaan adalah kunci. Dan inilah cara saya menggunakannya dengan benar.

Contoh Nyata: Dari Lambat Menjadi Super Cepat

Misalkan saya memiliki data penjualan mentah seperti ini:

  • Lebih dari 1 juta baris
  • Beberapa kolom dengan nilai yang hilang
  • Kondisi dan transformasi bersarang

Berikut langkah-langkah yang saya lakukan:

🔧 Langkah 1: Filter Sejak Awal dan Minimalkan Kolom

Sebelum melakukan apapun, saya hanya mempertahankan 6 kolom yang benar-benar saya butuhkan:

text

= Table.SelectColumns(Source, {"Customer", "Date", "Product", "Region", "Amount", "Status"})

Kemudian menerapkan filter sebelum membawa kolom baru apa pun.

Misalnya, untuk memfilter hanya transaksi yang sudah selesai:

text

= Table.SelectRows(PreviousStep, each [Status] = "Completed")

⚡ Langkah 2: Buffer Sekali - Tidak Di Mana-mana

Tepat sebelum menerapkan logika kustom yang kompleks seperti kolom bersyarat dan penguraian teks, saya mem-buffer tabel yang sudah dibersihkan:

text

= Table.Buffer(CleanedTable)

Ini mencegah Power Query menghitung ulang langkah-langkah sebelumnya setiap kali transformasi dijalankan.

Contoh konkret: Setelah memfilter dan memilih kolom yang dibutuhkan, saya mem-buffer tabel sebelum melakukan operasi yang lebih kompleks seperti:

text

// Terapkan buffer sebelum operasi kompleks BufferedTable = Table.Buffer(FilteredTable), // Kemudian lakukan transformasi kompleks CustomCalculation = Table.AddColumn(BufferedTable, "ProfitMargin", each if [Amount] > 1000 then [Amount] * 0.15 else [Amount] * 0.10)

🔁 Langkah 3: Hindari Merusak Query Folding Terlalu Dini

Banyak orang menerapkan Table.Buffer terlalu awal. Ini menghentikan folding dan membebankan semua pemrosesan pada mesin Anda.

Saya menerapkan Table.Buffer hanya setelah semua langkah yang kompatibel dengan folding selesai3. Ini memberi saya kecepatan dan keandalan.

Contoh konkret mengidentifikasi apakah query folding masih berjalan:

  1. Klik kanan pada langkah di Editor Power Query
  2. Pilih "View Native Query"
  3. Jika opsi tersebut tersedia dan menampilkan query, berarti folding masih berjalan

Hasilnya?

✅ Waktu eksekusi query turun dari 3 menit menjadi 30 detik

✅ Tidak ada crash atau overflow memori

✅ Waktu refresh data berkurang setengahnya

✅ Klien terkesima 😮


Tips Bonus yang Membuat Perbedaan Besar

  1. Gunakan alat diagnostik di Power Query untuk memantau folding (Klik kanan → View Native Query)
  2. Hindari kolom kustom terlalu awal - mereka cepat membunuh folding. Transformasi seperti each dan fungsi kustom biasanya menghentikan query folding1.
  3. Gunakan Table.Profile dan Table.Schema selama pengembangan untuk memahami data tanpa memuat semua baris:

    text

    = Table.Profile(YourTable) // Memberikan statistik tentang data = Table.Schema(YourTable) // Menampilkan struktur tabel

  4. Kelompokkan dan ringkas lebih awal jika bekerja dengan dataset yang sangat lebar:

    text

    = Table.Group(FilteredTable, {"Region", "Product"}, { {"TotalSales", each List.Sum([Amount]), type number}, {"TransactionCount", each Table.RowCount(_), type number} })

  5. Gunakan fungsi Table.StopFolding dengan bijak untuk menghentikan query folding pada titik tertentu jika diperlukan, tanpa efek samping yang tidak diinginkan seperti Table.Buffer

Pesan Moral

Power Query tidak lambat. Sebagian besar waktu, kita hanya tidak menggunakannya dengan benar

Trik Table.Buffer saja menghemat waktu saya berjam-jam setiap minggu. Kombinasikan dengan query folding, dan Anda akan merasa seperti telah membuka kode rahasia untuk performa Power BI yang luar biasa


Glosarium Data Analyst untuk Pemula

  • Query Folding: Kemampuan Power Query untuk mendelegasikan transformasi data ke server sumber data, sehingga mengurangi beban komputer lokal
  • Table.Buffer: Fungsi dalam Power Query yang menyimpan seluruh tabel dalam memori untuk penggunaan yang lebih efisien dalam transformasi berikutnya
  • Power Query: Fitur di Excel dan Power BI yang memungkinkan pengguna mengimpor, membersihkan, dan mentransformasi data dari berbagai sumber
  • ETL (Extract, Transform, Load): Proses mengekstrak data dari sumber, mentransformasinya untuk analisis, kemudian memuatnya ke sistem tujuan - inilah yang dilakukan Power Query
  • Data Cleansing: Proses mengidentifikasi dan memperbaiki atau menghapus data yang tidak akurat dari dataset
  • Query Editor: Antarmuka Power Query tempat Anda dapat melihat dan mengedit langkah-langkah transformasi data yang diterapkan
  • Applied Steps: Daftar berurutan transformasi yang telah diterapkan pada data dalam Power Query, memungkinkan Anda melacak dan mengubah langkah-langkah yang telah dilakukan

Citations:

  1. https://www.youtube.com/watch?v=MV3hDbACkkg
  2. https://www.dutaacademy.com/index.php/home/artikel?detail=mengapa-power-query-menjadi-tools-andalan-bagi-data-analyst%3F
  3. https://blog.crossjoin.co.uk/2022/04/25/stop-query-folding-with-the-table-stopfolding-m-function/
  4. https://support.microsoft.com/id-id/office/pelajari-cara-menggunakan-power-query-dan-power-pivot-di-excel-42d895c2-d1d7-41d0-88da-d1ed7ecc102d
  5. https://dqlab.id/excel-power-query-fitur-canggih-transformasi-data
  6. https://informationhandyman.com/2024/08/09/15-power-bi-tricks-to-supercharge-your-query-refresh-speed/
  7. https://kelas.work/blogs/mengenal-tools-power-query-pada-excel-untuk-analisis-data
  8. https://myedusolve.com/id/blog/pelajari-apa-itu-power-query-tools-andalan-data-analyst
  9. https://www.excelcampus.com/powerquery/power-query-shortcuts/
  10. https://community.powerbi.com/t5/Power-Query/When-to-use-Table-Buffer/td-p/2929784
  11. https://learn.microsoft.com/en-us/power-query/best-practices
  12. https://www.youtube.com/playlist?list=PLXg1Zd-O5C-RozjPfpKGK4H2YEmizHwV-
  13. https://blog.myskill.id/istilah-dan-tutorial/menguak-keajaiban-power-query-dalam-analisis-data/
  14. https://www.youtube.com/watch?v=GJQY_28sWHI
  15. https://learn.microsoft.com/id-id/power-query/query-folding-basics
  16. https://www.youtube.com/watch?v=pb9q0rioO6s
  17. https://www.youtube.com/watch?v=HUPpckEtYy8
  18. https://learn.microsoft.com/id-id/powerquery-m/
  19. https://www.youtube.com/watch?v=72jk30kX_ZA
  20. https://www.excelcampus.com/powerquery/shortcut-open-power-query-editor/



Mengapa Banyak Orang Gagal Menguasai Data Analytics?