Jaa


DirectQuery-mallien vianmääritys Power BI Desktopissa

Tässä artikkelissa kerrotaan suorituskykyongelmista Power BI Desktopissa tai Power BI -palvelu kehittämiesi Power BI:n DirectQuery-tietomallien avulla. Artikkelissa kuvataan myös, miten voit hankkia yksityiskohtaisia tietoja, joiden avulla voit optimoida raportteja.

Aloita aina suorituskykyongelmien vianmääritys Power BI Desktopista, ei Power BI -palvelu tai Power BI -raporttipalvelin. Suorituskykyyn liittyvät ongelmat riippuvat usein pohjana olevan tietolähteen suorituskykytasosta. Voit helpommin tunnistaa ja diagnosoida nämä ongelmat eristetyssä Power BI Desktop -ympäristössä ilman, että siihen liittyy paikallisen yhdyskäytävän kaltaisia komponentteja.

Jos et löydä suorituskykyongelmia Power BI Desktopista, voit keskittää tutkimuksesi raportin yksityiskohtiin Power BI -palvelu.

Yritä myös eristää ongelmat yksittäisessä visualisoinnissa, ennen kuin tarkastelet monia visualisointeja sivulla.

Suorituskyvyn analysointi

Suorityskyvyn analysointi on hyödyllinen työkalu suorituskykyongelmien tunnistamiseen koko vianmäärityksen ajan. Jos tunnistat yksittäisen hitaan visualisoinnin Power BI Desktopin sivulla, voit Suorityskyvyn analysointi avulla määrittää, mitä kyselyjä Power BI Desktop lähettää pohjana olevaan lähteeseen.

Saatat myös pystyä tarkastelemaan jäljitys- ja diagnostiikkatietoja, jotka pohjana olevat tietolähteet lähettävät. Nämä jäljitystiedot voivat sisältää hyödyllisiä tietoja siitä, miten kysely suoritettiin ja miten sitä voi parantaa.

Voit tarkastella Power BI:n lähettämiä kyselyitä ja niiden suoritusaikoja myös ilman lähteen jäljitysjälkiä.

Muistiinpano

DirectQuery SQL -pohjaisissa lähteissä Suorityskyvyn analysointi näytetään kyselyt vain SQL Server-, Oracle- ja Teradata-tietolähteille.

Jäljitystiedosto

Power BI Desktop kirjaa oletusarvoisesti tietyn istunnon tapahtumat jäljitystiedostoon, jonka nimi on FlightRecorderCurrent.trc. Nykyisen istunnon jäljitystiedosto löytyy nykyisen käyttäjän AppData-kansiosta osoitteesta <User>\AppData\Local\Microsoft\Power BI Desktop\AnalysisServicesWorkspaces.

Seuraavat DirectQuery-tietolähteet kirjoittavat kaikki kyselyt, jotka Power BI lähettää ne jäljitystiedostoon. Loki saattaa tukea muita DirectQuery-lähteitä tulevaisuudessa.

  • SQL Server
  • Azure SQL Database
  • Azure Synapse Analytics (aiemmin SQL Data Warehouse)
  • Oracle
  • Teradata
  • SAP HANA

Pääset helposti Power BI Desktopin jäljitystiedostokansioon valitsemalla Tiedosto>Asetukset ja vaihtoehdot>Asetukset ja valitsemalla sitten Diagnostiikka.

Screenshot of the Diagnostics section of the Power BI Desktop Options screen with the link to open the crash dump/traces folder.

Valitse Kaatumisvedoskokoelma-kohdassa Avaa kaatumisvedosten/jäljitysten kansio -linkki Avataksesi <User>\AppData\Local\Microsoft\Power BI Desktop\Traces-kansion.

Siirry tämän kansion pääkansioon ja avaa sitten AnalysisServicesWorkspaces-kansio , joka sisältää yhden työtila-alikansion jokaiselle avoimelle Power BI Desktop -esiintymälle. Alikansioiden nimien jälkiliitteet ovat kokonaisluku, esimerkiksi AnalysisServicesWorkspace2058279583.

Jokainen AnalysisServicesWorkspace-kansio sisältää Data-alikansion , joka sisältää nykyisen Power BI -istunnon jäljitystiedoston FlightRecorderCurrent.trc . Tämä kansio katoaa näkyvistä, kun siihen liittyvä Power BI Desktop -istunto päättyy.

Voit avata jäljitystiedostot SQL Serverin profilointi -työkalulla, jonka voit saada osana maksutonta SQL Server Management Studion (SSMS) latausta. Kun olet ladannut ja asentanut SQL Server Management Studion, avaa SQL Serverin profilointi.

Screenshot of SQL Server Profiler window with no highlighted traces.

Voit avata jäljitystiedoston seuraavasti:

  1. Valitse SQL Serverin profilointi Tiedosto>Avaa>jäljitystiedosto.

  2. Siirry nykyisen Power BI -istunnon jäljitystiedoston polkuun tai anna se. Tiedosto on esimerkiksi <User>\AppData\Local\Microsoft\Power BI Desktop\AnalysisServicesWorkspaces\AnalysisServicesWorkspace2058279583\Data ja avaa FlightRecorderCurrent.trc.

SQL Serverin profilointi näyttää kaikki nykyisen istunnon tapahtumat. Seuraavassa näyttökuvassa korostuu ryhmä kyselyä varten. Jokaisella kyselyryhmällä on seuraavat tapahtumat:

  • - Query Begin ja Query End -tapahtuma, joista voit aloittaa DAX-kyselyn, joka luodaan muuttamalla visualisointia tai suodatinta Power BI:n käyttöliittymässä tai suodattamalla tai muuntamalla tietoja Power Query -editori.

  • Niissä on DirectQuery Begin ainakin yksi pari - ja DirectQuery End -tapahtumia, jotka edustavat taustatietolähteeseen lähetettyjä kyselyjä, kun DAX-kyselyt arvioitiin.

Screenshot of SQL Server Profiler with highlighted Query Begin and Query End events.

Useita DAX-kyselyitä voidaan suorittaa rinnakkain, joten eri ryhmien tapahtumat voivat yhdistää toisiinsa. -arvon ActivityID avulla voit määrittää, mitkä tapahtumat kuuluvat samaan ryhmään.

Myös seuraavat sarakkeet ovat kiinnostavia:

  • TextData: Tämä on tapahtuman tekstitiedot. - Query Begin ja Query End -tapahtumissa tiedot ovat DAX-kyselyjä. - DirectQuery Begin ja DirectQuery End -tapahtumissa tiedot ovat SQL-kyselyjä, jotka lähetetään pohjana olevaan lähteeseen. Valitun tapahtuman TextData-arvo näkyy myös näytön alareunan ruudussa.
  • EndTime: tämä on tapahtuman päättymisaika.
  • Duration: DAX- tai SQL-kyselyn suorittaminen kesti millisekunteja.
  • Virhe: Ilmenikö virhe, jolloin tapahtuma näkyy myös punaisena.

Edellinen kuva rajaa joitain vähemmän kiinnostavia sarakkeita, joten näet kiinnostavammat sarakkeet helpommin.

Voit kirjata jäljityksen mahdollisen suorituskykyongelman vianmääritykseen seuraavasti:

  1. Avaa yksi Power BI Desktop -istunto, jotta sinulla ei ole useita työtilakansioita.

  2. Tee Power BI Desktopissa toiminnot, joita haluat tutkia. Suorita vielä muutama toiminto. Näin varmistat, että tapahtumat, joita haluat tutkia, kirjataan jäljitystiedostoon.

  3. Avaa SQL Serverin profilointi ja tutki jäljitys. Muista, että jäljitystiedosto poistetaan, kun suljet Power BI Desktopin. Muita Power BI Desktopin toimintoja ei myöskään näytetä heti. Sinun on suljettava jäljitystiedosto ja avattava se uudelleen, jotta näet uudet tapahtumat.

Pidä yksittäiset istunnot kohtuullisen pieninä siten, että käytettävissä on esimerkiksi 10 sekuntia toimintoja, ei satoja. Tämä lähestymistapa helpottaa jäljitystiedoston tulkitsemista. Jäljitystiedoston kokoa on myös rajoitettu, joten pitkissä istunnoissa on mahdollisuus varhaisten tapahtumien keskeyttämiseen.

Kyselyn ja alikyselyn muoto

Power BI Desktop -kyselyt käyttävät yleensä alikyselyitä kullekin mallitaulukolle, johon kyselyt viittaavat. Power Query -editori kysely määrittää alivalintakyselyt. Oletetaan esimerkiksi, että sinulla on seuraavat TPC-DS-taulukot SQL Serverin relaatiotietokannassa:

Screenshot of a Power BI Desktop model view diagram that shows the related Item, Web_Sales, Customer and Date-dim TPC-DS tables.

Power BI -visualisoinnissa mittari määritetään seuraavalla lausekkeella SalesAmount :


SalesAmount = SUMX(Web_Sales, [ws_sales_price] * [ws_quantity])

Screenshot of a Power BI Desktop stacked column chart that displays sales amount by category.

Visualisoinnin päivittäminen tuottaa T-SQL-kyselyn seuraavassa kuvassa. -, Item- ja Date_dim -mallitaulukoille Web_Saleson kolme alikyselyä. Jokainen kysely palauttaa kaikki mallitaulukon sarakkeet, vaikka visualisointi viittaa vain neljään sarakkeeseen.

Nämä varjostetut alikyselyt ovat Power Query -kyselyiden tarkka määritelmä. Tämä alikyselyiden käyttö ei vaikuta DirectQueryn tukemien tietolähteiden suorituskykyyn. SQL Serverin kaltaiset tietolähteet optimoivat pois viittaukset muihin sarakkeisiin.

Yksi syy siihen, miksi Power BI käyttää tätä mallia, on se, että voit määrittää Power Query -kyselyn käyttämään tiettyä kyselylauseketta. Power BI käyttää kyselyä sellaisena kuin se on annettu eikä sitä yritetä kirjoittaa uudelleen. Tämä malli rajoittaa common table expressions -lausekkeiden ja tallennettujen toimintosarjojen käyttöä. Et voi käyttää näitä lausekkeita alikyselyissä.

Screenshot of a T-SQL query that shows embedded subqueries, one for each model table.

Yhdyskäytävän suorituskyky

Lisätietoja yhdyskäytävän suorituskyvystä on kohdassa Yhdyskäytävien vianmääritys – Power BI.

Saat lisätietoja DirectQuerystä seuraavista resursseista:

Kysyttävää? Voit esittää kysymyksiä Power BI -yhteisö