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.
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.
Voit avata jäljitystiedoston seuraavasti:
Valitse SQL Serverin profilointi Tiedosto>Avaa>jäljitystiedosto.
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
jaQuery 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 - jaDirectQuery End
-tapahtumia, jotka edustavat taustatietolähteeseen lähetettyjä kyselyjä, kun DAX-kyselyt arvioitiin.
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
jaQuery End
-tapahtumissa tiedot ovat DAX-kyselyjä. -DirectQuery Begin
jaDirectQuery 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:
Avaa yksi Power BI Desktop -istunto, jotta sinulla ei ole useita työtilakansioita.
Tee Power BI Desktopissa toiminnot, joita haluat tutkia. Suorita vielä muutama toiminto. Näin varmistat, että tapahtumat, joita haluat tutkia, kirjataan jäljitystiedostoon.
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:
Power BI -visualisoinnissa mittari määritetään seuraavalla lausekkeella SalesAmount
:
SalesAmount = SUMX(Web_Sales, [ws_sales_price] * [ws_quantity])
Visualisoinnin päivittäminen tuottaa T-SQL-kyselyn seuraavassa kuvassa. -, Item
- ja Date_dim
-mallitaulukoille Web_Sales
on 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ä.
Yhdyskäytävän suorituskyky
Lisätietoja yhdyskäytävän suorituskyvystä on kohdassa Yhdyskäytävien vianmääritys – Power BI.
Liittyvä sisältö
Saat lisätietoja DirectQuerystä seuraavista resursseista:
- DirectQueryn käyttö Power BI Desktopissa
- DirectQueryn tukemat tietolähteet
- DirectQuery-mallit Power BI Desktopissa
- DirectQuery-mallin ohjeet Power BI Desktopissa
Kysyttävää? Voit esittää kysymyksiä Power BI -yhteisö