Datatyper i Power Query
Datatyper i Power Query bruges til at klassificere værdier for at have et mere struktureret datasæt. Datatyper defineres på feltniveau – værdier i et felt er angivet til at være i overensstemmelse med feltets datatype.
Datatypen for en kolonne vises i venstre side af kolonneoverskriften med et ikon, der symboliserer datatypen.
Bemærk
Power Query indeholder et sæt kontekstafhængige transformationer og indstillinger, der er baseret på kolonnens datatype. Når du f.eks. vælger en kolonne med datatypen Dato, får du transformationer og indstillinger, der gælder for den pågældende datatype. Disse transformationer og indstillinger finder sted i hele Power Query-grænsefladen, f.eks. under fanerne Transformér og Tilføj kolonne og de smarte filterindstillinger.
De mest almindelige datatyper, der bruges i Power Query, er angivet i følgende tabel. Selvom det ligger uden for denne artikels område, kan du finde den komplette liste over datatyper i artiklen Typer for M-formelsprog i Power Query.
Datatype | Ikon | Beskrivelse |
---|---|---|
Tekst | En datastreng med Unicode-tegn. Kan være strenge, tal eller datoer, der er repræsenteret i et tekstformat. Den maksimale strenglængde er 268.435.456 Unicode-tegn (hvor hvert Unicode-tegn er to byte) eller 536.870.912 byte. | |
Sand/falsk | En boolesk værdi af enten True eller False. | |
Decimaltal | Repræsenterer et flydende tal på 64-bit (otte byte). Det er den mest almindelige taltype og svarer til tal, som du normalt tænker på dem. Selvom den er designet til at håndtere tal med brøkdele, håndterer den også heltal. Decimaltalstypen kan håndtere negative værdier fra -1,79E +308 til -2,23E -308, 0 og positive værdier fra 2,23E -308 til og med 1,79E + 308. Tal som 34, 34,01 og 34,000367063 er f.eks. gyldige decimaltal. Den største præcision, der kan repræsenteres i typen Decimaltal, er 15 cifre lang. Decimalseparatoren kan forekomme et vilkårligt sted i tallet. Decimaltalstypen svarer til den måde, Excel gemmer sine tal på. Bemærk, at et binært flydende tal ikke kan repræsentere alle tal inden for det understøttede interval med 100 % nøjagtighed. Der kan derfor forekomme mindre forskelle i præcision, når der repræsenteres visse decimaltal. | |
Fast decimaltal | Denne datatype, der også kaldes valutatypen, har en fast placering for decimalseparatoren. Decimalseparatoren har altid fire cifre til højre og tillader 19 betydende cifre. Den største værdi, den kan repræsentere, er 922.337.203.685.477,5807 (positiv eller negativ). I modsætning til decimaltal er typen af fast decimaltal altid præcis og er derfor nyttig i de tilfælde, hvor upålmodigheden af notation med flydende tal kan medføre fejl. | |
Heltal | Repræsenterer en heltalsværdi på 64-bit (otte byte). Da det er et heltal, har det ingen cifre til højre for decimaltegnet. Det giver mulighed for 19 cifre. positive eller negative heltal mellem –9.223.372.036.854.775.807 (-2^63+1) og 9.223.372.036.854.775.806 (2^63-2). Den kan repræsentere den størst mulige præcision af de forskellige numeriske datatyper. Som med typen Fast decimaltal kan typen Heltal være nyttig i de tilfælde, hvor du har brug for at styre afrundingen. | |
Procentdel | Grundlæggende det samme som typen Decimaltal, men den har en maske til at formatere værdierne i kolonnen som en procentdel i vinduet Power Query-editor. | |
Dato/klokkeslæt | Repræsenterer både en dato- og klokkeslætsværdi. Under omstrækket gemmes værdien Dato/klokkeslæt som decimaltalstype, så du faktisk kan konvertere mellem de to. Klokkeslætsdelen af en dato gemmes som en brøkdel af hele multiplum af 1/300 sekunder (3,33 ms). Datoer mellem årene 1900 og 9999 understøttes. | |
Dato | Repræsenterer kun en dato (ingen klokkeslætsdel). Når en dato konverteres til modellen, er den den samme som en dato-/klokkeslætsværdi med nul for brøkværdien. | |
Time | Repræsenterer kun klokkeslæt (ingen datodel). Når den konverteres til modellen, er en klokkeslætsværdi den samme som en dato-/klokkeslætsværdi uden cifre til venstre for decimaltegnet. | |
Dato/klokkeslæt/tidszone | Repræsenterer en UTC-dato/-klokkeslæt med en tidszoneforskydning. Den konverteres til dato/klokkeslæt, når den indlæses i modellen. | |
Varighed | Repræsenterer en tidsperiode, der konverteres til typen Decimaltal, når den indlæses i modellen. Som decimaltalstype kan den tilføjes eller trækkes fra et dato-/klokkeslætsfelt med korrekte resultater. Da det er typen Decimaltal, kan du nemt bruge den i visualiseringer, der viser størrelsen. | |
Binære | Den binære datatype kan bruges til at repræsentere alle andre data med et binært format. | |
Any | Datatypen Enhver er den status, der er givet til en kolonne, der ikke har en eksplicit datatypedefinition. Any er den datatype, der klassificerer alle værdier. Vi anbefaler, at du altid eksplicit definerer kolonnedatatyperne for dine forespørgsler fra ustrukturerede kilder og undgår at have kolonner med datatypen Enhver som output for din forespørgsel. |
Registrering af datatyper sker automatisk, når der oprettes forbindelse til:
Strukturerede datakilder, f.eks. databaser, læser Power Query tabelskemaet fra datakilden og viser automatisk dataene ved hjælp af den korrekte datatype for hver kolonne.
Ustrukturerede kilder, f.eks. Excel-, CSV- og tekstfiler, registrerer Power Query automatisk datatyper ved at undersøge værdierne i tabellen. Automatisk registrering af datatyper er som standard aktiveret i Power Query for ustrukturerede kilder.
Du kan også bruge kommandoen Registrer datatype i gruppen Enhver kolonne under fanen Transformér til automatisk at registrere datatyperne for kolonnerne i tabellen.
Du kan definere eller ændre datatypen for en kolonne på fire steder:
På fanen Hjem i gruppen Transformér i rullemenuen Datatype.
På fanen Transformér i gruppen Enhver kolonne i rullemenuen Datatype.
Ved at vælge ikonet i venstre side af kolonneoverskriften.
I genvejsmenuen for kolonnen under Skift type.
Denne indstilling er specielt til ustrukturerede kilder. Det hjælper dig ved automatisk at undersøge og registrere kolonnetyper og overskrifter baseret på de første 200 rækker i tabellen. Når denne indstilling er aktiveret, føjer Power Query automatisk to trin til din forespørgsel:
- Hæv kolonneoverskrifter: Hæver den første række i tabellen til kolonneoverskriften.
- Ændret type: Konverterer værdierne fra datatypen Enhver til en datatype baseret på inspektionen af værdierne fra hver kolonne.
Denne indstilling er som standard aktiveret. Hvis du vil deaktivere eller aktivere denne indstilling, skal du følge de trin, der gælder for din Power Query-oplevelse.
Sådan konfigurerer du automatisk registrering af datatyper i Power Query Online
På fanen Hjem skal du vælge Indstillinger og derefter vælge Projektindstillinger. I vinduet Projektindstillinger skal du markere afkrydsningsfeltet Registrer automatisk kolonnetyper og overskrifter for ustrukturerede kilder .
Sådan konfigurerer du automatisk registrering af datatyper i Power Query til Desktop
Du kan definere denne funktionsmåde både på globalt niveau og filniveau i vinduet Indstillinger (vælg Indstillinger> under fanen Filer i Power Query-editor).
Global: Vælg Dataindlæsning i ruden til venstre under Global. I ruden til højre under Typeregistrering kan du vælge en af de tre konfigurationer for typeregistrering, der skal anvendes på alle nye filer, der oprettes i dit program:
- Registrer altid kolonnetyper og overskrifter for ustrukturerede kilder
- Registrer kolonnetyper og overskrifter for ustrukturerede kilder i henhold til hver fils indstilling
- Registrer aldrig kolonnetyper og overskrifter for ustrukturerede kilder
Aktuel fil: Vælg Dataindlæsning i ruden til venstre under Aktuel fil. I ruden til højre under Typeregistrering skal du vælge, om du vil aktivere eller deaktivere typeregistrering for den aktuelle fil.
Power Query håndterer to forskellige komponenter, der administrerer den måde, tingene ser ud og fortolkes på:
- Lokalisering: Den komponent, der fortæller Power Query på hvilket sprog, den skal vises.
- Globalisering: Den komponent, der håndterer formateringen af værdierne ud over fortolkningen af tekstværdier.
Landestandard er en enkelt værdi, der indeholder både lokaliserings- og globaliseringskomponenterne. Landestandard bruges til at fortolke tekstværdier og konvertere dem til andre datatyper. Landestandarden Engelsk (USA) betyder f.eks., at lokaliseringen er på USA engelsk, og globaliseringen eller formatet af værdien er baseret på de standarder, der bruges i USA.
Når Power Query definerer en kolonnedatatype eller konverterer fra én datatype til en anden, skal den fortolke de værdier, der skal konverteres, før den kan transformere dem til en anden datatype.
I Power Query Online er denne fortolkning defineret i Project-indstillinger under Landestandard.
I Power Query til Desktop genkender Power Query automatisk operativsystemets internationale format og bruger det til at fortolke værdierne for konvertering af datatyper. Hvis du vil tilsidesætte denne landestandardkonfiguration, skal du åbne vinduet Forespørgselsindstillinger og vælge Internationale indstillinger i ruden til venstre under Aktuel fil. Herfra kan du ændre landestandarden til den ønskede indstilling.
Denne landestandardindstilling er vigtig for at fortolke tekstværdier til en bestemt datatype. Forestil dig f.eks., at du har angivet landestandarden som engelsk (USA),men en kolonne i en af dine CSV-filer har datoer, der er formateret i formatet Dag/måned/år i Storbritannien.
Når du forsøger at angive datatypen for kolonnen Dato til dato, får du vist fejlværdier.
Disse fejl opstår, fordi den landestandard, der bruges, forsøger at fortolke datoen i formatet engelsk (USA), som er måned/dag/år. Da der ikke er nogen måned 22 i kalenderen, medfører det en fejl.
I stedet for blot at vælge datatypen Dato kan du højreklikke på kolonneoverskriften, vælge Skift type og derefter vælge Brug landestandard.
I dialogboksen Skift kolonnetype med landestandard skal du vælge den datatype, du vil angive, men du kan også vælge, hvilken landestandard der skal bruges, hvilket i dette tilfælde skal være engelsk (Storbritannien).
Ved hjælp af denne landestandard kan Power Query fortolke værdier korrekt og konvertere disse værdier til den rette datatype.
Sådan kontrollerer du de endelige datoværdier
Formateringen af værdierne er baseret på globaliseringsværdien. Hvis du er i tvivl om den værdi, der vises af Power Query, kan du bekræfte konverteringen af datoværdier ved at tilføje nye kolonner for dag, måned og år fra værdien. Det gør du ved at vælge kolonnen Dato og gå til fanen Tilføj kolonne på båndet. I kolonnegruppen Dato og klokkeslæt kan du se indstillingerne for en datokolonne.
Herfra kan du udtrække dele af datoværdien, f.eks. årstal, månedsnummer, dagsnummer eller endnu flere kolonner, der er udtrukket fra kolonnen Date .
Ved hjælp af disse kolonner kan du kontrollere, at datoværdien er konverteret korrekt.
Følgende matrix er designet til at give dig et hurtigt kig på muligheden for konvertering af datatyper for en værdi fra én datatype til en anden.
Bemærk
Konvertering i denne matrix starter med den oprindelige datatype i kolonnen Datatyper . Hvert resultat af en konvertering til den nye type vises i den oprindelige datatypes række.
Datatyper | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Decimaltal | — | ||||||||||
Valuta | — | ||||||||||
Heltal | — | ||||||||||
Procentdel | — | ||||||||||
Dato/klokkeslæt | — | ||||||||||
Dato | — | ||||||||||
Tid | — | ||||||||||
Dato/klokkeslæt/tidszone | — | ||||||||||
Varighed | — | ||||||||||
Tekst | — | ||||||||||
Sand/falsk | — |
Ikon | Beskrivelse |
---|---|
Muligt | |
Ikke muligt | |
Muligt, men det føjer værdier til den oprindelige værdi | |
Muligt, men den afkorter den oprindelige værdi |