Del via


indikatorer for spørringsdelegering

Merk

Før du leser denne artikkelen, anbefaler vi at du leser oversikt over spørringsevaluering og spørringsdelegering i Power Query for bedre å forstå hvordan folding fungerer i Power Query.

Spørringsdelegeringsindikatorer hjelper deg med å forstå trinnene som brettes eller ikke brettes.

Med spørringsdelegeringsindikatorer blir det tydelig når du gjør en endring som bryter foldingen. Denne funksjonen hjelper deg med å løse problemer raskere, unngå ytelsesproblemer i utgangspunktet og få bedre innsikt i spørringene. I de fleste tilfeller støter du på, trinn brettes eller ikke brettes. Men det er mange tilfeller der utfallet ikke er så opplagt, og disse tilfellene diskuteres i trinndiagnoseindikatorer (dynamisk, ugjennomsiktig og ukjent).

Merk

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.

Skjermbilde av trinnene kilde og navigering i indikatorruten Folding.

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 den for eksempel 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. I motsetning til i tilfeller der du har en sammenleggbar indikator for trinnet som viser at alt brettes, betyr det ikke at alt ikke brettes når du har en ikke-foldingsindikator. I stedet betyr det at "ikke alt" brettes. 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.

Skjermbilde av trinnene Kilde, Navigasjon og Stor forbokstav for hvert ord i ruten Forbrettingsindikator.

Trinndiagnoseindikatorer

Spørringsdelegeringsindikatorer bruker en underliggende spørringsplan, og krever at den kan få informasjon om spørringen for å rapportere den. 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.

Indikator Ikon Bekrivelse
Folding Brettingsindikatoren forteller deg at spørringen frem til dette trinnet evalueres av datakilden.
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 utførlig.
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. Den angir vanligvis at det finnes en ekte "konstant" tabell, eller at transformeringen eller koblingen ikke støttes av indikatorene og verktøyet for spørringsplan.
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.

Skjermbilde av de første trinnindikatorene for innlasting av produkttabellen.

Hvis du legger til flere trinn som brettes, utvides den grønne linjen på høyre side. Denne utvidelsen oppstår fordi dette trinnet også brettes.

Skjermbilde som viser hvordan du legger til et fjern kolonnetrinn i den forrige spørringen, utvider den grønne indikatorlinjen for folding.

Hvis du legger til et trinn som ikke brettes, vises 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.

Skjermbilde som viser hvordan du legger til en stor forbokstav i hvert Word-trinn.

Legge til flere trinn nedstrøms som avhenger av Capitalize hvert trinn fortsetter å ikke brette.

Skjermbilde som viser hvordan folding ikke skjer når du har lagt til flere trinn.

Hvis du imidlertid fjerner kolonnen du brukte stor forbokstav på, slik at den optimaliserte spørringsplanen kan brettes én gang til, får du et resultat som følgende bilde. 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.

Skjermbilde som viser hvordan fjerning av den problematiske kolonnen gjør det mulig å brette uten å fjerne trinnet.