Metodtips när du arbetar med Power Query

Dessa Power Query bästa praxis hjälper dig att förbättra frågeprestanda, dra nytta av frågedelegering, välja rätt datatyper, organisera transformeringar och återanvända logik med parametrar och anpassade funktioner. De gäller både för Power Query Desktop- och Power Query Online-upplevelser.

Välj rätt anslutningskontakt

Power Query erbjuder många dataanslutningar. Dessa anslutningsappar sträcker sig från datakällor som TXT, CSV och Excel filer, till databaser som Microsoft SQL Server och populära saaS-produkter (programvara som en tjänst) som Microsoft Dynamics 365 och Salesforce. Om en specialbyggd anslutningsapp inte är tillgänglig i fönstret Hämta data använder du en allmän anslutningsapp, till exempel ODBC eller OLE DB.

Välj den specialanpassade anslutningen för din datakälla om det finns en sådan. Till exempel ger SQL Server-anslutningsappen en bättre Get Data-upplevelse än den allmänna ODBC-anslutningsappen när du ansluter till en SQL Server databas. SQL Server-anslutningen stöder även prestandafunktioner som frågedelegering. Mer information finns i Översikt över frågeutvärdering och frågedelegering i Power Query.

Varje dataanslutning följer en standardupplevelse enligt beskrivningen i Hämta data. Den här standardiserade upplevelsen har en fas som kallas Förhandsgranskning av data. I det här steget får du ett användarvänligt fönster för att välja de data som du vill hämta från datakällan, om anslutningsappen tillåter det och en enkel dataförhandsgranskning av dessa data. Du kan till och med välja flera datauppsättningar från datakällan via fönstret Navigatör .

Skärmbild av ett exempel på navigeringsfönstret som visar var du väljer de data du behöver och fönstret för förhandsgranskning av data.

Anmärkning

Om du vill se en fullständig lista över tillgängliga anslutningsappar i Power Query går du till Anslutningsappar i Power Query.

Filtrera data tidigt för att förbättra prestanda

Filtrera data så tidigt som möjligt för att minska antalet rader som Power Query processer i senare transformeringar. För anslutningsprogram som stöder frågevikning kan Power Query skicka filter tillbaka till datakällan, som beskrivs i Översikt över frågeutvärdering och frågevikning i Power Query. Om du filtrerar bort irrelevanta data begränsas även de data som visas i förhandsversionen av data.

Använd den automatiska filtermenyn, som visar en distinkt lista över de värden som finns i kolumnen, för att välja de värden som du vill behålla eller filtrera bort. Använd sökfältet för att hitta värdena i kolumnen.

Skärmbild av menyn Automatiskt filter i Power Query med kolumnvärdena framhävde.

Du kan också dra nytta av de typspecifika filtren, till exempel I föregående för en datum-, datetime- eller till och med datumtidszonkolumn.

Skärmbild av ett exempeltypspecifikt filter för en datumkolumn med föregående alternativ framhävt.

Dessa typspecifika filter kan hjälpa dig att skapa ett dynamiskt filter som alltid hämtar data som finns under det senaste x antalet sekunder, minuter, timmar, dagar, veckor, månader, kvartal eller år.

Skärmbild av dialogrutan Filterrader som visar filtret som är i det föregående datumspecifika filtret.

Anmärkning

Om du vill veta mer om att filtrera dina data baserat på värden från en kolumn går du till Filtrera efter värden.

Utför de dyra åtgärderna sist för att förbättra prestandan

För att förbättra prestandan för förhandsgranskningen i Power Query-redigeraren utför du dyra åtgärder sist. Vissa åtgärder kräver att du läser den fullständiga datakällan för att returnera eventuella resultat och därför är långsamma att förhandsgranska. Om du till exempel utför en sortering är det möjligt att de första sorterade raderna är i slutet av källdata. Om du vill returnera några resultat måste sorteringsåtgärden först läsa alla rader.

Andra åtgärder (till exempel filter) behöver inte läsa alla data innan du returnerar några resultat. I stället fungerar de över data på ett så kallat "strömmande" sätt. Data "strömmar" förbi och resultaten returneras under processen. I Power Query-redigeraren behöver sådana åtgärder bara läsa tillräckligt med källdata för att fylla i förhandsversionen.

När det är möjligt utför du sådana strömningsåtgärder först och utför eventuella dyrare åtgärder sist. Genom att utföra åtgärder i den här ordningen kan du minimera den tid du lägger på att vänta på att förhandsversionen ska återges varje gång du lägger till ett nytt steg i frågan.

Använda en dataunderuppsättning när du utvecklar en fråga

Om det går långsamt att lägga till nya steg i Power Query redigeraren använder du Behåll de första raderna för att begränsa de data som bearbetas när du utvecklar frågan. När du har lagt till alla nödvändiga steg tar du bort steget Behåll första rader så att den slutförda frågan bearbetar den fullständiga datamängden.

Använda rätt datatyper

Ange rätt datatyp för varje kolumn så att Power Query kan göra typspecifika transformeringar och filter tillgängliga. När du till exempel väljer en datumkolumn kan du använda alternativen under kolumngruppen Datum och tid i menyn Lägg till kolumn . Om kolumnen inte har någon datatypsuppsättning är dessa alternativ nedtonade.

Skärmbild av menyfliksområdet Power Query som visar typspecifika alternativ på menyn Lägg till kolumn.

En liknande situation uppstår för de typspecifika filtren, eftersom de är specifika för vissa datatyper. Om din kolumn inte har rätt datatyp definierad är dessa typspecifika filter inte tillgängliga.

Skärmbild av de typspecifika filtren för en datumkolumn.

Det är viktigt att du alltid arbetar med rätt datatyper för dina kolumner. När du arbetar med strukturerade datakällor, till exempel databaser, hämtas datatypsinformationen från tabellschemat som finns i databasen. Men för ostrukturerade datakällor som TXT- och CSV-filer är det viktigt att du anger rätt datatyper för kolumnerna som kommer från datakällan. Som standard erbjuder Power Query en automatisk identifiering av datatyper för ostrukturerade datakällor. Du kan läsa mer om den här funktionen och hur den kan hjälpa dig i Datatyper.

Anmärkning

Mer information om vikten av datatyper och hur du arbetar med dem finns i Datatyper.

Profilera och utforska dina data

Innan du förbereder dina data och lägger till transformeringssteg aktiverar du Power Query dataprofileringsverktyg för att identifiera information om dina data.

Skärmbild av verktygen för dataförhandsgranskning eller dataprofilering i Power Query.

Power Query innehåller tre verktyg för dataprofilering:

Tool Vad det visar
Kolumnkvalitet Andelen värden i en kolumn som är giltig, innehåller fel eller är tomma.
Kolumnfördelning Frekvensen och fördelningen av värden i varje kolumn.
Kolumnprofil Detaljerad statistik om en vald kolumn.

Du kan också interagera med dessa funktioner, vilket hjälper dig att förbereda dina data.

Skärmbild som visar hovringsalternativen för datakvalitet.

Anmärkning

Mer information om dataprofileringsverktygen finns i Dataprofileringsverktyg.

Dokumentera ditt arbete

Dokumentera en Power Query lösning genom att ge steg, frågor och grupper meningsfulla namn och beskrivningar. Med den här informationen blir syftet med varje transformering enklare att förstå och underhålla.

Power Query skapar automatiskt ett stegnamn åt dig i fönstret Tillämpade steg, men du kan också byta namn på dina steg eller lägga till en beskrivning i någon av dem.

Skärmbild av det tillämpade stegfönstret med dokumenterade steg och tillagda beskrivningar.

Anmärkning

Om du vill veta mer om alla tillgängliga funktioner och komponenter som finns i fönstret tillämpade steg går du till Använd listan Tillämpade steg.

Dela upp stora frågor i moduler

Dela upp en stor Power Query fråga i mindre refererade frågor för att göra omvandlingsfaserna enklare att förstå och underhålla. Även om en enskild fråga kan innehålla alla omvandlingar och beräkningar som du behöver, är en fråga med många steg enklare att hantera när en fråga refererar till nästa.

Till exempel har följande fråga nio steg och innehåller steget Slå samman med tabellen Priser.

Skärmbild av det tillämpade stegfönstret med dokumenterade steg och med beskrivningarna tillagda.

Du kan dela upp den här frågan i två delar vid steget Slå samman med priser i tabellen. På så sätt är det lättare att förstå de steg som tillämpades på försäljningsfrågan före sammanfogningen. För att utföra den här åtgärden högerklickar du på Merge with Prices table-steget och väljer alternativet Extrahera tidigare steg.

Skärmbild av snabbmenyn för tillämpade steg med "Extrahera föregående steg" framhävt.

Du uppmanas sedan med en dialogruta att ge den nya frågan ett namn. Det här steget delar effektivt upp frågan i två frågor. En fråga innehåller alla steg före sammanfogningen. Den andra frågan har ett första steg som refererar till din nya fråga och resten av stegen som du hade i den ursprungliga frågan från och med steget Slå samman med priser tabell och nedåt.

Skärmbild av den ursprungliga frågan efter extraheringsåtgärden för föregående steg.

Du kan också använda frågereferenser som du ser lämpligt. Men det är en bra idé att hålla dina frågor på en nivå som inte verkar skrämmande vid första anblicken med så många steg.

Anmärkning

Mer information om frågereferenser finns i Förstå frågefönstret.

Organisera frågor i grupper

Använd grupper i frågefönstret för att hålla ditt arbete organiserat.

Skärmbild av snabbmenyn i frågefönstret som visar hur du arbetar med grupper i Power Query.

Det enda syftet med grupper är att hjälpa dig att hålla ditt arbete organiserat genom att fungera som mappar för dina frågor. Du kan skapa grupper inom grupper om du behöver det. Det är lika enkelt att flytta frågor mellan grupper som att dra och släppa.

Försök att ge dina grupper ett meningsfullt namn som passar dig och ditt fall.

Anmärkning

Om du vill veta mer om alla tillgängliga funktioner och komponenter som finns i frågefönstret går du till Förstå frågefönstret.

Framtidssäkra frågor

Utforma frågor för att hantera förväntade ändringar i källdata så att framtida uppdateringar fortsätter att lyckas. Power Query tillhandahåller transformeringar som gör en fråga elastisk när raderna, kolumnerna eller värdena i en datakälla ändras.

Definiera frågans omfattning, inklusive vad den ska göra och vad den ska ta hänsyn till när det gäller struktur, layout, kolumnnamn, datatyper och andra relevanta komponenter.

Följande transformeringar kan hjälpa en fråga att förbli motståndskraftig mot ändringar:

Scenario för källdata Power Query-transformation Learn more
Antalet datarader ändras, men du måste ta bort ett fast antal sidfotsrader. Ta bort de nedersta raderna Filtrera en tabell efter radposition
Antalet kolumner ändras, men frågan behöver bara specifika kolumner. Välj kolumner Välj eller ta bort kolumner
Antalet kolumner ändras, men frågan måste bara ta bort en specifik delmängd. Avpivotera endast markerade kolumner Ompivota kolumner
En datatypkonvertering skapar fel för värden som inte överensstämmer med måltypen. Ta bort de rader som innehåller fel. Hantera fel

Använda parametrar

Använd Power Query parametrar för att lagra och hantera värden som du kan återanvända i transformeringar, datakällans funktioner och anpassade funktioner. Parametrar gör frågor enklare att uppdatera eftersom du kan ändra ett värde på en plats i stället för att redigera varje fråga som använder den. Två vanliga scenarier är:

  • Stegargument: Använd en parameter som argument för flera transformeringar som drivs från användargränssnittet.

    Skärmbild av dialogrutan Filtrera rader med alternativet Välj en parameter inställd för transformeringsargumentet.

  • Argument för anpassad funktion: Skapa en ny funktion från en fråga och använd parametrar som argument för din anpassade funktion.

    Skärmbild av snabbmenyn Frågor Alternativet Skapa funktion framhävd och dialogrutan Skapa funktion.

De största fördelarna med att skapa och använda parametrar är:

  • Centraliserad vy över alla parametrar genom fönstret Hantera parametrar .

    Skärmbild av listrutan Hantera parametrar med ny parameter framhävd och dialogrutan Hantera parametrar.

  • Återanvändning av parametern i flera steg eller frågor.

  • Gör skapandet av anpassade funktioner enkelt och smidigt.

Du kan till och med använda parametrar i några av argumenten för dataanslutningarna. Du kan till exempel skapa en parameter för servernamnet när du ansluter till SQL Server-databasen. Sedan kan du använda parametern i dialogrutan SQL Server-databas.

Skärmbild av dialogrutan SQL Server-databas med en parameteruppsättning för servernamn.

Om du ändrar din serverplats behöver du bara uppdatera parametern för servernamnet och dina frågor uppdateras.

Anmärkning

Mer information om hur du skapar och använder parametrar finns i Använda parametrar.

Skapa återanvändbara funktioner

Skapa en Power Query anpassad funktion när du behöver tillämpa samma uppsättning transformeringar på olika frågor eller värden. En Power Query anpassad funktion mappar en uppsättning indatavärden till ett enda utdatavärde och skapas från inbyggda Power Query M-formelspråkfunktioner och operatorer.

Anta till exempel att du har flera frågor eller värden som kräver samma uppsättning transformeringar. Du kan skapa en anpassad funktion som du senare anropar mot de frågor eller värden som du väljer. Den här anpassade funktionen sparar tid och hjälper dig att hantera din uppsättning transformeringar på en central plats, som du kan ändra när som helst.

Anpassade Power Query-funktioner kan skapas från befintliga frågor och parametrar. Tänk dig till exempel en fråga som har flera koder som en textsträng och som du vill skapa en funktion som avkodar dessa värden.

Skärmbild av den ursprungliga listan över flygdatakoder.

Du börjar med att ha en parameter med ett värde som fungerar som ett exempel.

Skärmbild av dialogrutan Hantera parametrar med exempelparameterkodvärdena angivna.

Från den parametern skapar du en ny fråga där du tillämpar de transformeringar som du behöver. I det här fallet vill du dela upp koden PTY-CM1090-LAX- i flera komponenter:

  • Ursprung = PTY
  • Mål = LAX
  • Flygbolag = CM
  • FlightID = 1090

Skärmbild av exempeltransformeringsfrågan med varje del i sin egen kolumn.

Du kan sedan omvandla frågan till en funktion genom att högerklicka på frågan och välja Skapa funktion. Slutligen kan du anropa din anpassade funktion i någon av dina frågor eller värden.

Skärmbild av listan med koder med värdena för anropa anpassad funktion ifyllda.

Efter några fler transformeringar kan du se att du har nått önskade utdata och tillämpat logiken för en sådan transformering från en anpassad funktion.

Skärmbild som visar den slutliga utdatafrågan när du har anropat en anpassad funktion.

Anmärkning

Mer information om hur du skapar och använder anpassade funktioner i Power Query finns i Anpassade funktioner.