Hvorfor kjøres spørringen flere ganger?

Når du oppdaterer i Power Query, er det mye gjort bak kulissene for å prøve å gi deg en jevn brukeropplevelse, og for å utføre spørringene effektivt og sikkert. I noen tilfeller vil du imidlertid kanskje legge merke til at flere datakildeforespørsler utløses av Power Query når dataene oppdateres. Noen ganger er disse forespørslene normale, men andre ganger kan de forebygges.

Når flere forespørsler oppstår

Avsnittene nedenfor beskriver noen forekomster når Power Query kan sende flere forespørsler til en datakilde.

Koble til or utforming

Koble til orer kan foreta flere anrop til en datakilde av ulike årsaker, inkludert metadata, hurtigbufring av resultater, paginering og så videre. Denne virkemåten er normal og er utformet for å fungere på den måten.

Flere spørringer som refererer til én enkelt datakilde

Flere forespørsler til samme datakilde kan oppstå hvis flere spørringer hentes fra datakilden. Disse forespørslene kan skje selv i et tilfelle der bare én spørring refererer til datakilden. Hvis denne spørringen refereres til av én eller flere andre spørringer, evalueres hver spørring – sammen med alle spørringene den avhenger av– uavhengig av hverandre.

I et skrivebordsmiljø kjøres én enkelt oppdatering av alle tabellene i datamodellen ved hjelp av én enkelt delt hurtigbuffer. Hurtigbufring kan redusere sannsynligheten for flere forespørsler til samme datakilde, siden én spørring kan dra nytte av den samme forespørselen som allerede er kjørt og bufret for en annen spørring. Selv her kan du imidlertid få flere forespørsler enten fordi datakilden ikke bufres (for eksempel lokale CSV-filer), forespørselen til datakilden er forskjellig fra en forespørsel som allerede er bufret på grunn av nedstrømsoperasjoner (som kan endre folding), hurtigbufferen er for liten (noe som er relativt usannsynlig), eller fordi spørringene kjører omtrent samtidig.

I et skymiljø oppdateres hver spørring ved hjelp av sin egen separate hurtigbuffer, slik at en spørring ikke kan dra nytte av at den samme forespørselen allerede er hurtigbufret for en annen spørring.

Folding

Noen ganger kan Power Querys sammenleggbare lag generere flere forespørsler til en datakilde, basert på operasjonene som utføres nedstrøms. I slike tilfeller kan du unngå flere forespørsler ved hjelp Table.Bufferav . Mer informasjon: Bufre tabellen

Laster inn i Power BI Desktop-modellen

I Power BI Desktop oppdaterer Analysis Services (AS) data ved hjelp av to evalueringer: én for å hente skjemaet – som AS gjør ved å be om null rader – og én for å hente dataene. Hvis databehandling av nullradskjemaet krever henting av dataene, kan dupliserte datakildeforespørsler forekomme.

Datavernanalyse

Personvern gjør sine egne evalueringer av hver spørring for å avgjøre om spørringene er trygge å kjøre sammen. Denne evalueringen kan noen ganger føre til flere forespørsler til en datakilde. Et telltale tegn på at en gitt forespørsel kommer fra data personvernanalyse er at den vil ha en "TOP 1000" tilstand (selv om ikke alle datakilder støtter en slik tilstand). Generelt ville deaktivering av personvern – forutsatt at det er akseptabelt – eliminere «TOP 1000» eller andre forespørsler om personvernrelaterte data under oppdateringen. Mer informasjon: Deaktivere brannmuren for personvern

Bakgrunnsdatanedlastinger (også kalt «bakgrunnsanalyse»)

I likhet med evalueringene som utføres for personvern, laster Redigeringsprogrammet for Power Query som standard ned en forhåndsvisning av de første 1000 radene i hvert spørringstrinn. Nedlasting av disse radene bidrar til å sikre at forhåndsvisningen av data er klar til å vises så snart et trinn er valgt, men det kan også føre til dupliserte datakildeforespørsler. Mer informasjon: Deaktiver bakgrunnsanalyse

Diverse bakgrunnsoppgaver i Power Query-redigeringsprogrammet

Ulike bakgrunnsoppgaver i Power Query-redigeringsprogrammet kan også utløse ekstra datakildeforespørsler (for eksempel spørringsdelegeringsanalyse, kolonneprofilering, automatisk oppdatering av forhåndsvisningen på 1000 rader som Power Query utløser etter innlasting av resultater til Excel og så videre).

Isolere flere spørringer

Du kan isolere forekomster av flere spørringer ved å deaktivere bestemte deler av spørringsprosessen for å isolere hvor de dupliserte forespørslene kommer fra. Hvis du for eksempel starter:

  • I redigeringsprogrammet for Power Query
  • Med brannmuren deaktivert
  • Med bakgrunnsanalyse deaktivert
  • Med kolonneprofilering og eventuelle andre bakgrunnsoppgaver deaktivert
  • [Valgfritt] Gjør en Table.Buffer

I dette eksemplet har du bare én enkelt M-evaluering som skjer når du oppdaterer forhåndsvisningen av Power Query-redigeringsprogrammet. Hvis dupliserte forespørsler forekommer på dette tidspunktet, er de på en eller annen måte iboende i måten spørringen redigeres på. Hvis ikke, og hvis du aktiverer innstillingene ovenfor én etter én, kan du deretter observere på hvilket tidspunkt dupliserte forespørsler begynner å skje.

Avsnittene nedenfor beskriver disse trinnene mer detaljert.

Konfigurere Redigeringsprogram for Power Query

Du trenger ikke å koble til eller gjenopprette spørringen på nytt, bare åpne spørringen du vil teste i redigeringsprogrammet for Power Query. Du kan duplisere spørringen i redigeringsprogrammet hvis du ikke vil rote med den eksisterende spørringen.

Deaktivere brannmuren for personvern

Det neste trinnet er å deaktivere brannmuren for personvern. Dette trinnet forutsetter at du ikke er bekymret for datalekkasje mellom kilder, så deaktivering av personvernbrannmuren kan gjøres ved hjelp av innstillingene for alltid ignorer personvernnivå som er beskrevet i alternativet Angi hurtigkombinering i Excel, eller ved hjelp av Ignorer personvernnivåene og potensielt forbedre ytelsesinnstillingene som er beskrevet i Personvernnivåer for Power BI Desktop i Power BI Desktop.

Pass på å angre dette trinnet før du gjenopptar normal testing.

Deaktiver bakgrunnsanalyse

Neste trinn er å deaktivere bakgrunnsanalyse. Bakgrunnsanalyse styres av Tillat at forhåndsvisning av data lastes ned i bakgrunnsinnstillingen som er beskrevet i Deaktiver power query-bakgrunnsoppdatering for Power BI. Du kan også deaktivere dette alternativet i Excel.

Bilde som viser spørringsalternativer i Excel med bakgrunnsanalyse deaktivert.

Bufre tabellen

Du kan også bruke Table.Buffer til å tvinge alle dataene til å leses, noe som etterligner hva som skjer under en innlasting. Slik bruker Table.Buffer du i redigeringsprogrammet for Power Query:

  1. Velg fx-knappen på formellinjen i redigeringsprogrammet for Power Query for å legge til et nytt trinn.

    Bilde med plasseringen av fx-knappen fremhevet.

  2. I formellinjen omslutter du navnet på forrige trinn med Table.Buffer(<forrige trinnnavn går hit>). Hvis for eksempel det forrige trinnet ble kalt Source, vises = Sourceformellinjen. Rediger trinnet på formellinjen for å si = Table.Buffer(Source).

Mer informasjon: Table.Buffer

Kjør testen

Hvis du vil kjøre testen, gjør du en oppdatering i redigeringsprogrammet for Power Query.

Bilde med plasseringen av oppdateringsknappen fremhevet.