Bagikan melalui


Panduan pelipatan kueri di Power BI Desktop

Artikel ini menargetkan pemodel data yang mengembangkan model di Power BI Desktop. Ini memberikan panduan praktik terbaik tentang kapan—dan bagaimana—Anda bisa mencapai pelipatan kueri Power Query.

Lipatan kueri adalah kemampuan kueri Power Query untuk menghasilkan satu pernyataan kueri yang mengambil dan mengubah data sumber. Untuk informasi selengkapnya, lihat pelipatan kueri Power Query.

Panduan

Panduan pelipatan kueri berbeda berdasarkan mode model.

Untuk tabel mode penyimpanan DirectQuery atau Dual, kueri Power Query harus mencapai pelipatan kueri.

Untuk tabel Impor, dimungkinkan untuk mencapai pelipatan kueri. Ketika kueri didasarkan pada sumber relasional—dan jika satu pernyataan SELECT dapat dibuat—Anda mencapai performa refresh data terbaik dengan memastikan bahwa pelipatan kueri terjadi. Jika mesin mashup Power Query masih diperlukan untuk memproses transformasi, Anda harus berusaha untuk meminimalkan pekerjaan yang perlu dilakukan, terutama untuk model semantik besar.

Daftar berpoin berikut ini menyediakan panduan khusus.

  • Mendelegasikan pemrosesan sebanyak mungkin ke sumber data: Saat semua langkah kueri Power Query tidak dapat dilipat, temukan langkah yang mencegah lipatan kueri. Jika memungkinkan, pindahkan langkah selanjutnya lebih awal secara berurutan sehingga dapat diperhitungkan ke dalam pelipatan kueri. Perhatikan bahwa mesin mashup Power Query mungkin cukup pintar untuk menyusun ulang langkah-langkah kueri Anda saat menghasilkan kueri sumber.

    Untuk sumber data relasional, jika langkah yang mencegah pelipatan kueri dapat dicapai dalam satu pernyataan SELECT—atau dalam logika prosedural dari prosedur tersimpan—pertimbangkan untuk menggunakan kueri SQL asli, seperti yang dijelaskan selanjutnya.

  • Gunakan kueri SQL asli: Saat kueri Power Query mengambil data dari sumber relasional, beberapa sumber dapat menggunakan kueri SQL asli. Kueri sebenarnya bisa menjadi pernyataan yang valid, termasuk eksekusi prosedur tersimpan. Jika pernyataan menghasilkan beberapa kumpulan hasil, hanya yang pertama yang akan dikembalikan. Parameter dapat dideklarasikan dalam pernyataan, dan sebaiknya gunakan fungsi Value.NativeQuery M. Fungsi ini dirancang untuk meneruskan nilai parameter dengan aman dan nyaman. Penting untuk dipahami bahwa mesin mashup Power Query tidak dapat melipat langkah-langkah kueri nanti, sehingga Anda harus menyertakan semua—atau sebanyak mungkin—logika transformasi dalam pernyataan kueri asli.

    Ada dua pertimbangan penting yang perlu Anda ingat saat menggunakan kueri SQL asli:

    • Untuk tabel model DirectQuery, kueri harus berupa pernyataan SELECT, dan ini tidak dapat menggunakan Common Table Expressions (CTEs) atau prosedur tersimpan.
    • Refresh inkremental tidak dapat menggunakan kueri SQL asli. Jadi, itu akan memaksa mesin mashup Power Query untuk mengambil semua baris sumber, lalu menerapkan filter untuk menentukan perubahan inkremental.

    Penting

    Kueri SQL asli berpotensi melakukan lebih dari mengambil data. Pernyataan apa pun yang valid dapat dijalankan (dan mungkin beberapa kali), termasuk pernyataan yang memodifikasi atau menghapus data. Penting bagi Anda untuk menerapkan prinsip hak istimewa paling sedikit untuk memastikan bahwa akun yang digunakan untuk mengakses database hanya memiliki izin baca pada data yang diperlukan.

  • Menyiapkan dan mengubah data di sumber: Saat Anda mengidentifikasi bahwa langkah-langkah kueri Power Query tertentu tidak dapat dilipat, mungkin untuk menerapkan transformasi di sumber data. Transformasi dapat dicapai dengan menulis tampilan database yang secara logis mengubah data sumber. Atau, dengan menyiapkan dan mewujudkan data secara fisik, sebelum Power BI mengkuerinya. Gudang data relasional adalah contoh yang sangat baik dari data yang disiapkan, biasanya terdiri dari sumber data organisasi yang telah diintegrasikan sebelumnya.

Untuk informasi selengkapnya tentang artikel ini, lihat sumber daya berikut ini: