Hvorfor kører min forespørgsel flere gange?

Når du opdaterer i Power Query, gøres der meget bag kulisserne for at forsøge at give dig en problemfri brugeroplevelse og udføre dine forespørgsler effektivt og sikkert. I nogle tilfælde kan du dog opleve, at flere anmodninger om datakilder udløses af Power Query, når data opdateres. Nogle gange er disse anmodninger normale, men andre gange kan de forhindres.

Når der forekommer flere anmodninger

I følgende afsnit beskrives nogle få tilfælde, hvor Power Query kan sende flere anmodninger til en datakilde.

Forbind eller design

Forbind orer kan foretage flere kald til en datakilde af forskellige årsager, herunder metadata, cachelagring af resultater, sideinddeling osv. Denne funktionsmåde er normal og er designet til at fungere på den måde.

Flere forespørgsler, der refererer til en enkelt datakilde

Der kan opstå flere anmodninger til den samme datakilde, hvis flere forespørgsler hentes fra den pågældende datakilde. Disse anmodninger kan ske selv i et tilfælde, hvor kun én forespørgsel refererer til datakilden. Hvis der refereres til denne forespørgsel af en eller flere andre forespørgsler, evalueres hver forespørgsel – sammen med alle de forespørgsler, den afhænger af – uafhængigt af hinanden.

I et skrivebordsmiljø køres en enkelt opdatering af alle tabellerne i datamodellen ved hjælp af en enkelt delt cache. Cachelagring kan reducere sandsynligheden for flere anmodninger til den samme datakilde, da én forespørgsel kan drage fordel af, at den samme anmodning allerede er blevet kørt og cachelagret for en anden forespørgsel. Selv her kan du dog hente flere anmodninger, enten fordi datakilden ikke er cachelagret (f.eks. lokale CSV-filer), anmodningen til datakilden er anderledes end en anmodning, der allerede er cachelagret på grund af downstream-handlinger (som kan ændre foldning), cachen er for lille (hvilket er relativt usandsynligt), eller fordi forespørgslerne kører på stort set samme tid.

I et cloudmiljø opdateres hver forespørgsel ved hjælp af sin egen separate cache, så en forespørgsel kan ikke drage fordel af, at den samme anmodning allerede er cachelagret for en anden forespørgsel.

Folde

Nogle gange kan Power Querys foldelag generere flere anmodninger til en datakilde baseret på de handlinger, der udføres downstream. I sådanne tilfælde kan du undgå flere anmodninger ved hjælp Table.Bufferaf . Flere oplysninger: Buffer for tabellen

Indlæser i Power BI Desktop-modellen

I Power BI Desktop opdaterer Analysis Services (AS) data ved hjælp af to evalueringer: én til at hente skemaet – hvilket AS gør ved at bede om nul rækker – og én til at hente dataene. Hvis beregning af skemaet med nul rækker kræver hentning af dataene, kan der forekomme dublerede anmodninger om datakilder.

Analyse af beskyttelse af personlige oplysninger

Beskyttelse af personlige oplysninger udfører sine egne evalueringer af hver forespørgsel for at afgøre, om det er sikkert at køre forespørgslerne sammen. Denne evaluering kan nogle gange medføre flere anmodninger til en datakilde. Et fortællende tegn på, at en given anmodning kommer fra en analyse af beskyttelse af personlige oplysninger, er, at den vil have en "TOP 1000"-betingelse (selvom det ikke er alle datakilder, der understøtter en sådan betingelse). Generelt vil deaktivering af beskyttelse af personlige oplysninger – hvis det antages, at det er acceptabelt – fjerne "TOP 1000" eller andre anmodninger relateret til beskyttelse af personlige oplysninger under opdateringen. Flere oplysninger: Deaktiver firewallen til beskyttelse af personlige oplysninger

Download af baggrundsdata (også kendt som "baggrundsanalyse")

På samme måde som med de evalueringer, der udføres for beskyttelse af personlige oplysninger, downloader Power Query-editor som standard et eksempel på de første 1000 rækker i hvert forespørgselstrin. Download af disse rækker hjælper med at sikre, at dataeksemplet er klar til at blive vist, så snart et trin er valgt, men det kan også medføre identiske anmodninger om datakilder. Flere oplysninger: Deaktiver baggrundsanalyse

Diverse baggrundsopgaver i Power Query-editor

Forskellige baggrundsopgaver i Power Query-editor kan også udløse ekstra anmodninger om datakilder (f.eks. analyse af forespørgselsdelegering, kolonneprofilering, automatisk opdatering af 1000-rækkeeksemplet, som Power Query udløser efter indlæsning af resultater i Excel osv.).

Isolering af flere forespørgsler

Du kan isolere forekomster af flere forespørgsler ved at deaktivere bestemte dele af forespørgselsprocessen for at isolere, hvor dubletanmodningerne kommer fra. Hvis du f.eks. starter:

  • I Power Query-editor
  • Når firewallen er deaktiveret
  • Med baggrundsanalyse deaktiveret
  • Med kolonneprofilering og andre baggrundsopgaver deaktiveret
  • [Valgfri] Gør en Table.Buffer

I dette eksempel har du kun en enkelt M-evaluering, der sker, når du opdaterer prøveversionen af Power Query-editor. Hvis duplikerede anmodninger opstår på dette tidspunkt, er de på en eller anden måde indbygget i den måde, forespørgslen er oprettet på. Hvis ikke, og hvis du aktiverer indstillingerne over en efter en, kan du se, hvornår dubletanmodningerne starter.

I følgende afsnit beskrives disse trin mere detaljeret.

Konfigurer Power Query-editor

Du behøver ikke at oprette forbindelse igen eller genoprette din forespørgsel. Du skal blot åbne den forespørgsel, du vil teste, i Power Query-editoren. Du kan duplikere forespørgslen i editoren, hvis du ikke vil rode med den eksisterende forespørgsel.

Deaktiver firewallen til beskyttelse af personlige oplysninger

Det næste trin er at deaktivere firewallen til beskyttelse af personlige oplysninger. I dette trin antages det, at du ikke er bekymret for datalækage mellem kilder, så deaktivering af firewallen til beskyttelse af personlige oplysninger kan udføres ved hjælp af indstillingen Ignorer altid niveau for beskyttelse af personlige oplysninger, der er beskrevet under Angiv hurtig kombiner i Excel eller ved hjælp af indstillingen Ignorer niveauer for beskyttelse af personlige oplysninger, og øg muligvis ydeevnen, der er beskrevet i niveauer for beskyttelse af personlige oplysninger i Power BI Desktop i Power BI Desktop.

Sørg for at fortryde dette trin, før du genoptager normal test.

Deaktiver baggrundsanalyse

Det næste trin er at deaktivere baggrundsanalyse. Baggrundsanalyse styres af forhåndsvisningen Tillad, at data downloades i baggrundsindstillingen , der er beskrevet i Deaktiver baggrundsopdatering af Power-forespørgsel for Power BI. Du kan også deaktivere denne indstilling i Excel.

Billede, der viser forespørgselsindstillinger i Excel med baggrundsanalyse deaktiveret.

Buffer for tabellen

Du kan også bruge Table.Buffer til at tvinge alle data til at blive læst, hvilket efterligner, hvad der sker under en belastning. Sådan bruges Table.Buffer i Power Query-editor:

  1. På formellinjen i Power Query-editor skal du vælge knappen fx for at tilføje et nyt trin.

    Billede med placeringen af fx-knappen fremhævet.

  2. På formellinjen skal du omgive navnet på det forrige trin med Table.Buffer (<forrige trinnavn vises her>). Hvis det forrige trin f.eks. blev navngivet Source, vises = Sourceformellinjen . Rediger trinnet på formellinjen for at sige = Table.Buffer(Source).

Flere oplysninger: Table.Buffer

Kør testen

Hvis du vil køre testen, skal du udføre en opdatering i Power Query-editoren.

Billede med placeringen af opdateringsknappen fremhævet.