Hvad er Power Query & M Language: En detaljeret oversigt
Denne vejledning giver et overblik over Power Query Editor og M-sproget inde på LuckyTemplates-skrivebordet.
Jeg skal vise dig, hvordan du udtrækker poster fra flettede afgrænsede data inden for flere kolonner . Dette gør dine data til et format, der er mere egnet til analyse.
Der er en række måder at gøre dette på. Men til denne tutorial vil jeg fokusere på en løsning foreslået af Ankit, som er en del af vores LuckyTemplates-fællesskab. Du kan se den fulde video af denne tutorial nederst på denne blog.
Indholdsfortegnelse
Brug af Text.Split
Til denne løsning vil jeg brugeat udtrække poster fra afgrænsede data.
Nedenfor er tabellen Muligheder i Power Query .
Som du kan se, er der flere værdier sammenkædet i en enkelt post. I 2. række er der f.eks. 4 forskellige værdier præsenteret. Disse 4 værdier er slået sammen under kolonnerne Konkurrenter og Konkurrentbeløb .
Det første jeg skal gøre er at bruge Text.Split .
Text.Split returnerer en liste efter opdeling af en tekstværdi baseret på en specifik afgrænser.
For at begynde at bruge Text.Split vil jeg kopiere afgrænsningstegnet i denne tabel.
Du vil bemærke, at når jeg klikker på denne post i tabellen, vises rekordværdien nederst. Jeg kopierer bare afgrænsningen derfra.
Når jeg har gjort det, vil jeg tilføje en brugerdefineret kolonne.
Jeg behøver ikke at ændre navnet endnu. Jeg skal bare lave en Text.Split under Custom Column Formula .
Denne formel har brug for en tekstværdi. Så jeg vælger bare kolonnen Konkurrenter i højre rude, og den føjes automatisk til formlen.
Jeg har også brug for en separator givet som tekst. Så inden for et par anførselstegn vil jeg indsætte det afgrænsningstegn, jeg kopierede tidligere. Så tilføjer jeg den afsluttende parentes.
Når jeg trykker på OK, ender jeg med et listeobjekt.
Ser man på den første liste, viser kolonnerne Konkurrenter og Beløb begge kun én post. Så hvis jeg klikker på den tomme plads ved siden af listeobjektet under brugerdefineret kolonne, viser den også en enkelt værdi i bunden.
Til den anden post har jeg en liste, der indeholder fire værdier. Dette svarer til de 4 værdier, der også er vist i kolonnen Konkurrenter og kolonnen Beløb .
Brug af List.Zip
Nu hvor jeg har opdelt listen, er næste trin at tilføje den tilsvarende værdi fra kolonnen Konkurrentbeløb. Jeg går til List.Zip for at gøre det.
Tænk på List.Zip som en egentlig lynlås. Det tager en liste over lister og kombinerer emnerne.
Ser du på eksemplet nedenfor, så tænk bare på den første liste (1 og 2) som det grønne spor på lynlåsen.
Tænk derefter på 3 og 4 som det røde spor.
Når List.Zip anvendes, samles de på midten. Så 1 fra 1. gruppe kombineres med 3 fra 2. gruppe. Det samme sker for 2 og 4. Det kan ses på outputtet, hvor der er dannet to nye grupper.
Der kan være tidspunkter, hvor de involverede lister har forskellig længde . Det betyder, at hvis listerne kombineres, vil de manglende data blive returneret . For at skabe nøjagtige par på trods af manglen på data, tilføjes en nulværdi .
Når jeg går tilbage til tabellen Muligheder , vil jeg tilføje endnu en tilpasset kolonne.
Denne gang vil jeg tilføje kolonnen Konkurrentbeløb til formlen.
Jeg vil også tilføje List.Zip .
Hvis du tjekker nedenfor, viser det, at der ikke er fundet fejl.
Men når jeg klikker OK og ser på den nye kolonne, der er dannet, ender jeg stadig med at få en fejl.
Jeg vil klikke på det hvide mellemrum ved siden af fejlen for at se detaljerne. Det viser, at jeg får en fejl, fordi jeg returnerede nogle argumenter omkring listerne.
Ser man på formlen, viser den, at denne syntaks, hvor der blev refereret til kolonnen Konkurrenter, returnerede en liste.
Men syntaksen for kolonnerne Konkurrentbeløb gav også en liste.
Når man husker, hvad List.Zip gør, tager det en enkelt liste over lister og kombinerer dem .
Da jeg ser, at der dukker to lister op, har jeg brug for listeinitialisereren for at samle disse lister . Det er derfor, jeg tilføjer disse krøllede beslag.
Når jeg har tilføjet det afsluttende krøllede beslag til sidst, skal jeg bare trykke på enter. Det vil give mig et listeobjekt.
Når jeg nu klikker ud til siden af den 1. post, viser den et enkelt listeobjekt. Dette er korrekt, da der under konkurrentbeløb virkelig er en enkelt værdi der.
Hvis jeg gør det samme med den anden post, viser den et listeobjekt, der indeholder 4 lister. Det matcher også antallet af værdier i de afgrænsede data under Konkurrentbeløb.
Jeg bruger sidepilene til højre for overskriften i kolonnen Brugerdefineret til at udvide dataene til nye rækker.
Vær opmærksom på den anden post, når jeg udvider til nye rækker.
Du vil se, at alle værdierne fra den post bliver udvidet ned.
Og når jeg klikker ud til siden i det hvide rum, kan jeg se indholdet af den indlejrede liste. Da den 1. post kun har én værdi for hver kolonne, viser jeg også de samme data nederst.
Men når jeg klikker på den 2. post, vil du se, at jeg kun viser den 1. af de 4 værdier, der er angivet i mine afgrænsede data.
På den tredje post viser jeg kombinationen af de anden værdier.
Så jeg vil bruge sidepilene igen. Men denne gang vil jeg udtrække værdierne fra den liste.
Jeg vil give den en brugerdefineret separator.
Jeg bruger det dobbelte rør som min afgrænsning. Dette skulle gøre sondringen mellem værdierne i de afgrænsede data klarere.
Når jeg trykker på OK, er værdierne sammenkædet lige ind i kolonnen Brugerdefineret.
Oprydning af data
Jeg har ikke længere brug for kolonnerne Konkurrent og Konkurrentbeløb, så jeg vil fjerne disse kolonner.
Hvad angår kolonnen Brugerdefineret, vil jeg dele den op.
På transformerfanen skal jeg vælge Opdel kolonne. Jeg vil dele det med afgrænsningen.
I vinduet vil jeg give det dobbelte rør som grundlag.
Når jeg trykker på OK, bliver dataene nu opdelt i separate kolonner.
Jeg vil blot omdøbe disse nye kolonner for at gøre det nemmere at finde ud af, hvad dataene handler om. Jeg vil kalde dette for konkurrentspalten igen.
Så vil jeg kalde den anden kolonne kolonnen Beløb.
Det er klart, at kolonnen Beløb indeholder tal. Men hvis du ser på ikonet, der repræsenterer datatypen, viser det, at jeg har tekst i stedet for tal. Så det vil jeg begynde at ordne.
Jeg er baseret i Europa, så vi bruger et punktum som en tusinde-separator i stedet for et komma. Jeg vil bruge Erstat værdier til at rydde op i det.
I vinduet skal jeg blot sætte et komma under Værdi at finde, og et punktum under Erstat med.
Når jeg trykker OK, vil alle kommaer nu vise punktum i stedet for.
Den næste ting, jeg skal gøre, er at fjerne dollartegnet foran værdierne. Igen vil jeg bruge værktøjet Erstat værdier. Denne gang vil jeg efterlade pladsen til Erstat med et tomt.
Når jeg trykker på OK, vil værdierne kun vise tallene uden nogen valuta.
Kigger ned i min kolonne, viser den også en post her med en dobbelt streg. Da det kunne returnere en mulig fejl, vil jeg slippe af med den dobbelte streg.
Jeg erstatter den dobbelte tankestreg med en blank.
Og når jeg trykker OK, har jeg det rigtige format for alle indtastningerne under kolonnen Beløb.
Jeg kan nu klikke på ikonet for datatypen og vælge Helnummer.
Konklusion
Som jeg nævnte tidligere, kan du udtrække værdier fra afgrænsede data på forskellige måder. Men for mig er denne tilgang en af de nemmeste og hurtigste måder at gøre det på.
Siden jeg fik ideen til denne løsning fra et af medlemmerne affællesskab, viser dette også, hvor vigtigt det erer. Du kan virkelig se hvert problem fra mange forskellige perspektiver. Derfra kan du bare vælge en løsning, som du mener vil fungere bedst for dig.
Alt det bedste,
Melissa
***** Lærer du Lucky Templates? *****
Denne vejledning giver et overblik over Power Query Editor og M-sproget inde på LuckyTemplates-skrivebordet.
Lær, hvordan du opretter en sideinddelt rapport, tilføjer tekster og billeder og derefter eksporterer din rapport til forskellige dokumentformater.
Lær, hvordan du bruger SharePoint-automatiseringsfunktionen til at skabe arbejdsgange og hjælpe dig med at mikrostyre SharePoint-brugere, -biblioteker og -lister.
Udvid dine rapportudviklingsevner ved at deltage i en dataanalyseudfordring. Acceleratoren kan hjælpe dig med at blive LuckyTemplates-superbruger!
Lær, hvordan du beregner løbende totaler i LuckyTemplates ved hjælp af DAX. Løbende totaler giver dig mulighed for ikke at blive fanget af et individuelt resultat.
Forstå konceptet med variabler i DAX i LuckyTemplates og betydningen af variabler for, hvordan dine mål beregnes.
Lær mere om det brugerdefinerede visuelle kaldet LuckyTemplates Slope-diagrammet, som bruges til at vise stigning/fald for en enkelt eller flere metrics.
Opdag farvetemaerne i LuckyTemplates. Disse er afgørende for, at dine rapporter og visualiseringer kan se ud og fungere problemfrit.
Beregning af et gennemsnit i LuckyTemplates kan gøres på mange måder for at give dig præcise oplysninger til dine virksomhedsrapporter.
Lad os dykke ned i Standard LuckyTemplates-temaer og gennemgå nogle af de funktioner, der er indbygget i selve LuckyTemplates Desktop-applikationen.