Del via


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 nedgangstider 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ørringsdiagnose.

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, 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 det når du forhåndsviser, redigerer og så videre.

Alternativer for spørringsdiagnose.

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. Dette 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 mister du sporene dine.

Diagnosetyper

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.

Merk

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.

Oppsummert kontra detaljert visning

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 brukeren se på gruppe-ID-en og vise de tilsvarende operasjonene som ble gruppert i detaljvisningen.

Forklare flere evalueringer

Når du oppdaterer 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åndsvisning, 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, slik at 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 drar på bufrede data.

Diagnoseskjema

ID

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, vil det være 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, ser du at dette tallet fortsetter å vokse på tvers av de ulike øktene.

Hvis du starter innspillingen, trykker evaluering én gang og stopper innspillingen, har du et antall ID-er i diagnosen. Men siden du bare gjorde én handling, blir 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.

Query

Navnet på spørringen i ruten til venstre i redigeringsprogrammet for Power Query.

Trinn

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.

Kategori

Kategorien for operasjonen.

Datakildetype

Dette forteller deg hva slags datakilde du har tilgang til, for eksempel SQL eller Oracle.

Operasjon

Den faktiske operasjonen som utføres. Denne operasjonen kan omfatte evaluatorarbeid, åpning av tilkoblinger, sending av spørringer til datakilden og mange flere.

Starttid

Tidspunktet da operasjonen startet.

Sluttidspunkt

Tidspunktet da operasjonen ble avsluttet.

Eksklusiv varighet (%)

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 startet 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.

Eksklusiv varighet

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. Vær oppmerksom på at i tilfeller der informasjonen som samles inn for en hendelse ikke tar hensyn til den totale varigheten, genereres en operasjon kalt Spor hull for å ta hensyn til dette tidsgapet.

Ressurs

Ressursen du får tilgang til for data. Det nøyaktige formatet for denne ressursen avhenger av datakilden.

Datakildespørring

Power Query gjør noe som kalles folding, som er å kjøre så mange deler av spørringen mot bakdatakilden som mulig. I Direct Query-modus (over Power Query), der det er aktivert, vil bare transformeringer som folden vil kjøre. I importmodus vil transformeringer som ikke kan brettes, i stedet kjøres 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 er den faktiske endelige datakildespørringen for å gjengi forhåndsvisningen, men andre kan 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.

Tilleggsinformasjon

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.

Radantall

Antall rader som returneres av en datakildespørring. Ikke aktivert på alle koblinger.

Innholdslengde

Innholdslengde returnert av HTTP-forespørsler, som vanlig definert. Dette er ikke aktivert i alle koblinger, og det vil ikke være nøyaktig for koblinger som henter forespørsler i deler.

Er brukerspørring

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

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.

Gruppe-ID

Kombinasjon av to (eller flere) operasjoner vil ikke skje 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.

Skjema for datavernpartisjoner

ID

Samme som ID-en for de andre resultatene av spørringsdiagnose. Heltallsdelen representerer én enkelt aktivitets-ID, mens brøkdelen representerer én enkelt evaluering.

Partisjonsnøkkel

Tilsvarer spørringen/trinnet som brukes som en brannmurpartisjon.

Brannmurgruppe

Kategorisering som forklarer hvorfor denne partisjonen må evalueres separat, inkludert detaljer om personvernnivået for partisjonen.

Tilgjengelige ressurser

Liste over ressursbaner for alle ressursene som åpnes av denne partisjonen, og identifiserer vanligvis en datakilde unikt.

Partisjonsinndata

Liste over partisjonstaster som gjeldende partisjon avhenger av (denne listen kan brukes til å bygge en graf).

Expression

Uttrykket som evalueres oppå partisjonens spørring/trinn. I flere tilfeller sammenfaller det med spørringen/trinnet.

Starttid

Tidspunktet da evalueringen startet for denne partisjonen.

Sluttidspunkt

Tidspunktet da evalueringen ble avsluttet for denne partisjonen.

Varighet

En verdi avledet fra sluttidspunkt minus Starttidspunkt.

Eksklusiv varighet

Hvis partisjoner antas å kjøre i én tråd, er eksklusiv varighet den «reelle» varigheten som kan tilskrives denne partisjonen.

Eksklusiv varighet %

Eksklusiv varighet som en prosentdel.

Diagnostikk

Denne kolonnen vises bare når spørringsdiagnosen «Aggregert» eller «Detaljert» også fanges opp, slik at brukeren kan samsvare mellom de to diagnoseutdataene.

Skjema for ytelsestellere

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.

% prosessortid

Prosent av tiden som brukes av prosessorer på spørringen. Denne prosentandelen kan nå over 100 % på grunn av flere prosessorer.

Total prosessortid

Total varighet for prosessortid brukt på spørringen.

IO-databyte per sekund

Gjennomstrømmingshastighet for data mottatt fra datakilden, uttrykt i byte per sekund.

Utføring (byte)

Mengden virtuelt minne reservert av evalueringen.

Arbeidssett (byte)

Minnemengde reservert av evalueringen.

Ekstra lesing

Slik registrerer du diagnostikk i ulike brukstilfeller

Mer om å lese og visualisere registrerte sporinger

Slik forstår du hvilke spørringsoperasjoner som brettes ved hjelp av spørringsdiagnose