Kyselydiagnostiikan visualisointi ja tulkinta Power BI:ssä
Esittely
Kun olet tallentanut käytettävät diagnostiikkatiedot, seuraava vaihe on ymmärtää, mitä ne sanovat.
On hyödyllistä ymmärtää hyvin, mitä kyselydiagnostiikan rakenteen jokainen sarake tarkalleen tarkoittaa, mitä emme aio toistaa tässä lyhyessä opetusohjelmassa. Kirjoitan siitä kokonaan.
Yleensä visualisointeja luotaessa on parempi käyttää koko yksityiskohtaista taulukkoa. Koska riippumatta siitä, kuinka monta riviä kyseessä on, kyseessä on luultavasti jonkinlainen kuvaus siitä, miten eri resursseissa käytetty aika lasketaan yhteen tai mikä alkuperäinen kyselytulos oli.
Kuten diagnostiikan tallentamista käsittelemme artikkelissamme, käsittelen OData- ja SQL-jäljitystietoja, jotka koskevat samaa taulukkoa (tai lähes yhtä paljon) eli Northwindin Customers-taulukkoa. Keskityn erityisesti asiakkaidemme usein kysyttyihin pyyntöihin ja eräs helpoimmin jäljitysjoukoista: tietomallin täydellinen päivitys.
Visualisointien luominen
Kun suoritat jäljitystiedostoja, voit arvioida niitä monella tavalla. Tässä artikkelissa keskitytään kahteen visualisointikohtaiseen visualisointiin, joista välität, ja toiseen, jotta voit helposti tarkastella eri tekijöiden aikapanoksia. Ensimmäisessä visualisoinnissa käytetään taulukkoa. Voit valita minkä tahansa haluamasi kentät, mutta voit valita ne, joita suositellaan helppoa ja korkean tason tarkastelua varten seuraavasti:
- Tunniste
- Aloitusaika
- Kyselyn
- Vaihe
- Tietolähdekysely
- Yksinomainen kesto (%)
- Rivimäärä
- Luokka
- On käyttäjäkysely
- Polku
Toisessa visualisoinnissa kannattaa käyttää pinottua pylväskaaviota. Akseli-parametrissa saatat haluta käyttää "Tunnus"- tai "Vaihe"-parametria. Jos tarkastelemme päivitystä, koska sillä ei ole mitään tekemistä itse editorin vaiheiden kanssa, haluamme luultavasti vain tarkastella "Tunnus"-toimintoa. Selite-parametrille kannattaa määrittää "Luokka" tai "Toiminto" (haluamasi askelvälin mukaan). Määritä Arvo-asetukselle "Yksinomainen kesto" (ja varmista, että se ei ole %, jotta saat raakakestoarvon). Määritä lopuksi Työkaluvihje-kohtaan Aikaisin alkamisaika.
Kun visualisointi on luotu, lajittele aikaisin aloitusaika nousevaan järjestykseen, jotta näet, missä järjestyksessä asiat tapahtuvat.
Vaikka tarkat tarpeesi saattavat olla erilaisia, tämä kaavioiden yhdistelmä on hyvä paikka aloittaa lukuisten diagnostiikkatiedostojen tarkastelu ja useita tarkoituksia varten.
Visualisointien tulkitseminen
Kuten edellä mainittiin, kyselydiagnostiikan avulla voit yrittää vastata moniin kysymyksiin, mutta useimmin näemme, miten aika kuluu, ja kysyvät, mikä lähteeseen lähetetty kysely on.
Kysymällä, miten aika kuluu, se on helppoa ja toimii useimmille liittimille samalla tavalla. Kuten jossain muualla mainittiin, kyselydiagnostiikkaa koskeva varoitus on, että näet liittimestä riippuen rajusti erilaisia ominaisuuksia. Esimerkiksi monissa ODBC-pohjaisissa liittimillä ei ole tarkkaa tallennusta siitä, mikä kysely lähetetään todelliseen taustajärjestelmään, koska Power Query näkee vain sen, mitä se lähettää ODBC-ohjaimelle.
Jos haluamme nähdä, miten aika kuluu, voimme vain tarkastella yllä luotuja visualisointeja.
Koska tässä käyttämiesi mallikyselyiden aika-arvot ovat niin pieniä, Power BI -raporttien ajan kanssa työskentely on parempi, jos muunnamme Exclusive Duration -sarakkeen Sekunnit-muotoon Power Query -editorissa. Kun tämä muunnos on valmis, voimme tarkastella kaaviota ja saada hyvän käsityksen siitä, mihin aika kuluu.
Näen OData-tuloksissani kuvasta, että valtaosa ajasta kului tietojen noutamiseen lähteestä – jos valitsen selitteessä "Tietolähde"-kohteen, se näyttää kaikki kyselyn tietolähteeseen lähettämiseen liittyvät eri toiminnot.
Jos teemme kaikki samat toiminnot ja luomme samankaltaisia visualisointeja, mutta voimme nähdä näiden kahden tietolähteen vertailun SQL-jäljitystietojen avulla ODATA-jäljitystietojen sijaan.
Jos valitsemme Tietolähde-taulukon, kuten ODATA-diagnostiikan kohdalla, näemme ensimmäisen arvioinnin (2.3 tässä kuvassa) lähettävän metatietokyselyjä, kun toinen arviointi todellisuudessa noutaa meille välittämämme tiedot. Koska tässä tapauksessa noudetaan pieniä tietomääriä, noudetut tiedot kuluvat jonkin verran (alle sekunnin kymmenesosa koko toisen arvioinnin aikana niin, että tietojen noutamiseen kuluu alle 20 sekuntia), mutta tämä ei toteudu kaikissa tapauksissa.
Kuten edellä, voit valita selitteestä Tietolähde-luokan, jolloin lähetetyt kyselyt näkyvät.
Tietoihin tutkiminen
Polkujen tarkasteleminen
Jos tarkastelet tätä, jos vietetty aika vaikuttaa oudolta – esimerkiksi OData-kyselyssä saatat nähdä, että on olemassa tietolähdekysely, jolla on seuraava arvo:
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>
Tämä tietolähdekysely liittyy toimintoon, joka vie esimerkiksi 1 % Yksinomaisen keston kestosta. Tällä välin niiden pitäisi olla samankaltaisia:
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
Tämä tietolähdekysely liittyy toimintoon, joka vie lähes 75 % Yksinomaisen keston kestosta. Jos otat polun käyttöön, huomaat, että jälkimmäinen on itse asiassa ensin mainitun alikohde. Tämä tarkoittaa sitä, että ensimmäinen kysely lisäsi periaatteessa pienen ajan, jolloin sisempi kysely jäljitti tietojen todellisen noutamisen.
Nämä ovat ääriarvoja, mutta ne ovat mahdollisesti näkemisen rajojen sisällä.