sql >> Database teknologi >  >> RDS >> Database

Pivotering, afpivotering og opdeling af kolonner i Power BI Query Editor

Til reference er Power BI en datavisualiserings- og analysesoftware udviklet af Microsoft. Power BI kan bruges til statisk såvel som interaktiv datavisualisering. Før du kan oprette egentlige visualiseringer med Power BI, kan du udføre dataforbehandling ved hjælp af Power BI Query-editor.

Med forespørgselseditor kan du udføre forskellige datatransformationsopgaver, såsom ændring af kolonnetyper, håndtering af manglende værdier, sletning af rækker og kolonner, pivotering og unpivotering af kolonner, opdeling af kolonner osv.

I denne artikel kan du se, hvordan du pivoterer, deaktiverer og opdeler kolonner ved hjælp af Power BI Query-editor.

Import af et datasæt til forespørgselseditoren

Datasættet, der bruges som eksempel i denne artikel, er i et CSV-filformat, der kan downloades ved hjælp af dette kaggle-link. Download CSV-filen til dit lokale filsystem.

Åbn derefter Power BI Desktop, klik på knappen "Get Data" i topmenuen. Fra rullelisten skal du vælge "Tekst/CSV" som vist nedenfor.

Power BI vil tage noget tid at importere dataene. Når dataene er indlæst, bør du se vinduet nedenfor.

Datasættet indeholder oplysninger om befolkning, areal, fødselsrate, dødsrate, befolkningstæthed, BNP pr. indbygger, telefoner pr. 1000 osv. for alle lande i verden. For at indlæse dataene i forespørgselseditoren skal du klikke på knappen "Transformer data".

Forespørgselseditoren ser sådan ud:

I forespørgselseditoren kan du udføre forskellige forbehandlinger, såsom pivotering, unpivotering og opdeling af kolonner.

Teori om pivotering og ikke-pivotering

Før vi rent faktisk går i gang med at pivotere og ikke pivotere kolonner med Power BI-forespørgselseditor. Lad os overveje et meget grundlæggende eksempel på unpivoting.

Ophæver pivotering

Antag, at du har et datasæt, der indeholder følgende information. Rækkerne i nedenstående tabel svarer til lande, mens kolonnerne viser oplysninger om BNP pr. indbygger og læsefærdigheder for tilsvarende lande i rækker. (Bemærk:Dette er kun dummy-værdier, ikke de faktiske værdier)

Land BNP pr. indbygger Læsefærdighed
Frankrig 30.000 95 %
Tyskland 25.000 96 %

Hvis du deaktiverer en enkelt kolonne, f.eks. BNP pr. indbygger, vil datasættet med en ikke-pivot kolonne se sådan ud.

Land Attribut Værdi Læsefærdighed
Frankrig BNP pr. indbygger 30.000 95 %
Tyskland BNP pr. indbygger 25.000 96 %

Du kan se, at kolonnen BNP Per Capita er blevet erstattet af to kolonner, dvs. Attribut og Value. Værdierne i kolonnen "Attribut" svarer til kolonnenavnet, der ikke er pivoteret, mens kolonnen "Værdi" indeholder de værdier, der tidligere fandtes i den ikke-pivoterede kolonne. Da kun en enkelt kolonne er upivoteret, vil værdierne i kolonnen "Attribut" altid være de samme. Desuden vil antallet af rækker i datasættet med én ikke-pivoteret kolonne forblive det samme.

Lad os nu prøve at se, hvad der sker, når vi deaktiverer to kolonner. Vi vil deaktivere både BNP Per Capita- og Literacy Rate-kolonnerne i det originale datasæt. Datasættet med to ikke-pivoterede kolonner ser sådan ud.

Land Attribut Værdi
Frankrig BNP pr. indbygger 30.000
Frankrig Læsefærdighed 95 %
Tyskland BNP pr. indbygger 25.000
Tyskland Læsefærdighed 96 %

I ovenstående datasæt kan du se, at for hvert landenavn indeholder kolonnen "Attribut" nu to unikke værdier:BNP Per Capita og Literacy Rate. Kolonnen "Værdi" indeholder de tilsvarende værdier for attributterne. Bemærk, at antallet af rækker er fordoblet. På samme måde, hvis du deaktiverer pivotering af tre kolonner, øges antallet af rækker i et datasæt med tre gange.

Pivotering

Pivotering refererer, som navnet antyder, til den proces, der bruges til at vende et ikke-pivot datasæt til dets oprindelige form. For eksempel ved pivotering ser inputtabellen sådan ud:

Land Attribut Værdi
Frankrig BNP pr. indbygger 30.000
Frankrig Læsefærdighed 95 %
Tyskland BNP pr. indbygger 25.000
Tyskland Læsefærdighed 96 %

Efter at have anvendt pivotering på kolonnerne "Attribut" og "Værdi", antager datasættet følgende form:

Land BNP pr. indbygger Læsefærdighed
Frankrig 30.000 95 %
Tyskland 25.000 96 %

Nu hvor vi ved, hvad pivotering og unpivoting er, lad os se, hvordan man implementerer dem med Power BI.

Pivotering og deaktivering med Power BI

Lad os først se et eksempel på, hvordan man deaktiverer en enkelt kolonne med Power BI-forespørgselseditor. Hvis du ser på datasættet, indeholder det en kolonne med navnet "Befolkning". For at fjerne pivoteringen af ​​kolonnen "Befolkning" skal du klikke på kolonneoverskriften og derefter vælge indstillingen "Transformer" i topmenuen. Du vil se en ny menu med flere muligheder vises øverst, klik på "Unpivot Columns"-indstillingen i menuen og klik derefter på "Unpivot Columns" fra rullelisten, som vist nedenfor:

Kolonnen "Befolkning" vil blive erstattet af kolonnerne "Attribut" og "Værdi", som vist nedenfor:

Nu, for at pivotere en kolonne, har du to muligheder. Du kan klikke på "x Unpivoted Columns"-indstillingen i vinduet "Anvendte trin", som vist på det følgende skærmbillede.

Den anden mulighed er at vælge en kolonne og derefter vælge "Transform -> Pivot Column" fra topmenuen, som vist nedenfor.

Mens du pivoterer en kolonne, skal du angive den kolonne, der indeholder værdierne for den ikke-pivoterede kolonne. I vores tilfælde indeholder "Værdi"-kolonnen værdier for den ikke-pivoterede "Attribut"-kolonne. Se det følgende skærmbillede for reference.

Den pivoterede "Befolkning"-kolonne ser sådan ud:

Flyt kolonnen "Befolkning" lige ved siden af ​​"Pop. Tæthed (pr. sq. mi.)" ved at klikke på kolonneoverskriften "Befolkning" og trække, som vist på følgende skærmbillede.

Dernæst vil vi deaktivere to kolonner, dvs. "Befolkning" og "Pop. Densitet (pr. sq. mi.)". Vælg begge kolonneoverskrifter og frigør dem derefter, som vist nedenfor:

Efter unpivotering bør du se følgende to kolonner oprettet i datasættet. Du kan se, at kolonnen "Attribut" nu indeholder information om "Befolkning" og "Pop. Densitet (pr. sq. mi.)”.

Vælg begge kolonneoverskrifter (CTRL + klik), og træk derefter kolonnerne lige ved siden af ​​kolonnen "Land", som vist nedenfor.

Nu kan du se "lande"-navne, deres samlede befolkning og befolkningstæthed pr. kvadratkilometer. Lad os ændre navnet på kolonnen "Attribut" til "Befolkningstype", da kolonnen "Attribut" viser to typer befolkning:den samlede befolkning og befolkningstætheden pr. kvadratkilometer. Datasættet med et opdateret kolonneoverskriftsnavn ser således ud:

Opdeling af kolonner

Før vi opdeler kolonner, erstatter vi nogle værdier i kolonnen "Befolkningstype".

Værdien "Population" i kolonnen "Population Type" refererer til den samlede population. Vi vil erstatte værdien "Population" med "Pop. Total”, så den har samme mønster som “Pop. Densitet (pr. sq. mi.)". For at erstatte værdier i kolonner, gå til "Transformer -> Erstat værdier", som vist på følgende skærmbillede.

Efter at have erstattet værdierne, ser datasættet således ud.

Nu vil vi opdele kolonnen "Befolkningstype" i to. Dens første fem tegn føjes til den første kolonne, mens de resterende tegn føjes til den anden kolonne. For at opdele en kolonne, gå til "Transformer -> Opdel kolonner". Vi vil opdele med de første fem tegn, derfor skal du vælge "Opdel efter antal tegn" fra rullemenuen. Vi opdeler kolonnen med de første 5 tegn længst til venstre. For reference, se på følgende skærmbillede.

Når kolonnerne er opdelt, bør du se de følgende to kolonner.

Vi har kun brug for kolonnen "Befolkningstype.2", da den indeholder oplysninger om typen eller omfanget af befolkningen. Klik på kolonnen "Population Type.1" og vælg derefter "Slet".

Endelig kan du omdøbe kolonnen "Population Type.2" til "Population Type" som vist nedenfor.

Af følgende figur kan du se, at der er to forskellige typer af befolkningsværdier for hvert land. Værdien "Total" i kolonnen "Befolkningstype" refererer til landets samlede befolkning. Den faktiske værdi for den samlede population gemmes i kolonnen "Befolkningsværdi". Tilsvarende viser værdien "Density (per sq. mi.)", at denne befolkningsværdi refererer til befolkningstæthed.

Konklusion

Sammenfattende viser artiklen dig, hvordan du udfører pivotering og unpivotering i Power BI-forespørgselseditor. Derudover dækker den den grundlæggende teori bag drejelige og ikke-pivoterende kolonner illustreret med klare eksempler. Til sidst forklarer artiklen, hvordan processen med at opdele kolonner implementeres i Power BI-forespørgselseditor.


  1. Gemmer Oracle efterfølgende nuller for nummerdatatypen?

  2. Viser SQL ikke null-værdier på en ikke-lig-forespørgsel?

  3. Hvordan laver jeg en rækkegenerator i MySQL?

  4. Oracle tabel kolonnenavn med mellemrum