Bagikan melalui


Indikator penggabungan kueri

Nota

Sebelum membaca artikel ini, kami sarankan Anda membaca Gambaran Umum evaluasi kueri dan pelipatan kueri di Power Query untuk lebih memahami cara kerja pelipatan di Power Query.

Indikator penggabungan kueri membantu Anda memahami langkah-langkah yang digabungkan atau tidak digabungkan.

Dengan indikator query folding, Anda dapat melihat dengan jelas ketika Anda membuat perubahan yang menghentikan proses pelipatan. Fitur ini membantu Anda menyelesaikan masalah dengan lebih mudah dengan cepat, menghindari masalah performa, dan memiliki wawasan yang lebih baik tentang kueri Anda. Dalam kebanyakan kasus yang Anda hadapi, langkah-langkah itu mungkin terlipat atau tidak terlipat. Tetapi ada banyak kasus di mana hasilnya tidak begitu jelas, dan kasus-kasus ini dibahas dalam indikator diagnostik Langkah (Dinamis, Buram, dan Tidak Diketahui).

Nota

Fitur indikator pelipatan permintaan hanya tersedia untuk Power Query Online.

Menginterpretasikan diagnostik pelipatan kueri

Saat Anda memeriksa indikator penggabungan kueri di samping langkah, hal terpenting yang perlu dipahami adalah bahwa status diagnostik tidak berurutan. Dengan kata lain, indikator dari langkah tersebut menjelaskan apakah kueri secara keseluruhan, hingga titik tersebut, dilipat atau tidak. Jika Anda memiliki indikator yang menunjukkan bahwa kueri tidak dilipat diikuti dengan indikator yang memperlihatkannya dilipat, itu berarti kueri Anda sampai pada titik tersebut memang dilipat.

Interpretasi ini berfungsi bahkan dengan kueri sederhana terhadap sumber SQL. Misalnya, menggunakan database sampel AdventureWorks, sambungkan ke tabel Production.Product dan 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.

Cuplikan layar langkah-langkah Sumber dan Navigasi di panel Indikator Lipat.

Dalam contoh ini, langkah-langkah awal tidak dapat dikonfirmasi untuk dilipat (tidak meyakinkan), tetapi langkah terakhir yang dihasilkan saat Anda memuat data awalnya melakukan lipatan. 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. Tidak seperti kasus ketika Anda memiliki indikator lipatan untuk langkah yang menunjukkan bahwa semuanya terlipat, ketika Anda memiliki indikator tanpa lipatan tidak berarti bahwa tidak semua terlipat. Ini berarti bahwa "tidak semuanya" terlipat. 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.

Cuplikan layar langkah-langkah Sumber, Navigasi, dan Kapitalisasi Setiap Kata di panel Indikator Lipat.

Langkah indikator diagnostik

Indikator penggabungan kueri menggunakan rencana kueri mendasar, dan memerlukan kemampuan untuk memperoleh informasi tentang kueri guna melaporkannya. 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.
buram 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).

Contoh analisis

Untuk contoh analisis, mulailah dengan menyambungkan ke tabel Production.Product di Adventure Works (SQL). Beban awal, mirip dengan contoh awal, terlihat seperti gambar berikut.

Cuplikan layar indikator langkah awal untuk memuat tabel Produk.

Menambahkan lebih banyak langkah yang melipat memperluas garis hijau tersebut di sisi kanan. Ekstensi ini terjadi karena langkah ini juga melipat.

Cuplikan layar memperlihatkan cara menambahkan langkah hapus kolom ke kueri sebelumnya memperluas baris indikator lipatan hijau.

Menambahkan langkah tanpa lipatan akan menampilkan 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.

Cuplikan layar menunjukkan cara langkah Kapitalisasi Setiap Kata merusak lipatan.

Menambahkan lebih banyak langkah di hilir yang bergantung pada Kapitalisasi setiap langkah terus tidak terlipat.

Cuplikan layar memperlihatkan bagaimana pelipatan tidak akan terjadi setelah menambahkan lebih banyak langkah.

Namun, jika Anda menghapus kolom tempat Anda menerapkan kapitalisasi agar rencana kueri yang telah dioptimalkan dapat dilipat sekali lagi, Anda memperoleh hasil seperti gambar berikut. Namun, hal seperti ini jarang terjadi. Gambar ini menggambarkan bagaimana itu bukan hanya urutan langkah, tetapi juga transformasi aktual yang berlaku.

Cuplikan layar menunjukkan bahwa dengan menghapus kolom yang bermasalah, memungkinkan segala sesuatu dapat dilipat tanpa menghilangkan langkah tersebut.