Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
Merk deg
Før du leser denne artikkelen, les Oversikt over query evaluation og query folding i Power Query for å bedre forstå hvordan folding fungerer i Power Query.
Indikatorer for spørringsbretting hjelper deg å forstå hvilke trinn som folder og hvilke som ikke gjør det.
Når du bruker indikatorer for spørringsbretting, blir det tydelig når du gjør en endring som bryter foldingen. Denne funksjonen hjelper deg å løse problemer raskt, unngå ytelsesproblemer og få bedre innsikt i spørringene dine. I de fleste tilfeller folder stegene seg enten eller gjør det ikke. Men det finnes mange tilfeller hvor utfallet ikke er åpenbart. Disse tilfellene diskuteres i trinn-diagnostikkindikatorer (Dynamisk, Ugjennomsiktig og Ukjent).
Merk deg
Funksjonen for spørringsdelegeringsindikatorer er bare tilgjengelig for Power Query Online.
Tolke diagnostikk for spørringsdelegering
Når du undersøker spørringsdelegeringsindikatoren ved siden av et trinn, er det viktigste å forstå at diagnosetilstanden ikke er sekvensiell. Indikatoren for dette trinnet beskriver med andre ord om spørringen som helhet, opp til dette punktet, brettes eller ikke. Hvis du har en indikator som viser at spørringen ikke brettes etterfulgt av en indikator som viser at den brettes, betyr det at spørringen opp til dette punktet brettes.
Denne tolkningen fungerer selv med en enkel spørring mot en SQL-kilde. Hvis du for eksempel bruker eksempeldatabasen AdventureWorks, kobler du til Production.Product-tabellen og laster inn data. Hvis du laster inn dette eksemplet gjennom Power Query-navigatøren, får du følgende spørring:
let
Source = Sql.Database("ServerName", "AdventureWorks"),
Navigation = Source{[Schema = "Production", Item = "Product"]}[Data]
in
Navigation
Hvis du undersøker hvordan denne koden vises i spørringsdelegeringsindikatorer, merker du deg at det første trinnet er ufullstendig. Men det andre trinnet brettes, noe som betyr at spørringen opp til dette punktet brettes.
I dette eksemplet kan ikke de første trinnene bekreftes å brettes (er ufullstendig), men det siste trinnet som genereres når du laster inn data, brettes i utgangspunktet. Hvordan de første trinnene (Kilde og noen ganger andre navigasjonstrinn ) håndteres, avhenger av koblingen. Med SQL håndteres for eksempel trinnet som en katalogtabellverdi, som ikke brettes. Men så snart du velger data for denne koblingen, brettes den.
Denne indikasjonen kan derimot også bety at spørringen brettes opp til et punkt og deretter slutter å brette. En indikator som ikke bretter betyr ikke at ingenting foldes. I stedet betyr det at ikke alt foldes. Vanligvis brettes alt opp til den siste foldingsindikatoren, med flere operasjoner som skjer etterpå.
Hvis du endrer det forrige eksemplet, kan du gi en transformering som aldri brettes – Stor forbokstav for hvert ord.
let
Source = Sql.Database("ServerName", "AdventureWorks"),
Navigation = Source{[Schema = "Production", Item = "Product"]}[Data],
#"Capitalized each word" = Table.TransformColumns(Navigation, {{"Name", each Text.Proper(_), type text}})
in
#"Capitalized each word"
I spørringsdelegeringsindikatorene har du de samme indikatorene som tidligere, bortsett fra at det siste trinnet ikke brettes. Alt opp til dette siste trinnet utføres på datakilden, mens det siste trinnet utføres lokalt.
Trinndiagnoseindikatorer
Indikatorer for spørringsfolding bruker en underliggende spørringsplan, og krever at den rapporterer informasjon om spørringen. For øyeblikket støtter spørringsplanen bare tabeller, slik at noen tilfeller (lister, poster, primitive) ikke rapporterer som folding eller ikke. På samme måte rapporterer konstante tabeller som ugjennomsiktige.
| Viser | Ikon | Beskrivelse |
|---|---|---|
| Folding |
|
Foldingindikatoren forteller deg at datakilden evaluerer spørringen frem til dette trinnet. |
| Ikke folding |
|
Indikatoren for ikke-folding forteller deg at en del av spørringen frem til dette trinnet evalueres utenfor datakilden. Du kan sammenligne den med den siste foldingsindikatoren, hvis det er en, for å se om du kan omorganisere spørringen for å være mer performant. |
| Kan brettes |
|
Kan brette indikatorer er uvanlige. De betyr at en spørring «kan» brettes. De angir enten at folding eller ikke folding bestemmes ved kjøring, når du trekker resultater fra spørringen, og at spørringsplanen er dynamisk. Disse indikatorene vises sannsynligvis bare med ODBC- eller OData-tilkoblinger. |
| Ugjennomsiktig |
|
Ugjennomsiktige indikatorer forteller deg at den resulterende spørringsplanen er ufullstendig av en eller annen grunn. Det indikerer vanligvis at det finnes en ekte "konstant" tabell, eller at indikatorene og spørringsplanverktøyet ikke støtter denne transformeringen eller koblingen. |
| Ukjent |
|
Ukjente indikatorer representerer fraværet av en spørringsplan, enten på grunn av en feil eller forsøk på å kjøre evalueringen av spørringsplanen på noe annet enn en tabell (for eksempel en post, liste eller primitiv). |
Eksempelanalyse
Start med å koble til Production.Product-tabellen i Adventure Works (SQL) for eksempel analyse. Den første innlastingen, på samme måte som det første eksemplet, ser ut som bildet nedenfor.
Når du legger til flere trinn som foldes, forlenger du den grønne linjen til høyre. Denne utvidelsen oppstår fordi dette trinnet også brettes.
Når du legger til et trinn som ikke folder seg, ser du en annen indikator. Stor for eksempel at hvert ord aldri brettes. Indikatoren endres, og viser at fra og med dette trinnet sluttet den å brette. Som nevnt tidligere, de forrige trinnene fortsatt folde.
Når du legger til flere trinn nedstrøms som er avhengige av Capitalize hvert steg, fortsetter de å ikke foldes.
Men hvis du fjerner kolonnen du anvendte store bokstaver på slik at den optimaliserte spørringsplanen kan foldes igjen, får du et resultat som følgende bildet. Men noe som dette er uvanlig. Dette bildet illustrerer hvordan det ikke bare er rekkefølgen på trinnene, men også de faktiske transformasjonene som gjelder.