Spørringsdiagnose
Med spørringsdiagnose kan du oppnå en bedre forståelse av hva Power Query gjør ved redigering og oppdateringstidspunkt i Power BI Desktop. Mens vi kommer til å utvide denne funksjonen i fremtiden, inkludert å legge til muligheten til å bruke den under fullstendige oppdateringer, kan du på dette tidspunktet bruke den til å forstå hva slags spørringer du sender ut, hvilke nedganger du kan støte på under redigering av oppdatering, og hva slags bakgrunnshendelser som skjer.
Hvis du vil bruke spørringsdiagnose, går du til Verktøy-fanen på båndet i redigeringsprogrammet for Power Query.
Spørringsdiagnoser kan som standard kreve administrative rettigheter (avhengig av IT-policy). Hvis du ikke kan kjøre spørringsdiagnose, åpner du alternativer-siden for Power BI Desktop, og velger Aktiver i Power Query-redigering (krever ikke kjøring som administrator) i kategorien Diagnoser. Dette valget hindrer deg i å kunne spore diagnostikk når du foretar en fullstendig oppdatering i Power BI i stedet for redigeringsprogrammet for Power Query. Men lar deg fortsatt bruke den når du forhåndsviser, redigerer og så videre.
Når du starter diagnostikk, begynner Power Query å spore eventuelle evalueringer du forårsaker. Evalueringen som de fleste brukere tenker på, er når du trykker på oppdatering, eller når du henter data for første gang. Men det finnes mange handlinger som kan forårsake evalueringer, avhengig av koblingen. Med SQL-koblingen, for eksempel når du henter en liste over verdier som skal filtreres, vil det starte en evaluering også, men den knytter seg ikke til en brukerspørring, og det er representert i diagnosen. Andre systemgenererte spørringer kan inkludere navigatøren eller hent dataopplevelsen.
Når du trykker Diagnosetrinn, kjører Power Query en spesiell evaluering av bare trinnet du ser på. Den viser deg deretter diagnosen for dette trinnet, uten å vise deg diagnosen for andre trinn i spørringen. Denne evalueringen kan gjøre det mye enklere å få et smalt syn på et problem.
Det er viktig at hvis du registrerer alle sporinger fra Start diagnostikk , trykker du stoppdiagnose. Hvis du stopper diagnosen, kan motoren samle inn registrerte sporinger og analysere dem i riktig utdata. Uten dette trinnet går sporinger tapt.
Vi tilbyr for øyeblikket tre typer diagnostikk, hvorav den ene har to detaljnivåer.
Den første av disse diagnosene er den primære diagnosen, som har en detaljert visning og en oppsummert visning. Den summerte visningen har som mål å gi deg en umiddelbar innsikt i hvor tiden brukes i spørringen. Den detaljerte visningen er mye dypere, linje for linje, og er generelt bare nødvendig for alvorlig diagnostisering av strømbrukere.
I denne visningen er enkelte funksjoner, for eksempel kolonnen Datakildespørring, for øyeblikket bare tilgjengelige på bestemte koblinger. Vi skal jobbe for å utvide bredden av denne dekningen i fremtiden.
Datavernpartisjoner gir deg en bedre forståelse av de logiske partisjonene som brukes for personvern.
Obs!
Power Query kan utføre evalueringer som du kanskje ikke har utløst direkte. Noen av disse evalueringene utføres for å hente metadata, slik at vi best kan optimalisere spørringene våre eller gi en bedre brukeropplevelse (for eksempel å hente listen over distinkte verdier i en kolonne som vises i filterradopplevelsen). Andre kan være relatert til hvordan en kobling håndterer parallelle evalueringer. Samtidig, hvis du ser i spørringsdiagnosen gjentatte spørringer som du ikke tror gir mening, kan du gjerne nå ut gjennom vanlige støttekanaler – tilbakemeldingen din er hvordan vi forbedrer produktet vårt.
Spørringsdiagnose gir to visninger: oppsummert og detaljert. Den summerte visningen «skjuler» flere relaterte operasjoner i én enkelt operasjon. I denne prosessen kombineres detaljer som innhentes av hver operasjon, og de eksklusive varighetene summeres. Ingen informasjon går tapt som en del av denne prosessen.
Den oppsummerte visningen gir en oversikt over hva som skjedde under en evaluering for enkel gjennomgang på høyt nivå. Hvis ytterligere fordeling er ønsket for en bestemt operasjon, kan du se på gruppe-ID-en og vise de tilsvarende operasjonene som ble gruppert i detaljvisningen.
Når det oppstår en oppdatering i redigeringsprogrammet for Power Query, er det mye gjort bak kulissene for å prøve å gi deg en flytende brukeropplevelse. Når du for eksempel oppdaterer forhåndsvisningen, utfører evaluatoren det siste trinnet i hver gitt spørring. Men i bakgrunnen kjører den sekvensielt n-1 trinn, n-2, trinn og så videre. Så hvis du går tilbake gjennom trinnene, er det allerede tilgjengelig.
Hvis du vil gi høyere ytelse, skjer det for øyeblikket noe hurtigbufring, slik at det ikke trenger å kjøre alle deler av den endelige spørringsplanen på nytt når den går tilbake gjennom trinnene. Selv om denne hurtigbufringen er nyttig for vanlig redigering, betyr det at du ikke alltid får riktig trinnsammenligningsinformasjon på grunn av senere evalueringer som trekker på bufrede data.
Når du analyserer resultatene av et opptak, er det viktig å filtrere innspillingsøkten etter ID, slik at kolonner som eksklusiv varighet i % gir mening.
ID er en sammensatt identifikator. Den er dannet av to tall – én før prikken, og én etter. Det første tallet er det samme for alle evalueringer som skyldes én enkelt brukerhandling. Hvis du med andre ord trykker oppdater to ganger, er det to forskjellige tall som leder prikken, én for hver brukeraktivitet som er tatt. Denne nummereringen er sekvensiell for et gitt diagnoseopptak.
Det andre tallet representerer en evaluering av motoren. Dette tallet er sekvensielt for levetiden til prosessen der evalueringen står i kø. Hvis du kjører flere opptaksøkter for diagnosedata, fortsetter dette tallet å vokse på tvers av de ulike øktene.
Hvis du vil oppsummere, trykker du evaluering én gang hvis du starter innspillingen, og stopper innspillingen, noe av antall ID-er vises i diagnosen. Men siden du bare gjorde én handling, er de alle 1,1, 1,2, 1,3 og så videre.
Kombinasjonen av activityId og evaluationId, atskilt med prikken, gir en unik identifikator for en evaluering av én enkelt opptaksøkt.
Navnet på spørringen i ruten til venstre i redigeringsprogrammet for Power Query.
Navnet på trinnet i ruten til høyre i redigeringsprogrammet for Power Query. Ting som filter-rullegardinlistene knytter vanligvis til trinnet du filtrerer på, selv om du ikke oppdaterer trinnet.
Kategorien for operasjonen.
Disse dataene forteller deg hvilken type datakilde du har tilgang til, for eksempel SQL eller Oracle.
Den faktiske operasjonen som utføres. Denne operasjonen kan omfatte evaluatorarbeid, åpning av tilkoblinger, sending av spørringer til datakilden og mange flere.
Tidspunktet da operasjonen startet.
Tidspunktet da operasjonen ble avsluttet.
Kolonnen Eksklusiv varighet for en hendelse er hvor lang tid hendelsen var aktiv. Dette står i kontrast til «varighet»-verdien som resulterer i å trekke fra verdiene i kolonnen Starttidspunkt og Sluttidspunkt i en hendelse. Denne varighetsverdien representerer den totale tiden som gikk mellom da en hendelse begynte og da den ble avsluttet, noe som kan omfatte tidspunkt hendelsen var i en avbrutt eller inaktiv tilstand, og en annen hendelse brukte ressurser.
Eksklusiv varighet % legger opp til omtrent 100 % i en gitt evaluering, som representert av ID-kolonnen. Hvis du for eksempel filtrerer på rader med ID 1.x, summerer prosentdelen for alenevarighet til omtrent 100 %. Dette er ikke tilfelle hvis du summerer verdiene for alenevarighet i % for alle rader i en gitt diagnosetabell.
Absolutt tid, i stedet for %, av eksklusiv varighet. Den totale varigheten (det vil eksempel: eksklusiv varighet + tid da hendelsen var inaktiv) av en evaluering, kan beregnes på én av to måter:
Finn operasjonen kalt Evaluering. Forskjellen mellom sluttidspunkt og starttidspunkt resulterer i den totale varigheten for en hendelse.
Trekk fra minimum starttidspunkt for alle operasjoner i en hendelse fra det maksimale sluttidspunktet. I tilfeller der informasjonen som innhentes for en hendelse ikke tar hensyn til den totale varigheten, genereres en operasjon kalt Sporingshull for å ta hensyn til dette tidsgapet.
Ressursen du får tilgang til for data. Det nøyaktige formatet for denne ressursen avhenger av datakilden.
Power Query gjør noe som kalles folding, som er å kjøre så mange deler av spørringen mot bakdatakilden som mulig. I DirectQuery-modus (over Power Query), der aktivert, transformerer bare denne foldkjøringen. I importmodus kjøres transformeringer som ikke kan brettes, lokalt.
Med kolonnen Datakildespørring kan du se spørringen eller HTTP-forespørselen/svaret som sendes mot datakilden. Når du redigerer spørringen i redigeringsprogrammet, sendes mange datakildespørringer. Noen av disse spørringene er den endelige datakildespørringen for å gjengi forhåndsvisningen. Andre kan imidlertid være for dataprofilering, rullegardinmenyer for filtrering, informasjon om sammenføyninger, henting av metadata for skjemaer og en rekke andre små spørringer.
Generelt sett bør du ikke være bekymret for antall datakildespørringer som slippes ut med mindre det er bestemte grunner til å være bekymret. I stedet bør du fokusere på å sørge for at riktig innhold hentes. Denne kolonnen kan også bidra til å avgjøre om Power Query-evalueringen var fullstendig brettet.
Det er mye informasjon som hentes av koblingene våre. Mye av det er fillete og passer ikke godt inn i et standard kolonnehierarki. Denne informasjonen plasseres i en post i tilleggsinformasjonskolonnen. Informasjon som er logget fra egendefinerte koblinger, vises også her.
Antall rader som returneres av en datakildespørring. Ikke aktivert på alle koblinger.
Innholdslengde returnert av HTTP-forespørsler, som vanlig definert. Dette skjemaet er ikke aktivert i alle koblinger, og det er ikke nøyaktig for koblinger som henter forespørsler i deler.
En boolsk verdi som angir om det er en spørring som er forfattet av brukeren og finnes i ruten til venstre, eller om den ble generert av en annen brukerhandling. Andre brukerhandlinger kan inkludere ting som filtervalg eller bruk av navigatøren i hent dataopplevelsen.
Bane representerer den relative ruten for operasjonen når den vises som en del av et intervalltre for alle operasjoner i én enkelt evaluering. Øverst (rot) i treet er det én enkelt operasjon kalt Evaluering med banen «0». Starttidspunktet for denne evalueringen tilsvarer starten på denne evalueringen som helhet. Sluttidspunktet for denne evalueringen viser når hele evalueringen er fullført. Denne operasjonen på øverste nivå har en eksklusiv varighet på 0, da det eneste formålet er å tjene som roten til treet.
Videre operasjonsgren fra roten. En operasjon kan for eksempel ha «0/1/5» som bane. Denne banen vil bli forstått som:
- 0: trerot
- 1: overordnet operasjon for gjeldende operasjon
- 5: indeks for gjeldende operasjon
Operasjon "0/1/5" kan ha en underordnet node, i så fall har banen skjemaet "0/1/5/8", med 8 som representerer indeksen for den underordnede.
Kombinasjon av to (eller flere) operasjoner oppstår ikke hvis det fører til detaljtap. Grupperingen er utformet for å tilnærmet «kommandoer» som ble utført under evalueringen. I den detaljerte visningen deler flere operasjoner en gruppe-ID som tilsvarer gruppene som aggregeres i sammendragsvisningen.
Som med de fleste kolonner er gruppe-ID-en bare relevant i en bestemt evaluering, som filtrert etter ID-kolonnen.
Samme som ID-en for de andre resultatene av spørringsdiagnose. Heltallsdelen representerer én enkelt aktivitets-ID, mens brøkdelen representerer én enkelt evaluering.
Tilsvarer spørringen/trinnet som brukes som en brannmurpartisjon.
Kategorisering som forklarer hvorfor denne partisjonen må evalueres separat, inkludert detaljer om personvernnivået for partisjonen.
Liste over ressursbaner for alle ressursene som åpnes av denne partisjonen, og identifiserer vanligvis en datakilde unikt.
Liste over partisjonstaster som gjeldende partisjon avhenger av (denne listen kan brukes til å bygge en graf).
Uttrykket som evalueres oppå partisjonens spørring/trinn. I flere tilfeller sammenfaller det med spørringen/trinnet.
Tidspunktet da evalueringen startet for denne partisjonen.
Tidspunktet da evalueringen ble avsluttet for denne partisjonen.
En verdi avledet fra sluttidspunkt minus Starttidspunkt.
Hvis partisjoner antas å kjøre i én tråd, er eksklusiv varighet den «reelle» varigheten som kan tilskrives denne partisjonen.
Eksklusiv varighet som en prosentdel.
Denne kolonnen vises bare når spørringsdiagnosen «Aggregert» eller «Detaljert» også fanges opp, slik at brukeren kan samsvare mellom de to diagnoseutdataene.
Når du kjører ytelsestellere, tar Power Query hvert halve sekund et øyeblikksbilde av ressursutnyttelsen. Dette øyeblikksbildet er ikke nyttig for svært raske spørringer, men kan være nyttig for spørringer som bruker mye mer ressurser.
Prosent av tiden som brukes av prosessorer på spørringen. Denne prosentandelen kan nå over 100 % på grunn av flere prosessorer.
Total varighet for prosessortid brukt på spørringen.
Gjennomstrømmingshastighet for data mottatt fra datakilden, uttrykt i byte per sekund.
Mengden virtuelt minne reservert av evalueringen.
Minnemengde reservert av evalueringen.