Datové typy v Power Query
Datové typy v Power Query slouží ke klasifikaci hodnot tak, aby měly strukturovanější datovou sadu. Datové typy jsou definovány na úrovni pole – hodnoty uvnitř pole jsou nastaveny tak, aby odpovídaly datovému typu pole.
Datový typ sloupce se zobrazí na levé straně záhlaví sloupce s ikonou, která symbolizuje datový typ.
Poznámka:
Power Query poskytuje sadu kontextových transformací a možností na základě datového typu sloupce. Když například vyberete sloupec s datovým typem Date, získáte transformace a možnosti, které platí pro daný datový typ. K těmto transformacím a možnostem dochází v rozhraní Power Query, například na kartách Transformace a Přidání sloupců a v možnostech inteligentního filtru.
Nejběžnější datové typy používané v Power Query jsou uvedené v následující tabulce. I když je nad rámec tohoto článku, najdete úplný seznam datových typů v článku Typy jazyka vzorců Power Query M.
Datový typ | Ikona | Popis |
---|---|---|
Text | Datový řetězec znaků Unicode. Můžou to být řetězce, čísla nebo kalendářní data reprezentovaná v textovém formátu. Maximální délka řetězce je 268 435 456 znaků Unicode (kde každý znak Unicode je dva bajty) nebo 536 870 912 bajtů. | |
Pravda nebo nepravda | Logická hodnota true nebo false. | |
Desetinné číslo | Představuje 64bitové číslo s plovoucí desetinou čárkou (osm bajtů). Jedná se o nejběžnější typ čísla a odpovídá číslům, jak si je obvykle myslíte. I když je navržený tak, aby zpracovával čísla s desetinnými hodnotami, zpracovává také celá čísla. Typ Desetinné číslo dokáže zpracovat záporné hodnoty od -1,79E +308 do -2,23E –308, 0 a kladných hodnot od 2,23E –308 do 1,79E + 308. Například čísla jako 34, 34,01 a 34,000367063 jsou platná desetinná čísla. Největší přesnost, kterou lze reprezentovat v typu Desetinné číslo, je 15 číslic dlouhé. Oddělovač desetinných míst může nastat kdekoli v čísle. Typ Desetinné číslo odpovídá způsobu, jakým Excel ukládá čísla. Všimněte si, že binární číslo s plovoucí desetinou čárkou nemůže představovat všechna čísla v podporovaném rozsahu s přesností 100 %. Menší rozdíly v přesnosti proto mohou nastat při reprezentaci určitých desetinných čísel. | |
Pevné desetinné číslo | Tento datový typ má také pevné umístění oddělovače desetinných míst. Oddělovač desetinných míst má vždy čtyři číslice vpravo a umožňuje 19 číslic významnosti. Největší hodnota, kterou může představovat, je 922 337 203 685 477,5807 (kladné nebo záporné). Na rozdíl od desetinného čísla je typ Číslo s pevnou desetinnou čárkou vždy přesný a je proto užitečný v případech, kdy by nepřesnost zápisu s plovoucí desetinnou čárkou mohla představovat chyby. | |
číslo Kdo le | Představuje 64bitovou (osmibajtů) celočíselnou hodnotu. Vzhledem k tomu, že se jedná o celé číslo, nemá číslice napravo od desetinného místa. Umožňuje 19 číslic; kladná nebo záporná celá čísla mezi –9 223 372 036 854 775 807 (–2^63+1) a 9 223 372 036 854 775 806 (2^63–2). Může představovat největší možnou přesnost různých číselných datových typů. Stejně jako u typu Číslo s pevným počtem desetinných míst může být typ číslování Kdo užitečné v případech, kdy potřebujete řídit zaokrouhlování. | |
Procento | V zásadě je to stejné jako typ Desetinné číslo, ale má masku pro formátování hodnot ve sloupci jako procento v okně Editor Power Query. | |
Datum a čas | Představuje hodnotu data i času. Pod kryty je hodnota Datum a čas uložena jako typ Desetinné číslo, takže můžete ve skutečnosti převést mezi těmito dvěma hodnotami. Časová část data je uložena jako zlomek na celé násobky 1/300 sekund (3,33 ms). Podporují se data mezi roky 1900 a 9999. | |
Date | Představuje pouze datum (bez časového úseku). Při převodu na model je datum stejné jako hodnota data a času s nulou pro desetinnou hodnotu. | |
Time | Představuje pouze čas (bez části data). Při převodu na model je hodnota Time stejná jako hodnota data a času bez číslic nalevo od desetinné čárky. | |
Datum/čas/časové pásmo | Představuje datum a čas UTC s posunem časového pásma. Při načtení do modelu se převede na datum a čas. | |
Doba trvání | Představuje dobu, která se při načtení do modelu převede na typ Desetinné číslo. Jako typ Desetinné číslo se dá přičíst nebo odečíst z pole Datum a čas se správnými výsledky. Vzhledem k tomu, že se jedná o typ Desetinné číslo, můžete ho snadno použít ve vizualizacích, které zobrazují velikost. | |
Binární | Datový typ Binary lze použít k reprezentaci jakýchkoli jiných dat s binárním formátem. | |
Jakýkoli | Datový typ Any je stav zadaný sloupcem, který nemá explicitní definici datového typu. Libovolný datový typ, který klasifikuje všechny hodnoty. Doporučujeme vždy explicitně definovat datové typy sloupců pro dotazy z nestrukturovaných zdrojů a vyhnout se tomu, abyste jako výstup dotazu měli všechny sloupce s datovým typem Libovolný. |
Detekce datových typů
Detekce datových typů probíhá automaticky při připojování k:
Strukturované zdroje dat, jako jsou databáze, Power Query načte schéma tabulky ze zdroje dat a automaticky zobrazí data pomocí správného datového typu pro každý sloupec.
Nestrukturované zdroje, jako jsou Excel, CSV a textové soubory, Power Query automaticky detekuje datové typy kontrolou hodnot v tabulce. Automatické zjišťování datových typů je ve výchozím nastavení povolené v Power Query pro nestrukturované zdroje.
K automatickému rozpoznání datových typů sloupců v tabulce můžete použít příkaz Zjistit datový typ ve skupině Libovolný sloupec na kartě Transformace .
Jak definovat datový typ sloupce
Datový typ sloupce můžete definovat nebo změnit na libovolném ze čtyř míst:
Na kartě Domů ve skupině Transformace v rozevírací nabídce Datový typ
Na kartě Transformace ve skupině Libovolný sloupec v rozevírací nabídce Datový typ
Výběrem ikony na levé straně záhlaví sloupce
V místní nabídce sloupce v části Změnit typ
Automatická detekce datového typu a záhlaví sloupců
Toto nastavení je určené speciálně pro nestrukturované zdroje. Pomůže vám to automaticky kontrolovat a zjišťovat typy sloupců a záhlaví na základě prvních 200 řádků tabulky. Když je toto nastavení povolené, Power Query automaticky přidá do dotazu dva kroky:
- Zvýšení úrovně záhlaví sloupců: Zvýší úroveň prvního řádku tabulky jako záhlaví sloupce.
- Změněný typ: Převede hodnoty z libovolného datového typu na datový typ na základě kontroly hodnot z každého sloupce.
Toto nastavení je ve výchozím nastavení povoleno. Pokud chcete toto nastavení zakázat nebo povolit, postupujte podle kroků, které platí pro prostředí Power Query.
Konfigurace automatické detekce datových typů v Power Query Online
Na kartě Domů vyberte Možnosti a pak vyberte Možnosti projektu. V okně Možnosti projektu zaškrtněte políčko Automaticky zjišťovat typy sloupců a záhlaví pro nestrukturované zdroje.
Konfigurace automatické detekce datových typů v Power Query pro Desktop
Toto chování můžete definovat jak na globální úrovni, tak na úrovni souboru v okně Možnosti (v Editor Power Query, na kartě Soubor vyberte Možnosti a nastavení>Možnosti).
Globální: V levém podokně v části Globální vyberte Načtení dat. V pravém podokně v části Detekce typů můžete vybrat některou ze tří konfigurací detekce typů, které se použijí pro každý nový soubor vytvořený v aplikaci:
- Vždy zjišťovat typy sloupců a hlavičky pro nestrukturované zdroje
- Detekce typů sloupců a hlaviček pro nestrukturované zdroje podle nastavení jednotlivých souborů
- Nikdy nezjistíte typy sloupců a hlavičky pro nestrukturované zdroje.
Aktuální soubor: V levém podokně v části Aktuální soubor vyberte Načtení dat. V pravém podokně v části Detekce typu vyberte, jestli chcete povolit nebo zakázat detekci typů pro aktuální soubor.
Národní prostředí dokumentu nebo projektu
Power Query zpracovává dvě odlišné komponenty, které spravují způsob, jakým věci vypadají a interpretují:
- Lokalizace: komponenta, která říká Power Query v jakém jazyce se má zobrazit.
- Globalizace: komponenta, která zpracovává formátování hodnot, kromě interpretace textových hodnot.
Národní prostředí je jedna hodnota, která obsahuje lokalizační i globalizační komponenty. Národní prostředí slouží k interpretaci textových hodnot a jejich převodu na jiné datové typy. Například národní prostředí (USA) znamená, že lokalizace je v USA angličtině a globalizaci nebo formátu hodnoty, je založená na standardech použitých v USA.
Když Power Query definuje datový typ sloupce nebo převádí z jednoho datového typu na jiný, musí interpretovat hodnoty, které se mají převést, aby je mohl transformovat na jiný datový typ.
V Power Query Online je tato interpretace definována v možnostech projektu v části Národní prostředí.
Power Query pro Desktop automaticky rozpozná místní formát operačního systému a použije ho k interpretaci hodnot pro převod datového typu. Pokud chcete tuto konfiguraci národního prostředí přepsat, otevřete okno Možnosti dotazu a v levém podokně v části Aktuální soubor vyberte Místní nastavení. Odsud můžete změnit národní prostředí na požadované nastavení.
Toto nastavení národního prostředí je důležité pro interpretaci textových hodnot do konkrétního datového typu. Představte si například, že máte národní prostředí nastavené jako angličtina (USA), ale sloupec v jednom ze souborů CSV má kalendářní data formátovaná ve formátu Spojeného království dne/měsíce/roku.
Při pokusu o nastavení datového typu sloupce Date na Date (Datum) se zobrazí chybové hodnoty.
K těmto chybám dochází, protože použité národní prostředí se pokouší interpretovat datum ve formátu angličtiny (USA), což je měsíc/den/rok. Vzhledem k tomu, že v kalendáři není žádný měsíc 22, způsobí chybu.
Místo toho, abyste se pokusili vybrat datový typ Datum, můžete kliknout pravým tlačítkem myši na záhlaví sloupce, vybrat Změnit typ a pak vybrat Použít národní prostředí.
V dialogovém okně Změnit typ sloupce s národním prostředím vyberete datový typ, který chcete nastavit, ale také vyberete, které národní prostředí se má použít, což v tomto případě musí být angličtina (Spojené království).
Pomocí tohoto národního prostředí bude Power Query moct správně interpretovat hodnoty a převést tyto hodnoty na správný datový typ.
Ověření konečných hodnot kalendářních dat
Formátování hodnot je řízeno hodnotou globalizace. Pokud máte pochybnosti o hodnotě zobrazené v Power Query, můžete převod hodnot kalendářních dat ověřit přidáním nových sloupců pro den, měsíc a rok z hodnoty. Uděláte to tak, že vyberete sloupec Datum a přejdete na kartu Přidat sloupec na pásu karet. Ve skupině sloupců Datum a čas uvidíte možnosti sloupce kalendářního data.
Tady můžete extrahovat části hodnoty kalendářního data, například číslo roku, číslo měsíce, číslo dne nebo ještě více sloupců extrahovaných ze sloupce Datum .
Pomocí těchto sloupců můžete ověřit, zda byla hodnota data správně převedena.
Matice převodu datových typů
Následující matice je navržená tak, aby vám poskytla rychlý pohled na proveditelnost převodu datového typu z jednoho datového typu na jiný.
Poznámka:
Převod v této matici začíná původním datovým typem ve sloupci Datové typy . Každý výsledek převodu na nový typ se zobrazí v řádku původního datového typu.
Typy dat | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Desetinné číslo | — | ||||||||||
Měny | — | ||||||||||
číslo Kdo le | — | ||||||||||
Procento | — | ||||||||||
Datum a čas | — | ||||||||||
Datum | — | ||||||||||
Čas | — | ||||||||||
Datum/čas/časové pásmo | — | ||||||||||
Doba trvání | — | ||||||||||
Text | — | ||||||||||
Pravda nebo nepravda | — |
Ikona | Popis |
---|---|
Možné | |
Není možné | |
Je to možné, ale přičte hodnoty k původní hodnotě. | |
Je to možné, ale zkrátí původní hodnotu. |