Hva er Power Query & M Language: En detaljert oversikt
Denne opplæringen gir en oversikt over Power Query Editor og M-språket på LuckyTemplates-skrivebordet.
I denne opplæringen lærer du om Power Query Language Flow og noen av dens beste praksis. Du vil også lære hvordan du enkelt kan transformere dataene dine for å få best mulig resultater. Datatransformasjoner vil optimalisere rapporten din og få den til å se overbevisende ut.
Innholdsfortegnelse
Angi datatyper uten språkflyt for Power Query
De minste transformasjonene du alltid bør utføre er å gi nytt navn og angi datatyper for kolonnene dine.
brukes til å klassifisere verdier i M . Et ikon ved siden av kolonnenavnet viser den tilordnede datatypen for et felt. I denne eksempeltabellen kan du se et ABC123-ikon ved siden av kolonnenavnene. Det ikonet representerer Enhver datatype som indikerer at en datatype ikke er tilordnet den kolonnen.
Ut av bøkene er automatisk typegjenkjenning aktivert. Dette genererer Changed Type-trinn automatisk i spørringene dine. Selv om det er aktivert, sørg alltid for detgjetter datatypene riktig for hver av kolonnene på tvers av alle tabellene dine.
Følg disse trinnene for å aktivere eller deaktivere den innstillingen.
Under Global- alternativet kan du velge ett av de tre Type Detection- alternativene som er tilgjengelige for deg.
Under alternativet Current File kan du veksle mellom alternativene for Type Detection avhengig av den globale innstillingen.
Angi datatyper ved hjelp av Transform Tab
Brukergrensesnittet tilbyr flere måter å angi datatyper for kolonnene dine. I Transformer-fanens Enhver kolonne-seksjon finner du knappen Finn datatype .
Hvis du velger alle kolonnene og klikker på den knappen, vil den automatisk angi datatypene for alle kolonnene. Men siden den bare skanner de 200 øverste radene, må du fortsatt validere om Power Query har riktig datatype.
Hvis du velger en kolonne fra tabellen, kan du se dens datatype i delen Enhver kolonne.
Hvis du klikker på rullegardinknappen og velger Tekst, vil ikonet på den valgte kolonnen endres fra ABC123 til bare ABC .
Du vil da se et Endret type-trinn i ruten Applied Steps.
I Hjem-fanen finner du også muligheten til å angi datatypen.
Angi datatyper ved hjelp av kolonneoverskrift
En annen måte er å høyreklikke på en overskrift og velge Endre type . Derfra kan du velge riktig datatype for kolonnene dine.
Angi datatyper ved hjelp av kolonneikoner
Den vanligste måten å angi datatyper på er å klikke på ikonet ved siden av kolonnenavnet. Den vil vise deg alle tilgjengelige datatyper.
I eksempeltabellen setter du datatypen for OrderDate- kolonnen til Dato .
Avhengig av datatypen for kolonnen du velger, gir Power Query et sett med transformasjoner og alternativer som gjelder for den spesifikke datatypen i Transform- fanen , Legg til kolonne-fanen og Smart Filter-delen .
Så hvis du velger en datokolonne og går til Transform-fanen, vil du se alternativer under Dato-knappen.
Men hvis du velger en tekstkolonne, vil ikke alternativene under Dato-knappen lenger være tilgjengelige.
For smart filtrering har tekstkolonner tekstfiltre og datokolonner har datofiltre.
For neste kolonne endrer du kolonnenavnet til Kundenøkkel og datatypen til Helnummer .
Deretter endrer du datatypen for kolonnene Kanal, Valutakode og Varehuskode til Tekst.
Deretter endrer du navnet på leveringsregionindeksen til leveringsregionnøkkel og dens datatype til Helnummer . Deretter gjør du det samme for kolonnene Produktbeskrivelse Index og Order Quantity .
Til slutt, for Enhetspris, Linjetotal og Enhetskostnad, setter du datatypen til Fast desimaltall .
Angi datatyper med Power Query Language Flow
På grunn av endringene i kolonnene er det opprettet mange trinn i ruten Brukte trinn. Problemet er at på grunn av å utføre samme type transformasjoner flere ganger, prøvenblir ineffektiv. Dette er noe du bør unngå.
For å gjøre søket ditt effektivt, prøv å lage et enkelt trinn ved å bruke den spesifikke transformasjonen på alle kolonnene dine før du oppretter et nytt trinn.
Dupliser eksempeltabellspørringen og gi den nytt navn til Best Practice . Høyreklikk på den første transformasjonen som ble utført i forrige spørring i ruten Anvendte trinn, og velg Slett til slutt . Deretter bekrefter du slettingen av trinnet i dialogboksen Slett trinn .
I tillegg er her noen beste fremgangsmåter. Den første tingen er å lage parametere for å inneholde datakildeplasseringen. Dette gjør det lettere å fikse problemer når et filnavn er endret.
For å opprette parametere, klikk på Administrer parametre i fanen Hjem og velg Ny parameter .
En annen måte er å høyreklikke på Spørringsruten og velge Ny parameter .
Etter det vil en Administrer parametere- dialogboks vises. Navngi parameteren FileLocation og sett Type til Tekst. For de foreslåtte verdiene, sett den til Liste over verdier slik at du kan lime inn strengen din og endre eller legge til flere steder som du kan bytte mellom.
Deretter går du til filutforskeren og velger filen din. Kopier banen og lim inn parameterne. Når du er ferdig, trykker du på OK .
Gå tilbake til Best Practice-spørringen og klikk på Kilde-trinnet i ruten Applied Steps. Deretter endrer du den hardkodede filbanen i formellinjen med FileLocation .
Fjern unødvendige kolonner
Fjern alle unødvendige kolonner for å spare plass og forbedre ytelsen. Ta med bare dataene du trenger fordi det er mye enklere å legge til tabeller og kolonner enn å fjerne dem.
Den enkleste måten å gjøre det på er gjennom trinnet Velg kolonner i Hjem-fanen. Hvis du klikker på den knappen, vises en dialogboks som lar deg velge kolonner du vil beholde. Du bør designe og forme bordene dine med et spesifikt formål for å passe best til analysen du skal utføre.
Derfra fjerner du markeringen av kolonnene du ikke trenger i tabellen. For denne eksempeltabellen er kardinaliteten til OrderNumber-kolonnen høy. Det er best å velge bort den kolonnen fordi den påvirker filstørrelsen og den generelle ytelsen.
Hvis du ikke trenger plasseringsdata for analysen av eksempelsøket, er det også best å fjerne merket for leveringsområdeindeksen . Til slutt, siden tabellen allerede har en enhetspris og mengde, er ikke Linjetotal-kolonnen nødvendig.
Etter å ha fravalgt kolonner, trykk OK . Hvis du vil endre kolonnevalget, fjerner du bare tannhjulikonet ved siden av trinnnavnet i ruten Applied Steps.
Tildel passende datatyper til kolonner og begrens rader
Deretter tildeler du datatyper for alle kolonnene. Velg alle kolonnene og klikk på Finn datatype i Transform-fanen.
Oppdag datatype oppdager automatisk datatypene for kolonner basert på skanningen av de 200 øverste radene. Så sjekk og sørg for at Power Query angir de riktige datatypene.
Det er best praksis å begrense antall rader. Hvis regnskapsåret ditt starter 1. juli, kan du utelate dataene fra juni eller sette opp en parameter.
Det er imidlertid en hake hvis du ønsker å kunne endre en parameterverdi i . Etter at du har publisert rapporten, må du enten være en teksttype eller en desimaltype.
For å håndtere det, lag et filter på dataene ved å klikke på rullegardinknappen i OrderDate-kolonnen. Klikk deretter på Datofiltre og velg Etter .
I dialogboksen endrer du den første parameteren til er etter eller lik og skriv deretter inn datoen. I dette eksemplet var datoen som ble angitt 1. juli 2014.
Etter at du har trykket på OK , vil filteret bli brukt i tabellen din. Deretter oppretter du en parameter og gir den navnet DatesFrom . Sett Type til Tekst og skriv inn datoen i Current Value-parameteren.
Gå nå tilbake til Beste praksis-spørringen og erstatt den iboende #datoen med Date.From(DatesFrom) .
Hvis du klikker på avmerkingstegnet uten Date.From- funksjonen, returneres en feil. Det er fordi DatesFrom er en teksttype mens feltet har en datotype. Date.From - funksjonen konverterer tekst til dato.
Gi nytt navn til alle kolonnene som ikke skal skjules i datamodellen. Navnet må være kortfattet, selvbeskrivende og brukervennlig. Husk at du designer en datamodell for folk som skal bruke rapporten din.
Konsolider redundante trinn i språkflyten for Power Query
Den neste tingen å gjøre er å konsolidere overflødige trinn (som, gi nytt navn, fjerne og endre kolonnedatatyper). Dessuten er trinn som omorganisering av kolonner ting du bør være oppmerksom på når du ser etter oppsigelser.
Tabellene du laster inn i datamodellen, vises aldri i rapporten. Det gjør kolonnerekkefølgen irrelevant.
En annen god fremgangsmåte er å gi nytt navn til trinnene i ruten Applied Steps. Navnene på trinnene er selvbeskrivende og brukes som variabler i M- koden.
Navn som inneholder mellomrom eller spesialtegn skrives med anførselstegn. Det betyr at navnene er omsluttet av et sett med doble anførselstegn og de har hash- eller pundtegnet foran seg, noe som gjør M- koden vanskelig å lese. Du kan utelate mellomrommene eller sette et understrek mellom dem.
Å legge til ytterligere dokumentasjonsdetaljer ved å legge inn kommentarer i Advanced Editor-vinduet er også en god praksis i Power Query. Du kan også gjøre det i trinnegenskapsbeskrivelsen . De vises som verktøytips-kommentarer når du holder markøren over et trinn med et utropstegn i Brukte trinn-ruten.
Å vite hvorfor du tok et bestemt valg i den innledende utviklingen er svært nyttig når du må gå tilbake til en fil etter en stund. For å legge til dokumentasjonsdetaljer, høyreklikk et trinn i ruten Applied Steps og velg Properties .
En dialogboks for trinnegenskaper vises der du kan skrive årsaken til filtrering eller transformering.
Organiser spørringer for en bedre språkflyt for kraftforespørsler
En av de vanligste beste fremgangsmåtene i Power Query er å organisere spørringene dine . Opprett mapper for parametere, funksjoner, staging-spørringer og spørringer som skal lastes inn i datamodellen. I dette eksemplet velger du FileLocation og DatesFrom-spørringene og høyreklikker på dem. Deretter velger du Flytt til gruppe og klikker på Ny gruppe .
Deretter legger du til et navn for de valgte søkene og trykker OK .
Etter å ha gruppert søkene dine, vil spørringsruten se slik ut.
For alle staging-spørringene dine, sørg for å deaktivere belastningen ved å fjerne merket for Aktiver belastning.
En annen ting å diskutere i denne opplæringen er språkflyten. Hvert av trinnene i Applied Steps-ruten transformerer en verdi som du kan se når du klikker på dem.
De første dataene kom og startet i navigasjonstrinnet, og kolonner ble valgt. Deretter ble datatyper endret og en datoperiode ble satt. Kolonner ble også omdøpt.
Alle trinnene returnerer en tabelltypeverdi. Hvis du åpner Advanced Editor-vinduet, vil du se et let- uttrykk og en in -klausul. Mellom dem er det en liste over trinn eller variabelnavn med uttrykk tildelt dem.
Spørringen returnerer det som følger etter in- klausulen som refererer til det siste trinnet i variabellisten din. M- motoren vil deretter følge avhengighetskjeden tilbake fra in -klausulen for å eliminere alt som er unødvendig og for å presse transformasjoner tilbake til kilden hvis mulig.
Sammendrag av språkflyten for Power Query
Hvis du ser på formelen, kan du se flyten av trinnene som er utført i spørringen. Du vil også se funksjonene som brukes av i hvert trinn.
Det første trinnet som ble gjort i spørringen var kolonnevalget. Når trinnet ble utført ved hjelp av brukergrensesnittet, ble funksjonen Table.SelectColumns kalt opp. Som den første parameteren tok den en tabell som refererte til variabelnavnet til forrige trinn. Deretter listet den opp alle de valgte kolonnenavnene.
Det andre trinnet transformerte kolonnetypene ved å kalle funksjonen Table.TransformColumnTypes . Den første parameteren kalles utgangen fra forrige trinn. Den listet deretter opp et sett med transformasjonslister.
Det tredje trinnet angir et datoperiodefilter ved å bruke Table.SelectRows -funksjonen. Det tok en tabelltypespørring som sitt første argument. I dette eksemplet refererte det til utdataene fra Change Type-trinnet.
Det siste trinnet ga nytt navn til kolonnene ved å bruke funksjonen Table.RenameColumns . Utdataene fra forrige trinn ble brukt som det første argumentet. Deretter listet den opp et sett med lister med nytt navn.
Alle funksjonene som brukes gjennom brukergrensesnittet starter med ordet Tabell . De tok alle en tabellverdi som første parameter og transformerte deretter denne verdien.
Selv om koden ser sekvensiell ut fordi hvert trinn refererer til det forrige trinnet, er sekvensen ikke nødvendig. Hvis du flytter et steg rundt, vil spørringen fortsatt kjøre fordi M - motoren alltid følger avhengighetskjeden.
Det er praktisk å ha brukergrensesnittet, men det vil alltid anta at du vil transformere resultatene fra forrige transformasjon. I de fleste tilfeller vil det sannsynligvis være sant, og i den store sjansen for at det ikke er det, må du manuelt oppdatere den refererte verdien i koden.
Konklusjon
Datatransformasjon er nødvendig for å holde dataene dine gruppert og organisert. Det gjør datautvikling raskere fordi du enkelt kan spore problemer i Power Query-språkflyten og endre endringer i rapporten.
Melissa
Denne opplæringen gir en oversikt over Power Query Editor og M-språket på LuckyTemplates-skrivebordet.
Lær hvordan du lager en paginert rapport, legger til tekster og bilder og deretter eksporterer rapporten til ulike dokumentformater.
Lær hvordan du bruker SharePoint-automatiseringsfunksjonen til å lage arbeidsflyter og hjelpe deg med å mikroadministrere SharePoint-brukere, -biblioteker og -lister.
Utvid rapportutviklingsferdighetene dine ved å bli med i en dataanalyseutfordring. Akseleratoren kan hjelpe deg å bli en LuckyTemplates-superbruker!
Lær hvordan du beregner løpende totaler i LuckyTemplates ved hjelp av DAX. Løpende totaler lar deg ikke bli fanget opp i et individuelt resultat.
Forstå konseptet med variabler i DAX i LuckyTemplates og implikasjonene av variabler for hvordan målene dine beregnes.
Lær mer om det tilpassede visuelle bildet kalt LuckyTemplates Slope-diagram, som brukes til å vise økning/reduksjon for en enkelt eller flere beregninger.
Oppdag fargetemaene i LuckyTemplates. Disse er avgjørende for at rapportene og visualiseringene dine skal se ut og fungere sømløst.
Å beregne et gjennomsnitt i LuckyTemplates kan gjøres på mange måter for å gi deg nøyaktig informasjon for bedriftsrapportene dine.
La oss fordype oss i Standard LuckyTemplates-tema, og gjennomgå noen av funksjonene som er innebygd i selve LuckyTemplates Desktop-applikasjonen.