Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Nota
Sebelum membaca artikel ini, baca Gambaran Umum evaluasi kueri dan pelipatan kueri di Power Query untuk lebih memahami cara kerja lipatan di Power Query.
Indikator pelipatan kueri membantu Anda memahami langkah-langkah mana yang dilipat dan langkah-langkah mana yang tidak. Langkah dilipat saat Power Query menerjemahkan transformasinya ke dalam kueri sumber data dan menjalankannya di sumber data.
Saat Anda menggunakan indikator pelipatan kueri, indikator tersebut menjadi jelas saat Anda membuat perubahan yang memecah pelipatan. Fitur ini membantu Anda mengatasi masalah, menghindari masalah performa, dan mendapatkan wawasan yang lebih baik tentang kueri Anda. Dalam kebanyakan kasus, langkah-langkah akan dilipat atau tidak dilipat. Tetapi banyak kasus ada di mana hasilnya tidak jelas. Bagian Indikator diagnostik langkah mencakup kasus ini (Mungkin lipatan, Buram, dan Tidak Diketahui).
Nota
Fitur indikator pelipatan permintaan hanya tersedia untuk Power Query Online.
Menginterpretasikan diagnostik lipatan kueri
Di Power Query Online, indikator lipatan kueri di samping langkah memperlihatkan apakah kueri secara keseluruhan, hingga titik tersebut, dilipat. Status diagnostik tidak berurutan. Jika sebuah indikator menunjukkan bahwa kueri tidak mengalami pelipatan, lalu diikuti oleh indikator yang menunjukkan bahwa kueri memang mengalami pelipatan, maka kueri hingga titik tersebut memang mengalami pelipatan.
Interpretasi ini berfungsi bahkan dengan kueri sederhana terhadap sumber SQL. Misalnya, sambungkan ke tabel Production.Product di database sampel AdventureWorks, lalu muat data. Memuat sampel ini melalui navigator Power Query memberikan kueri berikut:
let
Source = Sql.Database("ServerName", "AdventureWorks"),
Navigation = Source{[Schema = "Production", Item = "Product"]}[Data]
in
Navigation
Jika Anda memeriksa bagaimana kode ini muncul dalam indikator pelipatan kueri, Anda akan memperhatikan bahwa langkah pertama tidak meyakinkan. Tetapi langkah kedua memang mengalami lipatan, yang berarti kueri sampai titik itu juga mengalami lipatan.
Dalam contoh ini, langkah-langkah awal belum dapat dipastikan dapat dilipat (tidak konklusif), tetapi langkah terakhir yang dihasilkan saat Anda memuat data untuk pertama kalinya dapat dilipat. Bagaimana langkah pertama (Sumber, dan terkadang langkah Navigasi lainnya) ditangani bergantung pada konektor. Dengan SQL, misalnya, langkah ini ditangani sebagai nilai tabel katalog, yang tidak digabungkan. Namun, segera setelah Anda memilih data untuk konektor tersebut, konektor akan terlipat.
Sebaliknya, ini juga bisa berarti bahwa kueri Anda berhenti pada suatu titik lalu tidak melanjutkan. Indikator tidak melipat tidak berarti bahwa tidak ada lipatan. Sebaliknya, itu berarti bahwa tidak semuanya dapat dilipat. Umumnya, semua bagian dilipat hingga mencapai indikator pelipatan terakhir, dengan lebih banyak operasi terjadi setelahnya.
Memodifikasi contoh sebelumnya, Anda dapat memberikan transformasi yang tidak pernah berubah—Kapitalisasi Setiap Kata.
let
Source = Sql.Database("ServerName", "AdventureWorks"),
Navigation = Source{[Schema = "Production", Item = "Product"]}[Data],
#"Capitalized each word" = Table.TransformColumns(Navigation, {{"Name", each Text.Proper(_), type text}})
in
#"Capitalized each word"
Dalam indikator penggabungan kueri, Anda memiliki indikator yang sama seperti sebelumnya, kecuali langkah terakhir tidak dapat dilipat. Semuanya hingga langkah terakhir ini dilakukan pada sumber data, sementara langkah terakhir dilakukan secara lokal.
Langkah indikator diagnostik
Indikator pelipatan kueri menggunakan rencana kueri yang mendasar, dan mengharuskannya untuk melaporkan informasi tentang kueri. Saat ini, rencana kueri hanya mendukung tabel, sehingga beberapa kasus (daftar, rekaman, primitif) tidak terlaporkan apakah terjadi pelipatan atau tidak. Demikian pula, tabel konstan melaporkan sebagai buram.
| Indikator | Ikon | Deskripsi |
|---|---|---|
| Lipat |
|
Indikator lipatan memberi tahu Anda bahwa sumber data mengevaluasi kueri hingga langkah ini. |
| Tidak terlipat |
|
Indikator tidak melipat memberi tahu Anda bahwa beberapa bagian kueri hingga langkah ini dievaluasi di luar sumber data. Anda dapat membandingkannya dengan indikator lipatan terakhir, jika ada, untuk melihat apakah Anda dapat mengatur ulang kueri Anda agar lebih efektif. |
| Mungkin akan melipat |
|
Indikator yang mungkin dapat dilipat sangat jarang. Mereka berarti bahwa kueri "mungkin" dilipat. Mereka menunjukkan bahwa pilihan untuk melakukan pelipatan atau tidak ditentukan saat runtime, ketika mengambil hasil dari kueri, dan bahwa rencana kueri dapat berubah. Indikator ini kemungkinan hanya muncul dengan koneksi ODBC atau OData. |
| Opak |
|
Indikator buram memberi tahu Anda bahwa rencana kueri yang dihasilkan tidak meyakinkan karena beberapa alasan. Ini umumnya menunjukkan bahwa ada tabel "konstanta" yang benar, atau bahwa indikator dan alat rencana kueri tidak mendukung transformasi atau konektor tersebut. |
| Tidak diketahui |
|
Indikator yang tidak diketahui mewakili tidak adanya rencana kueri, baik karena kesalahan atau mencoba menjalankan evaluasi rencana kueri pada sesuatu selain tabel (seperti rekaman, daftar, atau primitif). |
Analisis indikator pelipatan kueri
Untuk menganalisis indikator pelipatan kueri, sambungkan ke tabel Production.Product di AdventureWorks (SQL). Saat pertama kali dimuat, langkah Sumber ditampilkan sebagai tidak dapat disimpulkan dan langkah Navigasi sebagai menciut, seperti yang ditunjukkan pada gambar berikut.
Saat Anda menambahkan lebih banyak langkah lipatan, Anda memperpanjang garis hijau di sebelah kanan. Ekstensi ini terjadi karena langkah ini juga melipat.
Saat Anda menambahkan langkah yang tidak dilipat, Anda akan melihat indikator yang berbeda. Misalnya, Kapitalisasi setiap kata tidak pernah dilipat. Indikator berubah, menunjukkan bahwa pada langkah ini, ia berhenti melipat. Seperti disebutkan sebelumnya, langkah-langkah sebelumnya masih berlaku.
Saat Anda menambahkan lebih banyak langkah berikutnya yang bergantung pada Kapitalisasi Setiap Kata, langkah-langkah tersebut tetap tidak terlipat.
Namun, jika Anda menghapus kolom yang diberi kapitalisasi, rencana kueri yang dioptimalkan dapat melakukan query folding lagi. Dalam kasus yang tidak umum ini, langkah terakhir terlipat meskipun salah satu langkah sebelumnya tidak terlipat, seperti yang ditunjukkan pada gambar berikut. Hasil ini menggambarkan bagaimana pelipatan bergantung pada urutan langkah dan transformasi yang berlaku.