Memvisualisasikan dan menginterpretasikan Diagnostik Kueri dalam Power BI

Setelah Anda merekam diagnostik yang ingin Anda gunakan, langkah selanjutnya adalah memahami apa yang mereka katakan.

Sangat membantu untuk memiliki pemahaman yang baik tentang arti setiap kolom dalam skema diagnostik kueri. Tutorial ini tidak mencakup informasi tersebut. Untuk deskripsi lengkapnya, lihat Diagnostik kueri.

Secara umum, saat Anda membangun visualisasi, gunakan tabel terperinci lengkap. Terlepas dari berapa banyak baris yang terdapat di dalamnya, Anda mungkin sedang melihat semacam visualisasi tentang bagaimana waktu yang dihabiskan pada berbagai sumber daya diakumulasikan, atau seperti apa kueri native yang dihasilkan.

Seperti disebutkan dalam artikel tentang perekaman diagnostik, contoh ini menggunakan pelacakan OData dan SQL untuk tabel Pelanggan dari Northwind. Secara khusus, fokusnya adalah pada permintaan yang sering disampaikan pelanggan, serta pada salah satu kumpulan jejak yang lebih mudah ditafsirkan: penyegaran penuh model data.

Membangun visualisasi

Saat meninjau jejak, Anda dapat mengevaluasinya dalam banyak cara. Artikel ini menjelaskan dua visualisasi. Visualisasi pertama menunjukkan detail yang Anda pedulikan, dan yang lain menunjukkan kontribusi waktu dari berbagai faktor. Untuk visualisasi pertama, gunakan tabel. Anda dapat memilih bidang apa pun yang Anda sukai, tetapi untuk tampilan tingkat tinggi yang mudah, gunakan bidang berikut:

Untuk visualisasi kedua, gunakan bagan kolom bertumpuk. Dalam parameter Sumbu , gunakan Id atau Langkah. Jika Anda melihat Refresh, karena tidak ada hubungannya dengan langkah-langkah di Editor itu sendiri, Anda mungkin hanya ingin melihat Id. Untuk parameter Legenda , atur Kategori atau Operasi (tergantung pada granularitas yang Anda inginkan). Untuk parameter Nilai , atur Durasi Eksklusif dan pastikan itu bukan %, sehingga Anda mendapatkan nilai durasi mentah. Terakhir, untuk parameter Tooltip , atur Waktu Mulai paling awal.

Setelah Anda membangun visualisasi, pastikan Anda mengurutkan menurut Waktu Mulai Paling Awal naik sehingga Anda dapat melihat urutan peristiwa terjadi.

Cuplikan layar diagnostik kueri dengan tabel jejak dan bagan batang bertumpuk yang menampilkan durasi menurut kategori dan ID.

Meskipun kebutuhan Anda yang tepat mungkin berbeda, kombinasi bagan ini adalah tempat yang baik untuk mulai melihat berbagai file diagnostik dan untuk banyak tujuan.

Menginterpretasikan visualisasi

Seperti disebutkan sebelumnya, diagnostik kueri dapat membantu Anda menjawab banyak pertanyaan. Dua pertanyaan paling umum adalah bagaimana waktu dihabiskan dan kueri apa yang dikirim ke sumbernya.

Memahami bagaimana waktu yang dihabiskan mudah dan mirip untuk sebagian besar konektor. Namun, seperti disebutkan di tempat lain, Anda melihat kemampuan yang berbeda secara drastis tergantung pada konektor. Misalnya, banyak konektor berbasis ODBC tidak menyediakan rekaman kueri yang akurat yang Power Query kirim ke driver ODBC.

Untuk melihat bagaimana waktu dihabiskan, tinjau visualisasi yang Anda buat sebelumnya.

Karena nilai waktu untuk kueri sampel yang digunakan di sini sangat kecil, jika Anda ingin bekerja dengan cara Power BI melaporkan waktu, lebih baik mengonversi kolom Durasi Eksklusif menjadi detik di editor Power Query. Setelah melakukan konversi ini, Anda dapat melihat bagan dan mendapatkan gambaran yang jelas tentang di mana waktu dihabiskan.

Untuk hasil OData, gambar berikut menunjukkan bahwa sebagian besar waktu dihabiskan untuk mengambil data dari sumbernya. Jika Anda memilih item Sumber Data pada legenda, item tersebut memperlihatkan semua operasi berbeda yang terkait dengan pengiriman kueri ke sumber data.

Cuplikan layar diagnostik kueri OData dengan Tabel Jejak Terperinci dan bagan durasi menyoroti waktu Sumber Data.

Jika Anda melakukan semua operasi yang sama dan membangun visualisasi serupa, tetapi menggunakan jejak SQL alih-alih yang ODATA, Anda dapat melihat bagaimana dua sumber data dibandingkan.

Cuplikan layar Tabel Jejak Terperinci memperlihatkan evaluasi SQL dan bagan yang membandingkan durasi eksklusif menurut Id dan kategori.

Jika Anda memilih tabel sumber data, seperti diagnostik ODATA, Anda melihat bahwa evaluasi pertama (2,3 dalam gambar ini) mengirim kueri metadata, dan evaluasi kedua mengambil data yang Anda pedulikan. Contoh ini mengambil sejumlah kecil data, sehingga pengambilan data membutuhkan sedikit waktu (kurang dari sepersepuluh detik untuk seluruh evaluasi kedua, dengan kurang dari dua puluh detik untuk pengambilan data itu sendiri), tetapi kecepatan itu tidak benar dalam semua kasus.

Seperti sebelumnya, pilih kategori Sumber Data pada legenda untuk melihat kueri yang dipancarkan.

Dalami data

Melihat jalur

Ketika Anda memeriksa data ini, Anda mungkin melihat bahwa waktu yang dihabiskan tampaknya tidak biasa. Misalnya, pada kueri OData, Anda mungkin melihat bahwa ada kueri sumber data dengan nilai berikut:

Request:
https://services.odata.org/V4/Northwind/Northwind.svc/Customers?$filter=ContactTitle%20eq%20%27Sales%20Representative%27&$select=CustomerID%2CCountry HTTP/1.1
Content-Type: application/json;odata.metadata=minimal;q=1.0,application/json;odata=minimalmetadata;q=0.9,application/atomsvc+xml;q=0.8,application/atom+xml;q=0.8,application/xml;q=0.7,text/plain;q=0.7

<Content placeholder>

Response:
Content-Type: application/json;odata.metadata=minimal;q=1.0,application/json;odata=minimalmetadata;q=0.9,application/atomsvc+xml;q=0.8,application/atom+xml;q=0.8,application/xml;q=0.7,text/plain;q=0.7
Content-Length: 435

<Content placeholder>

Kueri sumber data ini dikaitkan dengan operasi yang, misalnya, hanya menyumbang 1% dari durasi eksklusif. Sementara itu, ada yang serupa:

Request:
GET https://services.odata.org/V4/Northwind/Northwind.svc/Customers?$filter=ContactTitle eq 'Sales Representative'&$select=CustomerID%2CCountry HTTP/1.1

Response:
https://services.odata.org/V4/Northwind/Northwind.svc/Customers?$filter=ContactTitle eq 'Sales Representative'&$select=CustomerID%2CCountry
HTTP/1.1 200 OK

Kueri sumber data ini terkait dengan operasi yang memakan hampir 75% dari durasi eksklusif. Jika Anda menyalakan Path, Anda menemukan bahwa yang terakhir sebenarnya adalah anak dari yang pertama. Temuan ini berarti bahwa kueri pertama pada dasarnya hanya menambahkan sedikit waktu dengan sendirinya, sementara pengambilan data yang sebenarnya dilacak oleh kueri inner.

Nilai-nilai ini ekstrem, tetapi berada dalam batas apa yang mungkin Anda lihat.