Normalisere kolonner
I Power Query kan du transformere kolonner til attributværdipar, hvor kolonner bliver til rækker.
Diagram, der viser en tabel til venstre med en tom kolonne og rækker og attributterne A1, A2 og A3 som kolonneoverskrifter. Kolonnen A1 indeholder værdierne V1, V4 og V7, kolonnen A2 indeholder værdierne V2, V5 og V8, og kolonnen A3 indeholder værdierne V3, V6 og V9. Når kolonnerne ikke er aktiveret, indeholder en tabel til højre for diagrammet en tom kolonne og rækker, en kolonne af typen Attributter med ni rækker med A1, A2 og A3 gentaget tre gange og en værdikolonne med værdierne V1 til og med V9.
Hvis du f.eks. får en tabel som følgende, hvor landerækker og datokolonner opretter en matrix med værdier, er det svært at analysere dataene på en skalerbar måde.
Tabel, der indeholder en kolonne af typen Country, der er angivet i datatypen Text, og kolonnerne 1/6/2020, 7/1/2020 og 8/1/2020 angivet som datatypen Heltal. Kolonnen Country indeholder USA i række 1, Canada i række 2 og Panama i række 3.
Du kan i stedet transformere tabellen til en tabel med ikke-udpivoterede kolonner, som vist på følgende billede. I den transformerede tabel er det nemmere at bruge datoen som en attribut til at filtrere efter.
Tabel, der indeholder en kolonne af typen Country, der er angivet som datatypen Text, en attributkolonne, der er angivet som datatypen Text, og en værdikolonne, der er angivet som datatypen Heltal. Kolonnen Country indeholder USA i de første tre rækker, Canada i de næste tre rækker og Panama i de sidste tre rækker. Kolonnen Attribute indeholder 1/6/2020 i første, fjerde og syvende række, 7/1/2020 i den anden, femte og ottende række og 8/1/2020 i den tredje, sjette og niende række.
Nøglen i denne transformation er, at du har et sæt datoer i tabellen, som alle skal være en del af en enkelt kolonne. Den respektive værdi for hver dato og hvert land skal være i en anden kolonne og effektivt oprette et attributværdipar.
Power Query opretter altid attributværdiparret ved hjælp af to kolonner:
- Attribut: Navnet på de kolonneoverskrifter, der ikke blevpivoteret.
- Værdi: De værdier, der var under hver af de ikke-udpivoterede kolonneoverskrifter.
Der er flere steder i brugergrænsefladen, hvor du kan finde Unpivot-kolonner. Du kan højreklikke på de kolonner, du vil frigøre, eller du kan vælge kommandoen under fanen Transformér på båndet.
Du kan frigøre kolonner fra en tabel på tre måder:
- Fjernpivotér kolonner
- Frigør andre kolonner
- Ophæv kun markerede kolonner
Normalisere kolonner
I det scenarie, der er beskrevet ovenfor, skal du først vælge de kolonner, du vil frigøre. Du kan vælge Ctrl , når du vælger lige så mange kolonner, du har brug for. I dette scenarie skal du markere alle kolonner undtagen den med navnet Land. Når du har valgt kolonnerne, skal du højreklikke på en af de markerede kolonner og derefter vælge Frigør kolonner.
Resultatet af denne handling giver det resultat, der vises på følgende billede.
Tabel, der indeholder en kolonne af typen Country, der er angivet som datatypen Text, en attributkolonne, der er angivet som datatypen Text, og en værdikolonne, der er angivet som datatypen Heltal. Kolonnen Country indeholder USA i de første tre rækker, Canada i de næste tre rækker og Panama i de sidste tre rækker. Kolonnen Attribute indeholder 1/6/2020 i første, fjerde og syvende række, 7/1/2020 i den anden, femte og ottende række og 8/1/2020 i den tredje, sjette og niende række. Derudover fremhæves posten Unpivot-kolonner i ruden Forespørgselsindstillinger, og M-sprogkoden vises på formellinjen.
Særlige overvejelser
Når du har oprettet din forespørgsel fra trinnene ovenfor, kan du forestille dig, at din indledende tabel opdateres, så den ligner følgende skærmbillede.
Tabel med samme oprindelige kolonner Country, 6/1/2020, 7/1/2020 og 8/1/2020 med tilføjelse af kolonnen 9/1/2020. Kolonnen Country indeholder stadig værdierne USA, Canada og Panama, men storbritannien er også føjet til fjerde række, og Mexico er føjet til femte række.
Bemærk, at du har tilføjet en ny kolonne for datoen 1-09-2020 (1. september 2020) og to nye rækker for landene/områderne Storbritannien og Mexico.
Hvis du opdaterer din forespørgsel, kan du se, at handlingen udføres på den opdaterede kolonne, men den påvirker ikke den kolonne, der ikke oprindeligt blev valgt (Land, i dette eksempel). Det betyder, at alle nye kolonner, der føjes til kildetabellen, også fjernes.
På følgende billede kan du se, hvordan din forespørgsel vil se ud efter opdateringen med den nye opdaterede kildetabel.
Tabel med kolonnerne Land, Attribut og Værdi. De første fire rækker i kolonnen Country indeholder USA, de anden fire rækker indeholder Canada, de tredje fire rækker indeholder Panama, de fjerde fire rækker indeholder Storbritannien, og de femte fire rækker indeholder Mexico. Kolonnen Attribut indeholder 1/6/2020, 7/1/2020, 1/8/2020 og 1/9/2020 i de første fire rækker, som gentages for hvert land.
Frigør andre kolonner
Du kan også markere de kolonner, du ikke vil frigøre og frigøre resten af kolonnerne i tabellen. Denne handling er stedet, hvor Unpivot andre kolonner kommer i spil.
Resultatet af denne handling giver nøjagtigt det samme resultat som det, du fik fra Unpivot-kolonner.
Tabel, der indeholder en kolonne af typen Country, der er angivet som datatypen Text, en attributkolonne, der er angivet som datatypen Text, og en værdikolonne, der er angivet som datatypen Heltal. Kolonnen Country indeholder USA i de første tre rækker, Canada i de næste tre rækker og Panama i de sidste tre rækker. Kolonnen Attribute indeholder 1/6/2020 i første, fjerde og syvende række, 7/1/2020 i den anden, femte og ottende række og 8/1/2020 i den tredje, sjette og niende række.
Bemærk
Denne transformation er afgørende for forespørgsler, der har et ukendt antal kolonner. Handlingen fjerner alle kolonner fra tabellen med undtagelse af dem, du har valgt. Dette er en ideel løsning, hvis datakilden i dit scenarie fik nye datokolonner i en opdatering, fordi de bliver hentet og ikke-udpivoteret.
Særlige overvejelser
På samme måde som med handlingen Unpivot-kolonner fjernes alle kolonner undtagen dem, der tidligere er valgt, hvis forespørgslen opdateres, og der hentes flere data fra datakilden.
For at illustrere dette skal du sige, at du har en ny tabel som den på følgende billede.
Tabel med lande, 1/6/2020, 1/7/2020, 1/8/2020 og 9/1/2020, hvor alle kolonner er angivet til datatypen Tekst. Kolonnen Country indeholder, fra top til bund, USA, Canada, Panama, Storbritannien og Mexico.
Du kan vælge kolonnen Country og derefter vælge Unpivot other column, hvilket giver følgende resultat.
Tabel med kolonnerne Land, Attribut og Værdi. Kolonnerne Land og Attribut er angivet til datatypen Tekst. Kolonnen Værdi er angivet til datatypen Hele værdien. De første fire rækker i kolonnen Country indeholder USA, de anden fire rækker indeholder Canada, de tredje fire rækker indeholder Panama, de fire fjerde rækker indeholder Storbritannien, og de femte fire rækker indeholder Mexico. Kolonnen Attribut indeholder 1/6/2020, 7/1/2020, 1/8/2020 og 1/9/2020 i de første fire rækker, som gentages for hvert land.
Ophæv kun markerede kolonner
Formålet med denne sidste indstilling er kun at frigøre bestemte kolonner fra tabellen. Dette er vigtigt i scenarier, hvor du har at gøre med et ukendt antal kolonner fra din datakilde, og du kun vil frigøre de valgte kolonner.
Hvis du vil udføre denne handling, skal du vælge de kolonner, der skal fjernes, hvilket i dette eksempel er alle kolonner undtagen kolonnen Country . Højreklik derefter på en af de valgte kolonner, og vælg derefter Ophæv kun markerede kolonner.
Bemærk, hvordan denne handling giver det samme output som de tidligere eksempler.
Tabel, der indeholder en kolonne af typen Country, der er angivet som datatypen Text, en attributkolonne, der er angivet som datatypen Text, og en værdikolonne, der er angivet som datatypen Heltal. Kolonnen Country indeholder USA i de første tre rækker, Canada i de næste tre rækker og Panama i de sidste tre rækker. Kolonnen Attribute indeholder 1/6/2020 i første, fjerde og syvende række, 7/1/2020 i den anden, femte og ottende række og 8/1/2020 i den tredje, sjette og niende række.
Særlige overvejelser
Hvis vores kildetabel efter en opdatering ændres til at have en ny 1/9/2020-kolonne og nye rækker for Storbritannien og Mexico, vil resultatet af forespørgslen være forskelligt fra de tidligere eksempler. Lad os sige, at vores kildetabel efter en opdatering ændres til tabellen på følgende billede.
Outputtet fra vores forespørgsel vil se ud som på følgende billede.
Det ser sådan ud, fordi unpivot-handlingen kun blev anvendt på kolonnerne 1/6/2020, 7/1/2020 og 8/1/2020 , så kolonnen med overskriften 9/1/2020 forbliver uændret.
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: I hele 2024 udfaser vi GitHub-problemer som feedbackmekanisme for indhold og erstatter det med et nyt feedbacksystem. Du kan få flere oplysninger under:Indsend og få vist feedback om