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. Et trinn brettes når Power Query oversetter transformasjonene til en datakildespørring og kjører dem på datakilden.
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 med å løse problemer, unngå ytelsesproblemer og få bedre innsikt i spørringene. I de fleste tilfeller folder stegene seg enten eller gjør det ikke. Men det finnes mange tilfeller hvor utfallet ikke er åpenbart. Delen For diagnoseindikatorer for trinn dekker disse tilfellene (kan brettes, ugjennomsiktig og ukjent).
Merk deg
Funksjonen for spørringsdelegeringsindikatorer er bare tilgjengelig for Power Query Online.
Tolke diagnostikk for spørringsdelegering
I Power Query Online viser spørringsdelegeringsindikatoren ved siden av et trinn om spørringen som helhet, frem til dette punktet, brettes. Diagnosetilstanden er ikke sekvensiell. Hvis en indikator viser at spørringen ikke brettes etterfulgt av en indikator som viser at den brettes, brettes spørringen opp til dette punktet.
Denne tolkningen fungerer selv med en enkel spørring mot en SQL-kilde. Koble for eksempel til Production.Product-tabellen i eksempeldatabasen AdventureWorks, og last deretter inn dataene. 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 ufullstendige), 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). |
Analysere spørringsdelegeringsindikatorer
Hvis du vil analysere spørringsdelegeringsindikatorer, kobler du til Production.Product-tabellen i AdventureWorks (SQL). Den første belastningen viser kildetrinnet som ufullstendig og navigasjonstrinnet som folding, som vist i 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 avhenger av Stor forbokstav for hvert ord, fortsetter de å ikke brette.
Hvis du fjerner kolonnen du brukte stor forbokstav på, kan imidlertid den optimaliserte spørringsplanen brettes på nytt. I dette uvanlige resultatet brettes det siste trinnet selv om et tidligere trinn ikke brettes, som vist i bildet nedenfor. Dette resultatet illustrerer hvordan folding avhenger av både rekkefølgen på trinnene og transformasjonene som gjelder.