Dimensjonstabell i en tekstfil: Power Query Solution

I dette blogginnlegget skal jeg gå gjennom problem nr. 2 fra det pågående ukens problem på , hvor vi diskuterte hvordan man sorterer rotete data til en ren dimensjonstabell. Dette er den andre gjentakelsen av dette nye initiativet som vi er vertskap for hos LuckyTemplates. Jeg er spesielt lidenskapelig opptatt av denne serien fordi den gir alle muligheten til å øve mer regelmessig. Du kan se hele videoen av denne opplæringen nederst på denne bloggen.

Den første onsdagen i hver måned er det en DAX-utfordring og den tredje onsdagen er det en power-query-utfordring .

Dette er en flott mulighet til å utforske, oppdage og lære nye ting om disse språkene som du trenger å utnytte i LuckyTemplates.

Du finner en kategori om ukens problem på LuckyTemplates-forumet.

Dimensjonstabell i en tekstfil: Power Query Solution

Hovedfokuset handler om prosessen og ikke så mye på resultatet.

Hvis du lykkes med å bryte ned et problem i mindre biter, vil du kunne løse ethvert problem du står overfor.

Melissa de Korte

Brian snakket tidligere om en teknikk kalt gummiand-feilsøking . Hvis du gikk glipp av det, sørg for å sjekke ut videoen hans. Det kan hjelpe deg når du står fast på disse utfordringene.

La oss først undersøke oppgaven. Vi har en rotete tekstfil som vi må transformere til en skikkelig dimensjonstabell.

Dimensjonstabell i en tekstfil: Power Query Solution

Nå, når jeg ser på data som dette, kommer det for det meste til å handle om tekstrensing, fjerning av uønskede tegn, trimming, bruk av store bokstaver, og så videre.

Men vi må også hente alle radene fra disse stabeldataene og gjøre dem om til en enkelt linje for hvert land. Jeg kaller det stabeldata fordi alle feltnavnene gjentas i en enkelt kolonne for hvert land.

Jeg har litt erfaring med Excel, og en av de kraftigste funksjonene etter mitt syn er.

Innholdsfortegnelse

Pivottabeller i Excel

Pivottabeller lar meg se data segment for segment. Avhengig av hva du plasserer på radseksjonen, kondenserer en pivottabell hver forekomst av det segmentet til en enkelt linje.

Du kan deretter dele det opp ytterligere ved å dra feltene inn i kolonnedelen.

Jeg har laget et eksempel på hvordan dette ser ut. Her har vi stort sett de samme dataene som vi hadde i tekstfilen.

Dimensjonstabell i en tekstfil: Power Query Solution

Og på neste side har jeg laget en tom pivottabell.

Dimensjonstabell i en tekstfil: Power Query Solution

Nå, det jeg ikke viste deg er at jeg har tre kolonner her i stedet for de to som jeg allerede har vist deg.

Jeg skal dra segmentet mitt til radene.

Dimensjonstabell i en tekstfil: Power Query Solution

Siden kolonne 1 hadde feltnavnene, skal jeg dra det til kolonnedelen.

Kolonne 2 hadde alle feltverdiene, så jeg skal dra den inn i verdidelen.

Dimensjonstabell i en tekstfil: Power Query Solution

Vi kan se her at pivottabellene ikke kan håndtere tekststrenger. Det teller dem, men det viser at vi har en enkelt verdi for hvert felt.

Dimensjonstabell i en tekstfil: Power Query Solution

La oss nå ta en titt på det segmentet jeg opprettet. Så jeg kommer til å gå tilbake til dataene, og jeg skal vise kolonnen min. Du kan se at det bare er et indeksnummer som identifiserer hver av de separate blokkene av dataene som fortsatt er stablet oppå hverandre.

Dimensjonstabell i en tekstfil: Power Query Solution

Så for meg vil nøkkeltransformasjonen være en pivot av dataene for å få dem tilbake til det tabellformatet.

I forumet har jeg sett andre måter å håndtere dette på. Det er andre måter å komme til et tabellformat på bortsett fra å bruke en pivothandling, og de fungerer like bra. Hvis du er interessert i det, gå til forumet og begynn å utforske.

Bruke Power Query for å lage dimensjonstabell

La oss gå gjennom strømspørsmålet og se gjennom løsningen min.

Personlig synes jeg brukergrensesnittet gjør en god jobb med å skrive mesteparten av M-koden for oss. Så jeg pleier å designe spørsmålene mine ved å bruke brukergrensesnittet så mye jeg kan.

Når spørringen gjør det jeg trengte at den skulle gjøre, går jeg inn i den avanserte editoren og undersøker M-koden for å se om jeg kan endre den. La oss se hvordan det ser ut.

Dette er min basisgruppe som er bygget ved hjelp av brukergrensesnittet.

Dimensjonstabell i en tekstfil: Power Query Solution

Du kan se at det er mange trinn i de anvendte trinnene på høyre side.

Dimensjonstabell i en tekstfil: Power Query Solution

Nå er det i seg selv ikke et problem, men bare ved å se på disse trinnene kan du se at det er mange transformasjoner som kan grupperes sammen.

La oss åpne den avanserte editoren.

Dimensjonstabell i en tekstfil: Power Query Solution

Vi ser at denne spørringen har 31 trinn.

Jeg la også til noen kommentarer til det samme søket som inneholder de 31 trinnene, men jeg delte det opp i seksjoner.

Dimensjonstabell i en tekstfil: Power Query Solution

Det første jeg gjorde var å fjerne trinnet for endringstype. Jeg foreslår å lage en egendefinert funksjon for å utføre alle disse teksttransformasjonstrinnene.

Det er mange kommentarer her, men det er bare to ting jeg vil trekke frem i dette blogginnlegget. Først er den tilpassede funksjonen for tekstrensingsformål .

Det andre er pivottrinnet for å gjøre denne typen data tilbake til et riktig tabellformat .

Egendefinert tekstrensefunksjon

La oss gå tilbake til de tidlige stadiene av å bygge ut spørringen min, hvor jeg hadde alle de grupperte trinnene for å rydde opp i disse tekstene: kolonne 1 og den sammenslåtte kolonnen.

Jeg har også lagt til en ekstra egendefinert kolonne. Dens eneste formål er å bygge ut min egendefinerte tekstrensefunksjon . Jeg påkalte det på den sammenslåtte kolonnen.

På denne måten trenger jeg ikke å skrive funksjonen på én gang, men bygge den opp gradvis ett trinn om gangen, og legger til en ny transformasjon etter å ha gjennomgått resultatene fra forrige trinn.

Dimensjonstabell i en tekstfil: Power Query Solution

La oss se på M-koden for tekstrensefunksjonen.

Dimensjonstabell i en tekstfil: Power Query Solution

Som du kan se, har jeg flere trinn. Da jeg bygde denne tekstfunksjonen, gikk jeg frem og tilbake mellom spørringen for å se på resultatene for å se hva jeg skulle bygge og hva som skulle rettes videre.

Med dette resultatet utførte jeg alle transformasjonene jeg trengte. Noen av M-funksjonene som jeg brukte her ble levert av brukergrensesnittet da jeg bygde den første spørringen, som teksten. Trimfunksjon. De andre funksjonene som ble brukt var det imidlertid ikke.

Hvis du ikke er kjent med dem, kan du slå opp allei M-formelguiden online. Dette er lenken du må gå.

Dimensjonstabell i en tekstfil: Power Query Solution

Du finner en seksjon dedikert til strømspørring og funksjoner.

Dimensjonstabell i en tekstfil: Power Query Solution

Scroller du ned finner du seksjonen om tekstfunksjon og hver seksjon starter med en oversikt. Det er en liste over alle tekstfunksjonene i kraftspørringen og formel M-språket.

Hvis du leter etter en spesifikk transformasjon, kan du slå den opp her.

Dimensjonstabell i en tekstfil: Power Query Solution

Pivotering av data

Den andre delen jeg ønsket å fremheve mens jeg opprettet denne dimensjonstabellen, er pivotering av selve dataene. La oss også se nærmere på dette.

Jeg startet med å legge til en indeks. Jeg oppdaterte den indeksen for å segmentere datablokkene riktig. Jeg gjorde dette ved å returnere indeksnummeret for hver linje der det hadde tekstlandet i kolonne 1, og så fylte jeg den verdien ned.

Dimensjonstabell i en tekstfil: Power Query Solution

Alt vi trenger å gjøre er å pivotere selve dataene. På transformeringsfanen finner du pivotkolonnen. Med kolonne 1 valgt, klikk på Pivot Column.

Den kommer til å bruke kolonne 1s verdier som det nye kolonnenavnet. Den ønsker også å vite hvor verdiene for disse feltnavnene er. De er i vår sammenslåtte kolonne.

Dimensjonstabell i en tekstfil: Power Query Solution

Hvis Excel kan håndtere tekstverdier, kan Power Query også på grunn av den avanserte alternativinnstillingen. Alt vi trenger å gjøre er å velge Don't Aggregate for at den skal kunne håndtere tekstverdier.

Dimensjonstabell i en tekstfil: Power Query Solution

Når vi klikker på OK, kan vi se at dataene våre har blitt pivotert.

Dimensjonstabell i en tekstfil: Power Query Solution

Konklusjon

Bildet ovenfor er det endelige resultatet. Jeg håper du har likt hvordan vi har omformet de rotete dataene i den medfølgende tekstfilen og gjort den til en rens som er egnet for analyse.

Hvis du har likt dette blogginnlegget, vennligst abonner på LuckyTemplates-kanalen slik at du ikke går glipp av nytt innhold.

Jeg håper å se dere alle i fremtidige Problem of the Week-utfordringer.

Melissa

Leave a Comment

DAX Studio EVALUATE Nøkkelord: Grunnleggende eksempler

DAX Studio EVALUATE Nøkkelord: Grunnleggende eksempler

Lær å bruke DAX Studio EVALUATE nøkkelordet med grunnleggende eksempler og få en bedre forståelse av hvordan dette kan hjelpe deg med databehandling.

Opprette en datotabell i LuckyTemplates

Opprette en datotabell i LuckyTemplates

Finn ut hvorfor det er viktig å ha en dedikert datotabell i LuckyTemplates, og lær den raskeste og mest effektive måten å gjøre det på.

LuckyTemplates Mobile Reporting Tips og teknikker

LuckyTemplates Mobile Reporting Tips og teknikker

Denne korte opplæringen fremhever LuckyTemplates mobilrapporteringsfunksjon. Jeg skal vise deg hvordan du kan utvikle rapporter effektivt for mobil.

Profesjonelle tjenesteanalyserapporter i LuckyTemplates

Profesjonelle tjenesteanalyserapporter i LuckyTemplates

I denne LuckyTemplates-utstillingen vil vi gå gjennom rapporter som viser profesjonell tjenesteanalyse fra et firma som har flere kontrakter og kundeengasjementer.

Microsoft Power Platform-oppdateringer | Microsoft Ignite 2021

Microsoft Power Platform-oppdateringer | Microsoft Ignite 2021

Gå gjennom de viktigste oppdateringene for Power Apps og Power Automate og deres fordeler og implikasjoner for Microsoft Power Platform.

Vanlige SQL-funksjoner: en oversikt

Vanlige SQL-funksjoner: en oversikt

Oppdag noen vanlige SQL-funksjoner som vi kan bruke som streng, dato og noen avanserte funksjoner for å behandle eller manipulere data.

LuckyTemplates Template Creation: Guide og tips

LuckyTemplates Template Creation: Guide og tips

I denne opplæringen lærer du hvordan du lager din perfekte LuckyTemplates-mal som er konfigurert til dine behov og preferanser.

Feltparametre og små multipler i LuckyTemplates

Feltparametre og små multipler i LuckyTemplates

I denne bloggen vil vi demonstrere hvordan du legger feltparametere sammen med små multipler for å skape utrolig nyttig innsikt og grafikk.

LuckyTemplates-rangering og tilpasset gruppering

LuckyTemplates-rangering og tilpasset gruppering

I denne bloggen vil du lære hvordan du bruker LuckyTemplates rangering og tilpassede grupperingsfunksjoner for å segmentere et eksempeldata og rangere det i henhold til kriterier.

Viser kun kumulativ total opp til en bestemt dato i LuckyTemplates

Viser kun kumulativ total opp til en bestemt dato i LuckyTemplates

I denne opplæringen skal jeg dekke en spesifikk teknikk rundt hvordan du viser kumulativ total kun opp til en bestemt dato i grafikken i LuckyTemplates.