Bedste fremgangsmåder, når du arbejder med Power Query

Disse Power Query bedste fremgangsmåder hjælper dig med at forbedre forespørgselsydeevnen, drage fordel af forespørgselsdelegering, vælge korrekte datatyper, organisere transformationer og genbruge logik med parametre og brugerdefinerede funktioner. De gælder for både Power Query Desktop- og Power Query Online-oplevelser.

Vælg den rigtige connector

Power Query tilbyder mange dataconnectors. Disse connectorer spænder fra datakilder som TXT, CSV og Excel-filer til databaser som Microsoft SQL Server og populære SaaS-produkter (software as a service), f.eks. Microsoft Dynamics 365 og Salesforce. Hvis en specialbygget connector ikke er tilgængelig i vinduet Hent data , skal du bruge en generisk connector, f.eks. ODBC eller OLE DB.

Vælg den specialbyggede connector til datakilden, når der er en tilgængelig. Den SQL Server connector giver f.eks. en bedre Hent data-oplevelse end den generiske ODBC-connector, når du opretter forbindelse til en SQL Server database. Den SQL Server connector understøtter også ydeevnefunktioner, f.eks. forespørgselsdelegering. Du kan få mere at vide ved at gå til Oversigt over evaluering af forespørgsler og forespørgselsdelegering i Power Query.

Hver dataconnector følger en standardoplevelse, som forklaret i Hent data. Denne standardiserede oplevelse har en fase med navnet Dataeksempel. I denne fase får du et brugervenligt vindue til at vælge de data, du vil hente fra din datakilde, hvis connectoren tillader det, og en simpel dataeksempel på disse data. Du kan endda vælge flere datasæt fra din datakilde via vinduet Navigator .

Skærmbillede af et eksempel på et navigatorvindue, der viser, hvor du kan vælge de data, du har brug for, og ruden med forhåndsvisning af data.

Notat

Hvis du vil se den komplette liste over tilgængelige connectors i Power Query, skal du gå til Connectors i Power Query.

Filtrer data tidligt for at forbedre ydeevnen

Filtrer data så tidligt som muligt for at reducere antallet af rækker, der Power Query processer i senere transformationer. For forbindelser, der understøtter forespørgselsdelegering, kan Power Query sende filtre tilbage til datakilden, som beskrevet i Oversigt over forespørgselsevaluering og forespørgselsdelegering i Power Query. Filtrering af irrelevante data begrænser også de data, der vises i dataeksemplet.

Brug menuen til automatisk filtrering, som viser en særskilt liste over de værdier, der findes i kolonnen, til at vælge de værdier, du vil beholde eller filtrere ud. Brug søgelinjen til at hjælpe dig med at finde værdierne i kolonnen.

Skærmbillede af menuen Til automatisk filtrering i Power Query, hvor kolonneværdierne er fremhævet.

Du kan også drage fordel af de typespecifikke filtre, f.eks . I forrige forrige for en dato, datetime eller endda datotidszonekolonne.

Skærmbillede af et eksempeltype-specifikt filter til en datokolonne med den tidligere mulighed fremhævet.

Disse typespecifikke filtre kan hjælpe dig med at oprette et dynamisk filter, der altid henter data i det forrige x antal sekunder, minutter, timer, dage, uger, måneder, kvartaler eller år.

Skærmbillede af dialogboksen Filterrækker, der viser Is i det forrige datospecifikke filter.

Notat

Hvis du vil vide mere om filtrering af dine data baseret på værdier fra en kolonne, skal du gå til Filtrer efter værdier.

Gør dyre handlinger sidst for at forbedre ydeevnen

Hvis du vil forbedre ydeevnen af prøveversionen i Power Query editor, skal du udføre dyre handlinger sidst. Visse handlinger kræver læsning af hele datakilden for at returnere eventuelle resultater og er derfor langsomme at få vist. Hvis du f.eks. udfører en sortering, er det muligt, at de første par sorterede rækker er i slutningen af kildedataene. Hvis du vil returnere resultater, skal sorteringshandlingen først læse alle rækkerne.

Andre handlinger (f.eks. filtre) behøver ikke at læse alle dataene, før der returneres nogen resultater. I stedet arbejder de med dataene på en såkaldt "streaming"-måde. Dataene "streams" efter, og resultaterne returneres undervejs. I Power Query-editoren behøver sådanne handlinger kun at læse nok af kildedataene for at udfylde prøveversionen.

Når det er muligt, skal du udføre sådanne streaminghandlinger først og udføre dyrere handlinger sidst. Udførelse af handlinger i denne rækkefølge hjælper med at minimere den tid, du bruger på at vente på, at prøveversionen gengives, hver gang du føjer et nyt trin til forespørgslen.

Brug et dataundersæt under udvikling af en forespørgsel

Hvis tilføjelsen af nye trin i Power Query-editoren er langsom, skal du bruge Bevar de første rækker til at begrænse de behandlede data, mens du udvikler forespørgslen. Når du har tilføjet alle de nødvendige trin, skal du fjerne trinnet Bevar første rækker , så den fuldførte forespørgsel behandler hele datasættet.

Brug de korrekte datatyper

Angiv den korrekte datatype for hver kolonne, så Power Query kan gøre typespecifikke transformationer og filtre tilgængelige. Når du f.eks. vælger en datokolonne, kan du bruge indstillingerne under kolonnegruppen Dato og klokkeslæt i menuen Tilføj kolonne . Hvis kolonnen ikke har et datatypesæt, er disse indstillinger nedtonet.

Skærmbillede af båndet i Power Query, der demonstrerer typespecifikke indstillinger i menuen Tilføj kolonne.

Der opstår en lignende situation for de typespecifikke filtre, da de er specifikke for visse datatyper. Hvis kolonnen ikke har defineret den korrekte datatype, er disse typespecifikke filtre ikke tilgængelige.

Skærmbillede af de typespecifikke filtre for en datokolonne.

Det er afgørende, at du altid arbejder med de korrekte datatyper for dine kolonner. Når du arbejder med strukturerede datakilder, f.eks. databaser, hentes oplysningerne om datatypen fra tabelskemaet, der findes i databasen. Men for ustrukturerede datakilder, f.eks. TXT- og CSV-filer, er det vigtigt, at du angiver de korrekte datatyper for de kolonner, der kommer fra den pågældende datakilde. Power Query tilbyder som standard automatisk registrering af datatyper for ustrukturerede datakilder. Du kan læse mere om denne funktion, og hvordan den kan hjælpe dig i Datatyper.

Notat

Hvis du vil vide mere om vigtigheden af datatyper, og hvordan du arbejder med dem, skal du gå til Datatyper.

Profiler og udforsk dine data

Før du forbereder dine data og tilføjer transformationstrin, skal du aktivere Power Query værktøjer til dataprofilering for at finde oplysninger om dine data.

Skærmbillede af dataeksemplet eller værktøjer til dataprofilering i Power Query.

Power Query indeholder tre værktøjer til dataprofilering:

Værktøj Hvad det viser
Kolonnekvalitet Andelen af værdier i en kolonne, der er gyldig, indeholder fejl eller er tomme.
Kolonnedistribution Hyppigheden og fordelingen af værdier i hver kolonne.
Kolonneprofil Detaljerede statistikker om en valgt kolonne.

Du kan også interagere med disse funktioner, hvilket hjælper dig med at forberede dine data.

Skærmbillede, der demonstrerer pegeindstillingerne for datakvalitet.

Notat

Hvis du vil vide mere om værktøjerne til dataprofilering, skal du gå til Værktøjer til dataprofilering.

Dokumentér dit arbejde

Dokumentér en Power Query løsning ved at give trin, forespørgsler og grupper meningsfulde navne og beskrivelser. Disse oplysninger gør formålet med hver transformation nemmere at forstå og vedligeholde.

Selvom Power Query automatisk opretter et trinnavn for dig i ruden anvendte trin, kan du også omdøbe dine trin eller føje en beskrivelse til en af dem.

Skærmbillede af ruden anvendte trin med dokumenterede trin og tilføjede beskrivelser.

Notat

Hvis du vil vide mere om alle de tilgængelige funktioner og komponenter, der findes i ruden anvendte trin, skal du gå til Brug af listen Anvendte trin.

Opdel store forespørgsler i moduler

Opdel en stor Power Query forespørgsel i mindre forespørgsler, der refereres til, for at gøre transformationsfaserne nemmere at forstå og vedligeholde. Selvom en enkelt forespørgsel kan indeholde alle de transformationer og beregninger, du har brug for, er det nemmere at administrere en forespørgsel med mange trin, når den ene forespørgsel refererer til den næste.

Følgende forespørgsel indeholder f.eks. ni trin og indeholder trinnet Flet med priser .

Skærmbillede af ruden anvendte trin med dokumenterede trin og med beskrivelserne tilføjet.

Du kan opdele denne forespørgsel i to på tabeltrinnet Flet med priser . På den måde er det nemmere at forstå de trin, der blev anvendt på salgsforespørgslen før fletningen. Hvis du vil udføre denne handling, skal du højreklikke på trinnet Flet med priser og vælge indstillingen Udtræk forrige .

Skærmbillede af genvejsmenuen for anvendte trin, hvor udtræk forrige trin er fremhævet.

Du bliver derefter bedt om at angive et navn til den nye forespørgsel med en dialogboks. Dette trin opdeler effektivt din forespørgsel i to forespørgsler. Én forespørgsel indeholder alle trinnene før fletningen. Den anden forespørgsel har et indledende trin, der refererer til den nye forespørgsel og resten af de trin, du havde i den oprindelige forespørgsel, fra trinnet Flet med priser nedad.

Skærmbillede af den oprindelige forespørgsel efter udtrækningen af den forrige trinhandling.

Du kan også bruge forespørgselsrefererer efter behov. Men det er en god idé at holde dine forespørgsler på et niveau, der ikke virker skræmmende ved første øjekast med så mange trin.

Notat

Hvis du vil vide mere om forespørgselsrefererer, skal du gå til Om ruden Forespørgsler.

Organiser forespørgsler i grupper

Brug grupper i ruden Forespørgsler til at holde dit arbejde organiseret.

Skærmbillede af genvejsmenuen i ruden Forespørgsler, der demonstrerer, hvordan du arbejder med grupper i Power Query.

Det eneste formål med grupper er at hjælpe dig med at holde dit arbejde organiseret ved at fungere som mapper til dine forespørgsler. Du kan oprette grupper i grupper, hvis du får brug for det. Det er lige så nemt at flytte forespørgsler på tværs af grupper som at trække og slippe.

Prøv at give dine grupper et meningsfuldt navn, der giver mening for dig og din sag.

Notat

Hvis du vil vide mere om alle de tilgængelige funktioner og komponenter, der findes i ruden Forespørgsler, skal du gå til Om ruden Forespørgsler.

Fremtidssikrede forespørgsler

Design forespørgsler til at håndtere forventede ændringer i kildedataene, så fremtidige opdateringer fortsat lykkes. Power Query indeholder transformationer, der gør en forespørgsel robust, når rækkerne, kolonnerne eller værdierne i en datakilde ændres.

Definer omfanget af din forespørgsel, herunder hvad den skal gøre, og hvad den skal tage højde for med hensyn til struktur, layout, kolonnenavne, datatyper og andre relevante komponenter.

Følgende transformationer kan hjælpe en forespørgsel med at forblive modstandsdygtig over for ændringer:

Kildedatascenarie Power Query-transformation Lær mere
Antallet af datarækker ændres, men du skal fjerne et fast antal rækker i sidefoden. Fjern de nederste rækker Filtrer en tabel efter rækkeplacering
Antallet af kolonner ændres, men forespørgslen kræver kun bestemte kolonner. Vælg kolonner Vælg eller fjern kolonner
Antallet af kolonner ændres, men forespørgslen må kun frigøre et bestemt undersæt. Ophæv kun markerede kolonner Normalisere kolonner
En datatypekonvertering medfører fejl for værdier, der ikke er i overensstemmelse med måltypen. Fjern de rækker, der indeholder fejl. Håndtering af fejl

Bruge parametre

Brug Power Query parametre til at gemme og administrere værdier, som du kan genbruge i transformationer, datakildefunktioner og brugerdefinerede funktioner. Parametre gør det nemmere at opdatere forespørgsler, fordi du kan ændre en værdi på én placering i stedet for at redigere hver forespørgsel, der bruger den. To almindelige scenarier er:

  • Trinargument: Brug en parameter som argument for flere transformationer, der er baseret på brugergrænsefladen.

    Skærmbillede af dialogboksen Filtrer rækker med indstillingen Vælg en parameter angivet for transformationsargumentet.

  • Argumentet Custom Function: Opret en ny funktion ud fra en forespørgsel, og referenceparametre som argumenterne for din brugerdefinerede funktion.

    Skærmbillede af genvejsmenuen Opret funktion for forespørgsler fremhævet og dialogboksen Opret funktion.

De vigtigste fordele ved at oprette og bruge parametre er:

  • Centraliseret visning af alle dine parametre via vinduet Administrer parametre .

    Skærmbillede af rullemenuen Administrer parametre med ny parameter fremhævet og dialogboksen Administrer parametre.

  • Genbrug af parameteren i flere trin eller forespørgsler.

  • Gør det nemt og enkelt at oprette brugerdefinerede funktioner.

Du kan endda bruge parametre i nogle af argumenterne i dataconnectorerne. Du kan f.eks. oprette en parameter for servernavnet, når du opretter forbindelse til sql Server-databasen. Derefter kan du bruge denne parameter i dialogboksen SQL Server-database.

Skærmbillede af dialogboksen SQL Server-database med et parametersæt for servernavn.

Hvis du ændrer din serverplacering, skal du bare opdatere parameteren for dit servernavn, og dine forespørgsler opdateres.

Notat

Hvis du vil vide mere om oprettelse og brug af parametre, skal du gå til Brug af parametre.

Opret funktioner, der kan genbruges

Opret en Power Query brugerdefineret funktion, når du har brug for at anvende det samme sæt transformationer på forskellige forespørgsler eller værdier. En Power Query brugerdefineret funktion knytter et sæt inputværdier til en enkelt outputværdi og oprettes ud fra oprindelige funktioner og operatorer for M-formelsprog Power Query.

Lad os f.eks. sige, at du har flere forespørgsler eller værdier, der kræver det samme sæt transformationer. Du kan oprette en brugerdefineret funktion, som du senere aktiverer mod de forespørgsler eller værdier, du vælger. Denne brugerdefinerede funktion sparer dig tid og hjælper dig med at administrere dine transformationer på en central placering, som du kan ændre når som helst.

Brugerdefinerede funktioner i Power Query kan oprettes ud fra eksisterende forespørgsler og parametre. Forestil dig f.eks. en forespørgsel, der har flere koder som en tekststreng, og du vil oprette en funktion, der afkoder disse værdier.

Skærmbillede af den oprindelige liste over flydatakoder.

Du starter med at have en parameter med en værdi, der fungerer som et eksempel.

Skærmbillede af dialogboksen Administrer parametre med de angivne kodeværdier for eksempelparameteren.

Fra denne parameter opretter du en ny forespørgsel, hvor du anvender de transformationer, du har brug for. I dette tilfælde vil du opdele koden PTY-CM1090-LAX- i flere komponenter:

  • oprindelse = PTY
  • destination = LAX
  • Flyselskab = CM
  • FlightID = 1090

Skærmbillede af eksempeltransformeringsforespørgslen med hver del i sin egen kolonne.

Du kan derefter transformere denne forespørgsel til en funktion ved at højreklikke på forespørgslen og vælge Opret funktion. Endelig kan du aktivere din brugerdefinerede funktion i en hvilken som helst af dine forespørgsler eller værdier.

Skærmbillede af listen over koder, hvor aktivér brugerdefinerede funktionsværdier er udfyldt.

Efter nogle få transformationer kan du se, at du har nået det ønskede output og anvendt logikken for en sådan transformation fra en brugerdefineret funktion.

Skærmbillede, der viser den endelige outputforespørgsel efter aktivering af en brugerdefineret funktion.

Notat

Hvis du vil vide mere om, hvordan du opretter og bruger brugerdefinerede funktioner i Power Query, skal du se Brugerdefinerede funktioner.