Vad är Power Query & M Language: En detaljerad översikt
Denna handledning ger en översikt över Power Query Editor och M-språket på LuckyTemplates-skrivbordet.
I den här självstudien kommer du att lära dig om Power Query Language Flow och några av dess bästa metoder. Du kommer också att lära dig hur du enkelt transformerar din data för att få bästa möjliga resultat. Datatransformationer kommer att optimera din rapport och få den att se övertygande ut.
Innehållsförteckning
Ställ in datatyper utan språkflöde för Power Query
De minimala transformationer du alltid bör utföra är att byta namn och ställa in datatyper för dina kolumner.
används för att klassificera värden i M . En ikon bredvid kolumnnamnet visar den tilldelade datatypen för ett fält. I den här exempeltabellen kan du se en ABC123-ikon bredvid kolumnnamnen. Den ikonen representerar vilken datatyp som helst som indikerar att en datatyp inte har tilldelats den kolumnen.
Ur böckerna är automatisk typidentifiering aktiverad. Detta genererar Changed Type-steg automatiskt i dina frågor. Även om det är aktiverat, se alltid till attgissar datatyperna korrekt för var och en av kolumnerna i alla dina tabeller.
Följ dessa steg för att aktivera eller inaktivera den inställningen.
Under alternativet Global kan du välja ett av de tre alternativen för typdetektering som är tillgängliga för dig.
Under alternativet Aktuell fil kan du växla mellan alternativen för typdetektering beroende på din globala inställning.
Ställ in datatyper med fliken Transform
Användargränssnittet erbjuder flera sätt att ställa in datatyper för dina kolumner. I avsnittet Valfri kolumn på fliken Transformera hittar du knappen Identifiera datatyp .
Om du markerar alla kolumner och klickar på den knappen kommer den automatiskt att ställa in datatyperna för alla kolumner. Men eftersom den bara skannar de 200 översta raderna måste du fortfarande validera om Power Query har rätt datatyp.
Om du väljer en kolumn från tabellen kan du se dess datatyp i avsnittet Valfri kolumn.
Om du klickar på rullgardinsknappen och väljer Text kommer ikonen i den valda kolumnen att ändras från ABC123 till bara ABC .
Du kommer sedan att se steget Ändrad typ i rutan Tillämpade steg.
På fliken Hem hittar du också alternativet att ställa in datatypen.
Ställ in datatyper med kolumnrubrik
Ett annat sätt är att högerklicka på en rubrik och välja Ändra typ . Därifrån kan du välja lämplig datatyp för dina kolumner.
Ställ in datatyper med kolumnikoner
Det vanligaste sättet att ställa in datatyper är att klicka på ikonen bredvid kolumnnamnet. Det kommer att visa dig alla tillgängliga datatyper.
I exempeltabellen ställer du in datatypen för kolumnen OrderDate till Datum .
Beroende på datatypen för den kolumn du väljer, tillhandahåller Power Query en uppsättning transformationer och alternativ som gäller för den specifika datatypen på fliken Transformera , fliken Lägg till kolumn och avsnittet Smart Filter .
Så om du väljer en datumkolumn och går till fliken Omvandla, ser du alternativ under knappen Datum.
Men om du väljer en textkolumn kommer alternativen under knappen Datum inte längre att vara tillgängliga.
För smart filtrering har textkolumner textfilter och datumkolumner har datumfilter.
För nästa kolumn ändrar du kolumnnamnet till Kundnyckel och datatyp till Helnummer .
Ändra sedan datatypen för kolumnerna Kanal, Valutakod och Lagerkod till Text.
Efter det ändrar du namnet på leveransregionindexet till leveransregionsnyckel och dess datatyp till heltal . Gör sedan samma sak för kolumnerna Produktbeskrivning Index och Orderkvantitet .
Slutligen, för kolumnerna Enhetspris, Radtotal och Enhetskostnad, ställ in datatypen till Fast decimaltal .
Ställ in datatyper med Power Query Language Flow
På grund av ändringarna i kolumnerna har många steg skapats i rutan Tillämpade steg. Problemet är att på grund av att samma typ av transformationer utförs flera gånger, provetblir ineffektivt. Detta är något du bör undvika.
För att göra din fråga effektiv, försök att skapa ett enda steg genom att tillämpa den specifika transformationen på alla dina kolumner innan du skapar ytterligare ett steg.
Duplicera exempeltabellfrågan och döp om den till bästa praxis . I rutan Tillämpade steg högerklickar du på den första omvandlingen som utfördes i föregående fråga och väljer Ta bort tills slut . Bekräfta sedan borttagningen av steget i dialogrutan Ta bort steg .
Dessutom finns här några bästa praxis. Det första är att skapa parametrar som innehåller datakällans plats. Detta gör det lättare att åtgärda problem när ett filnamn har ändrats.
För att skapa parametrar klickar du på Hantera parametrar på fliken Hem och väljer Ny parameter .
Ett annat sätt är att högerklicka på frågefönstret och välja Ny parameter .
Därefter visas dialogrutan Hantera parametrar . Namnge parametern FileLocation och ställ in Typ till Text. För de föreslagna värdena, ställ in den på Lista med värden så att du kan klistra in din sträng och ändra eller lägga till flera platser som du kan växla mellan.
Gå sedan till din File Explorer och välj din fil. Kopiera sökvägen och klistra in parametrarna. När du är klar trycker du på OK .
Gå tillbaka till Best Practice-frågan och klicka på Källa-steget i rutan Tillämpade steg. Ändra sedan den hårdkodade filsökvägen i formelfältet med FileLocation .
Ta bort onödiga kolumner
Ta bort alla onödiga kolumner för att spara utrymme och förbättra prestandan. Ta bara med den data du behöver eftersom det är mycket lättare att lägga till tabeller och kolumner än att ta bort dem.
Det enklaste sättet att göra det är genom steget Välj kolumner på fliken Hem. Om du klickar på den knappen visas en dialogruta som låter dig välja kolumner att behålla. Du bör designa och forma dina bord med ett specifikt syfte för att bäst passa den analys du ska utföra.
Därifrån avmarkerar du de kolumner som du inte behöver i tabellen. För denna exempeltabell är kardinaliteten i kolumnen OrderNumber hög. Det är bäst att avmarkera den kolumnen eftersom det påverkar filstorleken och den övergripande prestandan.
Om du inte behöver platsdata för analysen av exempelfrågan är det också bäst att avmarkera Leveransregionindex . Slutligen, eftersom tabellen redan har ett enhetspris och kvantitet, behövs inte kolumnen Line Total.
När du har avmarkerat kolumner trycker du på OK . Om du vill ändra kolumnvalet, rensa bara kugghjulsikonen bredvid stegnamnet i rutan Tillämpade steg.
Tilldela lämpliga datatyper till kolumner och begränsa rader
Tilldela sedan datatyper för alla kolumner. Markera alla kolumner och klicka på Identifiera datatyp på fliken Transform.
Detektera datatyp identifierar automatiskt datatyperna för kolumner baserat på genomsökningen av de 200 översta raderna. Så kontrollera och se till att Power Query ställer in rätt datatyper.
Det är bäst att begränsa antalet rader. Om ditt räkenskapsår börjar den 1 juli kan du utelämna uppgifterna från juni eller ställa in en parameter.
Det finns dock en hake om du vill kunna ändra ett parametervärde i . När du har publicerat din rapport måste du vara antingen en texttyp eller en decimaltyp.
För att hantera det, skapa ett filter på data genom att klicka på rullgardinsknappen i kolumnen OrderDate. Klicka sedan på Datumfilter och välj Efter .
I dialogrutan ändrar du den första parametern till är efter eller lika med och matar sedan in datumet. I det här exemplet var det angivna datumet 1 juli 2014.
Efter att du tryckt på OK kommer filtret att tillämpas i din tabell. Skapa sedan en parameter och döp den till DatesFrom . Ställ in Typ till Text och ange datum i parametern Current Value.
Gå nu tillbaka till Best Practice-frågan och ersätt den inneboende #date med Date.From(DatesFrom) .
Om du klickar på bocktecknet utan funktionen Date.From returneras ett felmeddelande. Det beror på att DatesFrom är en texttyp medan fältet har en datumtyp. Funktionen Date.From konverterar text till datum.
Byt namn på alla kolumner som inte kommer att döljas i datamodellen. Namnet måste vara kortfattat, självbeskrivande och användarvänligt. Tänk på att du utformar en datamodell för personer som ska använda din rapport.
Konsolidera redundanta steg i språkflödet för Power Query
Nästa sak att göra är att konsolidera redundanta steg (som, byta namn på, ta bort och ändra kolumndatatyper). Dessutom är steg som att ändra ordning på kolumner saker som du bör vara uppmärksam på när du letar efter uppsägningar.
Tabellerna som du laddar till datamodellen visas aldrig i din rapport. Det gör kolumnordningen irrelevant.
En annan bästa praxis är att byta namn på dina steg i rutan Tillämpade steg. Namnen på stegen är självbeskrivande och används som variabler i M -koden.
Namn som innehåller mellanslag eller specialtecken skrivs med citationstecken. Det betyder att namnen är omslutna av en uppsättning dubbla citattecken och de har hash- eller pundtecknet framför sig, vilket gör M- koden svår att läsa. Du kan utelämna mellanslagen eller sätta ett understreck mellan dem.
Att lägga till ytterligare dokumentationsdetaljer genom att lägga till kommentarer i fönstret Advanced Editor är också en bästa praxis i Power Query. Du kan också göra det i stegegenskapsbeskrivningen . De visas som verktygstipsanteckningar när du håller muspekaren över ett steg med ett utropstecken i rutan Tillämpade steg.
Att veta varför du gjorde ett visst val i den initiala utvecklingen är oerhört användbart när du måste besöka en fil igen efter en tid. För att lägga till dokumentationsinformation högerklickar du på ett steg i rutan Tillämpade steg och väljer Egenskaper .
En dialogruta för stegegenskaper visas där du kan skriva orsaken till filtrering eller transformering.
Organisera frågor för ett bättre språkflöde för kraftfrågor
En av de vanligaste bästa metoderna i Power Query är att organisera dina frågor . Skapa mappar för parametrar, funktioner, iscensättningsfrågor och frågor som ska laddas till datamodellen. I det här exemplet väljer du frågorna FileLocation och DatesFrom och högerklickar på dem. Välj sedan Flytta till grupp och klicka på Ny grupp .
Lägg sedan till ett namn för de valda frågorna och tryck på OK .
Efter att ha grupperat dina frågor ser frågefönstret ut så här.
För alla dina iscensättningsfrågor, se till att inaktivera laddningen genom att avmarkera Aktivera laddning.
En annan sak att diskutera i den här handledningen är språkflödet. Vart och ett av stegen i rutan Tillämpade steg omvandlar ett värde som du kan se när du klickar på dem.
De första uppgifterna kom och startade i navigeringssteget och kolumner valdes. Därefter ändrades datatyper och ett datumintervall ställdes in. Kolumner döptes också om.
Alla steg returnerar ett tabelltypvärde. Om du öppnar fönstret Advanced Editor ser du ett let- uttryck och en in -sats. Mellan dem finns en lista med steg eller variabelnamn med uttryck som tilldelats dem.
Frågan returnerar allt som följer efter in -satsen som hänvisar till det sista steget i din variabellista. M - motorn kommer sedan att följa beroendekedjan tillbaka från in -satsen för att eliminera allt som är onödigt och för att driva transformationer tillbaka till källan om möjligt.
Sammanfattning av språkflödet för Power Query
Om du tittar på formeln kan du se flödet av stegen som gjorts i frågan. Du kommer också att se de funktioner som används av i varje steg.
Det första steget som gjordes i frågan var kolumnvalet. När steget utfördes med hjälp av användargränssnittet anropades funktionen Table.SelectColumns . Som första parameter tog den en tabell som refererade till variabelnamnet för föregående steg. Sedan listade den alla valda kolumnnamn.
Det andra steget transformerade kolumntyperna genom att anropa funktionen Table.TransformColumnTypes . Dess första parameter kallas utdata från föregående steg. Den listade sedan en uppsättning transformationslistor.
Det tredje steget ställer in ett datumintervallfilter med funktionen Table.SelectRows . Det tog en tabelltypsfråga som första argument. I det här exemplet refererade det till utdata från steget Change Type.
Det sista steget döpte om kolumnerna med funktionen Table.RenameColumns . Utdata från föregående steg användes som dess första argument. Sedan listade den en uppsättning byta namnlistor.
Alla funktioner som tillämpas via användargränssnittet börjar med ordet Tabell . De tog alla ett tabellvärde som första parameter och transformerade sedan det värdet.
Även om koden ser sekventiell ut eftersom varje steg refererar till föregående steg, krävs inte sekvensen. Om du flyttar ett steg runt kommer frågan fortfarande att köras eftersom M -motorn alltid följer beroendekedjan.
Att ha användargränssnittet är bekvämt, men det kommer alltid att anta att du vill omvandla resultaten av den tidigare transformationen. I de flesta fall kommer det förmodligen att vara sant och om det inte är det, måste du manuellt uppdatera det refererade värdet i koden.
Slutsats
Datatransformation är nödvändig för att hålla din data grupperad och organiserad. Det gör datautvecklingen snabbare eftersom du enkelt kan spåra problem i Power Query-språkflödet och ändra ändringar i din rapport.
Melissa
Denna handledning ger en översikt över Power Query Editor och M-språket på LuckyTemplates-skrivbordet.
Lär dig hur du skapar en sidnumrerad rapport, lägger till texter och bilder och sedan exporterar din rapport till olika dokumentformat.
Lär dig hur du använder SharePoint-automatiseringsfunktionen för att skapa arbetsflöden och hjälpa dig att mikrohantera SharePoint-användare, bibliotek och listor.
Finslipa dina färdigheter i rapportutveckling genom att gå med i en dataanalysutmaning. Acceleratorn kan hjälpa dig att bli en LuckyTemplates superanvändare!
Lär dig hur du beräknar löpande summor i LuckyTemplates med DAX. Löpande summor låter dig inte fastna i ett individuellt resultat.
Förstå konceptet med variabler i DAX inom LuckyTemplates och konsekvenserna av variabler för hur dina mått beräknas.
Lär dig mer om den anpassade visual som kallas LuckyTemplates Slope-diagram, som används för att visa ökning/minskning för en enstaka eller flera mätvärden.
Upptäck färgteman i LuckyTemplates. Dessa är viktiga för att dina rapporter och visualiseringar ska se ut och fungera sömlöst.
Att beräkna ett genomsnitt i LuckyTemplates kan göras på många sätt för att ge dig exakt information för dina affärsrapporter.
Låt oss fördjupa oss i Standard LuckyTemplates-teman och granska några av funktionerna som är inbyggda i själva LuckyTemplates Desktop-applikationen.