Anbefalte fremgangsmåter når du arbeider med Power Query

Disse Power Query anbefalte fremgangsmåtene hjelper deg med å forbedre spørringsytelsen, dra nytte av spørringsdelegering, velge riktige datatyper, organisere transformasjoner og bruke logikken på nytt med parametere og egendefinerte funksjoner. De gjelder både for Power Query Desktop og Power Query Online-opplevelser.

Velg høyre kobling

Power Query tilbyr mange datakoblinger. Disse koblingene spenner fra datakilder som TXT-, CSV- og Excel-filer, til databaser som Microsoft SQL Server og populær programvare som tjenesteprodukter (SaaS), for eksempel Microsoft Dynamics 365 og Salesforce. Hvis en spesialbygd kobling ikke er tilgjengelig i Hent data-vinduet , kan du bruke en generisk kobling, for eksempel ODBC eller OLE DB.

Velg den spesialbygde koblingen for datakilden når en er tilgjengelig. Koblingen SQL Server gir for eksempel en bedre Hent data-opplevelse enn den generiske ODBC-koblingen når du kobler til en SQL Server database. SQL Server-koblingen støtter også ytelsesfunksjoner som spørringsdelegering. Hvis du vil ha mer informasjon, kan du gå til Oversikt over spørringsevaluering og spørringsdelegering i Power Query.

Hver datakobling følger en standardopplevelse som forklart i Hent data. Denne standardiserte opplevelsen har en fase kalt Forhåndsvisning av data. I dette stadiet får du et brukervennlig vindu for å velge dataene du vil hente fra datakilden, hvis koblingen tillater det, og en enkel forhåndsvisning av dataene. Du kan til og med velge flere datasett fra datakilden gjennom Navigator-vinduet .

Skjermbilde av et eksempelnavigatorvindu som viser hvor du kan velge dataene du trenger, og forhåndsvisningsruten for data.

Merk deg

Hvis du vil se den fullstendige listen over tilgjengelige koblinger i Power Query, kan du gå til Koblinger i Power Query.

Filtrere data tidlig for å forbedre ytelsen

Filtrer data så tidlig som mulig for å redusere antall rader som Power Query prosesser i senere transformasjoner. For koblinger som støtter spørringsdelegering, kan Power Query skyve filtre tilbake til datakilden, som beskrevet i Oversikt over spørringsevaluering og spørringsdelegering i Power Query. Filtrering av irrelevante data begrenser også dataene som vises i forhåndsvisningen av data.

Bruk autofiltermenyen, som viser en distinkt liste over verdiene i kolonnen, til å velge verdiene du vil beholde eller filtrere ut. Bruk søkefeltet til å hjelpe deg med å finne verdiene i kolonnen.

Skjermbilde av Autofilter-menyen i Power Query med kolonneverdiene fremhevet.

Du kan også dra nytte av de typespesifikke filtrene, for eksempel I forrige for en dato-, datetime- eller date timezone-kolonne.

Skjermbilde av et eksempeltype-spesifikt filter for en datokolonne med det forrige alternativet fremhevet.

Disse typespesifikke filtrene kan hjelpe deg med å opprette et dynamisk filter som alltid henter data som er i forrige x antall sekunder, minutter, timer, dager, uker, måneder, kvartaler eller år.

Skjermbilde av dialogboksen Filtrer rader som viser Is i det forrige datospesifikke filteret.

Merk deg

Hvis du vil lære mer om filtrering av dataene basert på verdier fra en kolonne, kan du gå til Filtrer etter verdier.

Gjør dyre operasjoner sist for å forbedre ytelsen

Hvis du vil forbedre forhåndsvisningsytelsen i redigeringsprogrammet for Power Query, utfører du dyre operasjoner sist. Enkelte operasjoner krever at du leser hele datakilden for å returnere eventuelle resultater og er derfor trege til å forhåndsvise. Hvis du for eksempel utfører en sortering, er det mulig at de første sorterte radene er på slutten av kildedataene. Hvis du vil returnere eventuelle resultater, må sorteringsoperasjonen først lese alle radene.

Andre operasjoner (for eksempel filtre) trenger ikke å lese alle dataene før du returnerer noen resultater. I stedet opererer de over dataene på det som kalles en «streaming»-måte. Dataene "strømmer" etter, og resultatene returneres underveis. I redigeringsprogrammet for Power Query trenger slike operasjoner bare å lese nok av kildedataene til å fylle ut forhåndsvisningen.

Når det er mulig, utfører du slike strømmingsoperasjoner først, og utfører eventuelle dyrere operasjoner sist. Hvis du utfører operasjoner i denne rekkefølgen, reduseres tiden du bruker på å vente på at forhåndsvisningen skal gjengis hver gang du legger til et nytt trinn i spørringen.

Bruke et datadelsett under utvikling av en spørring

Hvis det går tregt å legge til nye trinn i Power Query redigeringsprogrammet, kan du bruke Behold første rader til å begrense dataene som behandles mens du utvikler spørringen. Når du har lagt til alle nødvendige trinn, fjerner du trinnet Behold første rader slik at den fullførte spørringen behandler hele datasettet.

Bruk de riktige datatypene

Angi riktig datatype for hver kolonne, slik at Power Query kan gjøre typespesifikke transformasjoner og filtre tilgjengelige. Når du for eksempel velger en datokolonne, kan du bruke alternativene under kolonnegruppen Dato og klokkeslettLegg til kolonne-menyen . Hvis kolonnen ikke har et datatypesett, er disse alternativene nedtonet.

Skjermbilde av Power Query-båndet som viser typespesifikke alternativer på Legg til kolonne-menyen.

En lignende situasjon oppstår for de typespesifikke filtrene, siden de er spesifikke for bestemte datatyper. Hvis kolonnen ikke har riktig datatype definert, er ikke disse typespesifikke filtrene tilgjengelige.

Skjermbilde av de typespesifikke filtrene for en datokolonne.

Det er viktig at du alltid arbeider med de riktige datatypene for kolonnene. Når du arbeider med strukturerte datakilder, for eksempel databaser, hentes datatypeinformasjonen fra tabellskjemaet som finnes i databasen. Men for ustrukturerte datakilder som TXT- og CSV-filer er det viktig at du angir de riktige datatypene for kolonnene som kommer fra datakilden. Power Query tilbyr som standard en automatisk datatypegjenkjenning for ustrukturerte datakilder. Du kan lese mer om denne funksjonen og hvordan den kan hjelpe deg i datatyper.

Merk deg

Hvis du vil lære mer om viktigheten av datatyper og hvordan du arbeider med dem, kan du gå til datatyper.

Profil og utforsk dataene dine

Før du klargjør dataene og legger til transformasjonstrinn, kan du aktivere Power Query dataprofileringsverktøy for å oppdage informasjon om dataene.

Skjermbilde av verktøyene for forhåndsvisning av data eller dataprofilering i Power Query.

Power Query inneholder tre verktøy for dataprofilering:

Verktøy Hva det viser
Kolonnekvalitet Andelen verdier i en kolonne som er gyldig, inneholder feil eller er tomme.
Kolonnedistribusjon Hyppigheten og fordelingen av verdier i hver kolonne.
Kolonneprofil Detaljert statistikk om en valgt kolonne.

Du kan også samhandle med disse funksjonene, noe som hjelper deg med å klargjøre dataene.

Skjermbilde som viser alternativene for pekerfølsom datakvalitet.

Merk deg

Hvis du vil ha mer informasjon om verktøyene for dataprofilering, kan du gå til verktøy for dataprofilering.

Dokumenter arbeidet ditt

Dokumentere en Power Query løsning ved å gi trinn, spørringer og grupper meningsfulle navn og beskrivelser. Disse detaljene gjør formålet med hver transformasjon enklere å forstå og vedlikeholde.

Selv om Power Query automatisk oppretter et trinnnavn for deg i den brukte trinnruten, kan du også gi nytt navn til trinnene eller legge til en beskrivelse for noen av dem.

Skjermbilde av den brukte trinnruten med dokumenterte trinn og beskrivelser som er lagt til.

Merk deg

Hvis du vil ha mer informasjon om alle tilgjengelige funksjoner og komponenter som finnes i den brukte trinnruten, kan du gå til Listen Over brukte trinn.

Dele opp store spørringer i moduler

Del en stor Power Query spørring i mindre refererte spørringer for å gjøre transformasjonsfasene enklere å forstå og vedlikeholde. Selv om én enkelt spørring kan inneholde alle transformasjonene og beregningene du trenger, er en spørring med mange trinn enklere å administrere når én spørring refererer til den neste.

Spørringen nedenfor har for eksempel ni trinn, og inkluderer et sammenslåingstrinn med Priser-tabell.

Skjermbilde av den brukte trinnruten med dokumenterte trinn og med beskrivelsene lagt til.

Du kan dele denne spørringen i to i tabelltrinnet Flett med priser . På denne måten er det enklere å forstå trinnene som ble brukt på salgsspørringen før flettingen. Hvis du vil utføre denne operasjonen, høyreklikker du trinnet Flett med priser og velger alternativet Pakk ut forrige .

Skjermbilde av hurtigmenyen for brukte trinn med uttrekking av forrige trinn fremhevet.

Du blir deretter bedt med en dialogboks om å gi den nye spørringen et navn. Dette trinnet deler effektivt spørringen i to spørringer. Én spørring har alle trinnene før flettingen. Den andre spørringen har et innledende trinn som refererer til den nye spørringen og resten av trinnene du hadde i den opprinnelige spørringen, fra trinnet Slå sammen med priser-tabellen nedover.

Skjermbilde av den opprinnelige spørringen etter handlingen trekk ut forrige trinn.

Du kan også bruke spørringsreferanser slik du ønsker. Men det er lurt å holde spørringene på et nivå som ikke virker skremmende ved første øyekast med så mange trinn.

Merk deg

Hvis du vil lære mer om spørringsreferanser, kan du gå til Forstå spørringer-ruten.

Organisere spørringer i grupper

Bruk grupper i spørringsruten for å holde arbeidet organisert.

Skjermbilde av hurtigmenyen for Spørringer-ruten som viser hvordan du arbeider med grupper i Power Query.

Det eneste formålet med grupper er å hjelpe deg med å holde arbeidet organisert ved å fungere som mapper for spørringene dine. Du kan opprette grupper i grupper hvis du trenger det. Det er like enkelt å flytte spørringer på tvers av grupper som dra og slippe.

Prøv å gi gruppene et meningsfylt navn som gir mening for deg og din sak.

Merk deg

Hvis du vil lære mer om alle tilgjengelige funksjoner og komponenter som finnes i spørringsruten, kan du gå til Forstå spørringer-ruten.

Fremtidige spørringer

Utform spørringer for å håndtere forventede endringer i kildedataene, slik at fremtidige oppdateringer fortsetter å lykkes. Power Query gir transformasjoner som gjør en spørring robust når radene, kolonnene eller verdiene i en datakilde endres.

Definer omfanget av spørringen, inkludert hva den skal gjøre og hva den skal gjøre rede for når det gjelder struktur, oppsett, kolonnenavn, datatyper og andre relevante komponenter.

Følgende transformasjoner kan hjelpe en spørring til å forbli motstandsdyktig mot endringer:

Kildedatascenario Power Query-transformasjon Mer informasjon
Antall datarader endres, men du må fjerne et fast antall bunntekstrader. Fjerne nederste rader Filtrere en tabell etter radplassering
Antall kolonner endres, men spørringen trenger bare bestemte kolonner. Velg kolonner Velge eller fjerne kolonner
Antall kolonner endres, men spørringen må bare oppheve et bestemt delsett. Opphev bare valgte kolonner Oppheve pivotering
En datatypekonvertering gir feil for verdier som ikke samsvarer med måltypen. Fjern radene som inneholder feil. Håndtere feil

Bruk parametere

Bruk Power Query parametere til å lagre og behandle verdier som du kan bruke på nytt i transformasjoner, datakildefunksjoner og egendefinerte funksjoner. Parametere gjør spørringer enklere å oppdatere fordi du kan endre en verdi på ett sted i stedet for å redigere hver spørring som bruker den. To vanlige scenarioer er:

  • Trinnargument: Bruk en parameter som argument for flere transformasjoner drevet fra brukergrensesnittet.

    Skjermbilde av dialogboksen Filtrer rader med alternativet Velg en parameter angitt for transformasjonsargumentet.

  • Egendefinert funksjon-argument: Opprett en ny funksjon fra en spørring, og referanseparametere som argumentene for den egendefinerte funksjonen.

    Skjermbilde av hurtigmenyen Spørringer Opprett funksjon fremhevet og dialogboksen Opprett funksjon.

De viktigste fordelene ved å opprette og bruke parametere er:

  • Sentralisert visning av alle parameterne gjennom behandle parametere-vinduet .

    Skjermbilde av rullegardinmenyen Behandle parametere med Ny parameter fremhevet og dialogboksen Behandle parametere.

  • Gjenbruk av parameteren i flere trinn eller spørringer.

  • Gjør oppretting av egendefinerte funksjoner enkelt og enkelt.

Du kan også bruke parametere i noen av argumentene for datakoblingene. Du kan for eksempel opprette en parameter for servernavnet når du kobler til SQL Server-databasen. Deretter kan du bruke denne parameteren i dialogboksen SQL Server-database.

Skjermbilde av dialogboksen SQL Server-database med et parametersett for servernavn.

Hvis du endrer serverplasseringen, trenger du bare å oppdatere parameteren for servernavnet, og spørringene oppdateres.

Merk deg

Hvis du vil lære mer om hvordan du oppretter og bruker parametere, kan du gå til Bruk parametere.

Opprett gjenbrukbare funksjoner

Opprett en Power Query egendefinert funksjon når du må bruke samme sett med transformasjoner på forskjellige spørringer eller verdier. En Power Query egendefinert funksjon tilordner et sett med inndataverdier til én enkelt utdataverdi og opprettes fra opprinnelige Power Query M-formelspråkfunksjoner og -operatorer.

La oss for eksempel si at du har flere spørringer eller verdier som krever samme sett med transformasjoner. Du kan opprette en egendefinert funksjon som du senere aktiverer mot spørringene eller verdiene du ønsker. Denne egendefinerte funksjonen sparer deg for tid og hjelper deg med å administrere settet med transformasjoner på en sentral plassering, som du kan endre når som helst.

Egendefinerte funksjoner i Power Query kan opprettes fra eksisterende spørringer og parametere. Tenk deg for eksempel en spørring som har flere koder som en tekststreng, og du vil opprette en funksjon som dekoder disse verdiene.

Skjermbilde av den opprinnelige listen over koder for flydata.

Du starter med å ha en parameter med en verdi som fungerer som et eksempel.

Skjermbilde av dialogboksen Behandle parametere med kodeverdiene for eksempelparameteren angitt.

Fra denne parameteren oppretter du en ny spørring der du bruker transformasjonene du trenger. I dette tilfellet vil du dele koden PTY-CM1090-LAX i flere komponenter:

  • Opprinnelse = PTY
  • Mål = LAX
  • Flyselskap = CM
  • FlightID = 1090

Skjermbilde av eksempeltransformeringsspørringen med hver del i sin egen kolonne.

Deretter kan du transformere spørringen til en funksjon ved å høyreklikke spørringen og velge Opprett funksjon. Til slutt kan du aktivere den egendefinerte funksjonen i alle spørringer eller verdier.

Skjermbilde av listen over koder med aktiver egendefinerte funksjonsverdier fylt ut.

Etter noen flere transformasjoner kan du se at du har nådd ønsket utdata og brukt logikken for en slik transformasjon fra en egendefinert funksjon.

Skjermbilde som viser den endelige utdataspørringen etter å ha påkalt en egendefinert funksjon.

Merk deg

Hvis du vil lære mer om hvordan du oppretter og bruker egendefinerte funksjoner i Power Query, kan du se Egendefinerte funksjoner.