Løs problemer med ydeevnen

Fuldført

Af og til har organisationer brug for at håndtere problemer med ydeevnen, når de kører rapporter. Power BI indeholder værktøjet Effektivitetsanalyse, som hjælper dig med at løse problemer og strømline processen.

Forestil dig et scenarie, hvor du opretter rapporter til salgsteamet i din organisation. Du har importeret data, som findes i flere tabeller i salgsteamets SQL-database, ved at oprette en dataforbindelse til databasen via DirectQuery. Når du opretter foreløbige visualiseringer og filtre, vil du bemærke, at der sendes forespørgsler til nogle tabeller hurtigere end til andre, og nogle filtre tager længere tid at behandle sammenlignet med andre.

Optimer ydeevnen i Power Query

Ydeevnen i Power Query afhænger af ydeevnen på datakildens niveau. Der er mange forskellige datakilder, som Power Query tilbyder, og teknikkerne til justering af ydeevnen for hver kilde er lige brede. Hvis du f.eks. udtrækker data fra en Microsoft SQL Server, skal du følge vejledningen til justering af ydeevnen for dette produkt. Gode SQL Server teknikker til justering af ydeevnen omfatter oprettelse af indeks, hardwareopgraderinger, justering af udførelsesplan og datakomprimering. Disse emner ligger uden for denne artikels område, og de dækkes kun som et eksempel for at opbygge kendskab til din datakilde og hæste fordelene ved at bruge Power BI og Power Query.

Power Query drager fordel af god ydeevne ved datakilden via en teknik kaldet Forespørgselsdelegering.

Forespørgselsdelegering

Forespørgselsdelegeringen i Power Query-editor hjælper dig med at øge ydeevnen af dine Power BI-rapporter. Forespørgselsdelegering er den proces, hvor de transformationer og redigeringer, du foretager i Power Query-editor spores samtidig som oprindelige forespørgsler eller simple Select SQL-sætninger, mens du aktivt foretager transformationer. Årsagen til at implementere denne proces er at sikre, at disse transformationer kan finde sted på den oprindelige datakildeserver og ikke overvælde Power BI-beregningsressourcer.

Du kan bruge Power Query til at indlæse data i Power BI. Brug derefter Power Query-editor til at transformere dine data, f.eks. omdøbning eller sletning af kolonner, tilføjelse, fortolkning, filtrering eller gruppering af dine data.

Tænk på et scenarie, hvor du har omdøbt nogle få kolonner i salgsdataene og flettet en kolonne med by og stat i formatet "by stat". I mellemtiden sporer funktionen til forespørgselsdelegering disse ændringer i de oprindelige forespørgsler. Når du derefter indlæser dine data, sker transformationen uafhængigt i den oprindelige kilde, hvilket sikrer, at ydeevnen er optimeret i Power BI.

Fordelene ved forespørgselsdelegering omfatter:

  • Større effektivitet i opdatering af data og trinvise opdateringer. Når du importerer datatabeller ved hjælp af forespørgselsdelegering, er Power BI bedre i stand til at tildele ressourcer og opdatere dataene hurtigere, fordi Power BI ikke behøver at gennemgå hver transformation lokalt.

  • Automatisk kompatibilitet med DirectQuery- og Dual-lagertilstande. Alle datakilder i DirectQuery- og Dual-lagertilstande skal have egenskaber til behandling af back end-serveren for at oprette en direkte forbindelse, hvilket betyder, at forespørgselsdelegering er en automatisk egenskab, du kan bruge. Hvis alle transformationer kan reduceres til en enkelt Select-sætning, kan forespørgselsdelegering forekomme.

I følgende scenarie vises forespørgselsdelegering i handlingen. I dette scenarie kan du anvende et sæt forespørgsler på flere tabeller. Når du har tilføjet en ny datakilde ved hjælp af Power Query, og du bliver dirigeret til Power Query-editor, skal du gå til ruden Forespørgselsindstillinger og højreklikke på det senest anvendte trin, som vist i følgende figur.

Hvis indstillingen Vis oprindelig forespørgsel ikke er tilgængelig (vises ikke med fed), er forespørgselsdelegering ikke mulig for dette trin, og du skal arbejde bagud i området Anvendte trin , indtil du når det trin, hvor Vis oprindelig forespørgsel er tilgængelig (vises med fed skrift). Denne proces viser den oprindelige forespørgsel, der bruges til at transformere den semantiske model.

Oprindelige forespørgsler er ikke mulige for følgende transformationer:

  • Tilføjelse af en indekskolonne
  • Fletning og tilføjelse af kolonner i forskellige tabeller med to forskellige kilder
  • Ændring af en kolonnes datatype

En god tommelfingerregel er, at hvis du kan overføre en transformation til en SQL-sætning af typen Select, som indeholder operatorer og parametre, f.eks. GRUPPER EFTER, SORTER EFTER, HVOR, FOREN ALLE og JOINFORBIND, så kan du bruge forespørgselsdelegering.

Forespørgselsdelegering er én mulighed for at optimere ydeevnen, når du henter, importerer og forbereder data, men en anden mulighed er forespørgselsdiagnosticering.

Forespørgselsdiagnosticering

Et andet værktøj, som du kan bruge til at undersøge ydeevnen af forespørgslen, er forespørgselsdiagnosticering. Du kan afgøre, hvilke flaskehalse der kan være, når du indlæser og transformerer dine data, opdaterer dine data i Power Query, kører SQL-sætninger i Power Query-editor osv.

Du får adgang til forespørgselsdiagnosticering i Power Query-editor ved at gå til Værktøjer på båndet Hjem. Når du er klar til at begynde at transformere dine data eller foretage andre ændringer i Power Query-editor, skal du vælge Start diagnosticering i afsnittet Sessionsdiagnosticering. Når du er færdig, skal du sørge for at vælge Stop diagnosticering.

Hvis du vælger Diagnosticer trin, kan du se, hvor lang tid det tager at køre det pågældende trin, som vist på følgende billede. Dette valg kan fortælle dig, om et trin tager længere tid at fuldføre end andre, hvilket derefter fungerer som udgangspunkt for yderligere undersøgelse.

Dette værktøj er nyttigt, når du vil analysere ydeevnen på Power Query side for opgaver, f.eks. indlæsning af semantiske modeller, kørsel af dataopdateringer eller kørsel af andre transformerende opgaver.

Andre teknikker til optimering af ydeevnen

Andre måder at optimere ydeevnen af forespørgslen på i Power BI omfatter:

  • Behandl så mange data som muligt i den oprindelige datakilde. Med Power Query og Power Query-editor kan du behandle dataene, men den behandlingskraft, der skal bruges til at fuldføre denne opgave, kan reducere ydeevnen i andre områder af dine rapporter. Generelt er det en god idé at behandle så meget som muligt i den oprindelige datakilde.

  • Brug oprindelige SQL-forespørgsler. Når du bruger DirectQuery til SQL-databaser, f.eks. i vores scenarie, skal du sørge for, at du ikke henter data fra lagrede procedurer eller almindelige tabeludtryk (CTE'er).

  • Adskil dato og klokkeslæt, hvis de er forbundet. Hvis nogle af dine tabeller indeholder kolonner, der kombinerer dato og klokkeslæt, skal du sørge for, at du adskiller dem i entydige kolonner, før du importerer dem i Power BI. Denne tilgang vil øge komprimeringsegenskaberne.

Du kan finde flere oplysninger i Vejledning til forespørgselsdelegering og Forespørgselsdelegering.