Applies ToExcel pro Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016

V datovém modelu má každý sloupec přidružený datový typ, který určuje typ dat, která sloupec může obsahovat: celá čísla, desetinná čísla, text, peněžní data, data a časy atd. Datový typ také určuje, jaké druhy operací můžete se sloupcem provádět a kolik paměti je potřeba k uložení hodnot ve sloupci.

Pokud používáte doplněk Power Pivot, můžete změnit datový typ sloupce. To může být potřeba udělat, pokud byl sloupec kalendářního data importován jako řetězec, ale potřebujete, aby to bylo něco jiného. Další informace najdete v tématu Nastavení datového typu sloupce v Power Pivot.

V tomto článku

Souhrn datových typů

Následující tabulka uvádí datové typy podporované v datovém modelu. Když importujete data nebo použijete hodnotu ve vzorci, i když původní zdroj dat obsahuje jiný datový typ, data se převedou na jeden z těchto datových typů. Hodnoty, které jsou výsledkem vzorců, také používají tyto datové typy.

Datový typ v Excelu

Datový typ v jazyce DAX

Popis

Celé číslo

64bitová (osmi bajtová) celočíselná hodnota 1, 2

Čísla bez desetinných míst Celá čísla můžou být kladná nebo záporná, ale musí to být celá čísla v rozsahu -9 223 372 036 854 775 808 (-2^63) a 9 223 372 036 854 775 807 (2^63-1).

Desetinné číslo

64 bitů (osm bajtů) reálné číslo 1, 2

Reálná čísla jsou čísla, která můžou mít desetinná místa. Reálná čísla pokrývají širokou škálu hodnot:

Záporné hodnoty od -1,79E +308 do -2,23E -308

Nula

Kladné hodnoty od 2,23E -308 do 1,79E + 308

Počet platných číslic je však omezen na 15 desetinných číslic.

PRAVDA/NEPRAVDA

Logická hodnota

Hodnota True nebo False.

Text

Funkce String

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 (256 mega znaků) nebo 536 870 912 bajtů.

Datum

Datum a čas

Kalendářní data a časy v přijaté reprezentaci data a času.

Platná data jsou všechna data po 1. lednu 1900.

Měna

Měna

Datový typ Měna umožňuje hodnoty od -922 337 203 685 477,5808 do 922 337 203 685 477,5807 se čtyřmi desetinnými číslicemi s pevnou přesností.

Není k dispozici

Prázdné:

Prázdná hodnota je datový typ v jazyce DAX, který představuje a nahrazuje hodnoty null SQL. Prázdnou hodnotu můžete vytvořit pomocí funkce BLANK a testovat prázdné hodnoty pomocí logické funkce ISBLANK.

1 Vzorce DAX nepodporují datové typy menší než ty, které jsou uvedené v tabulce.

2 Pokud se pokusíte importovat data s velmi velkými číselnými hodnotami, import může selhat s následující chybou:

Chyba databáze v paměti: Sloupec <název sloupce> tabulky <název tabulky> obsahuje hodnotu 1,7976931348623157e+308, která se nepodporuje. Operace byla zrušena.

K této chybě dochází, protože Power Pivot používá tuto hodnotu k reprezentaci hodnot null. Hodnoty v následujícím seznamu jsou synonyma pro hodnotu null:

Value (Hodnota)

9223372036854775807

-9223372036854775808

1,7976931348623158e+308

2.2250738585072014e-308

Odeberte hodnotu z dat a zkuste import zopakovat.

Datový typ tabulky

Jazyk DAX používá datový typ tabulky v mnoha funkcích, jako jsou agregace a výpočty časového měřítka. Některé funkce vyžadují odkaz na tabulku; Jiné funkce vrátí tabulku, která se pak dá použít jako vstup do jiných funkcí. V některých funkcích, které jako vstup vyžadují tabulku, můžete zadat výraz, který se vyhodnocuje jako tabulka; U některých funkcí se vyžaduje odkaz na základní tabulku. Informace o požadavcích na konkrétní funkce najdete v tématu Referenční informace o funkcích jazyka DAX.

Implicitní a explicitní převod datových typů ve vzorcích DAX

Každá funkce jazyka DAX má specifické požadavky na typy dat, která se používají jako vstupy a výstupy. Některé funkce například vyžadují celá čísla pro některé argumenty a kalendářní data pro jiné; jiné funkce vyžadují text nebo tabulky.

Pokud data ve sloupci, který zadáte jako argument, nejsou kompatibilní s datovým typem požadovaným funkcí, vrátí jazyk DAX v mnoha případech chybu. Kdykoli je to ale možné, jazyk DAX se pokusí implicitně převést data na požadovaný datový typ. Příklady:

  • Datum můžete zadat jako řetězec a jazyk DAX tento řetězec analyzuje a pokusí se ho přetypovat jako jeden z formátů data a času ve Windows.

  • Můžete přidat hodnotu PRAVDA + 1 a získat výsledek 2, protože pravda se implicitně převede na číslo 1 a provede se operace 1+1.

  • Pokud přidáte hodnoty ve dvou sloupcích a jedna hodnota bude reprezentována jako text ("12") a druhá jako číslo (12), DAX implicitně převede řetězec na číslo a pak provede sčítání pro číselný výsledek. Následující výraz vrátí hodnotu 44: = "22" + 22

  • Pokud se pokusíte zřetězení dvou čísel, Excel je zobrazí jako řetězce a pak zřetězení. Následující výraz vrátí "1234": = 12 & 34

Následující tabulka shrnuje implicitní převody datových typů, které se provádějí ve vzorcích. Aplikace Excel provádí implicitní převody, kdykoli je to možné, podle požadavků zadané operace.

Tabulka implicitních převodů dat

Typ provedeného převodu určuje operátor, který před provedením požadované operace přetypuje požadované hodnoty. Tyto tabulky uvádějí operátory a označují převod, který se provádí u každého datového typu ve sloupci, když je spárován s datovým typem v protínajícím se řádku.

Poznámka: Textové datové typy nejsou v těchto tabulkách zahrnuty. Pokud je číslo reprezentováno jako v textovém formátu, v některých případech se Power Pivot pokusí určit typ čísla a reprezentovat ho jako číslo.

Sčítání (+)

Operátor (+)

INTEGER

CURRENCY

REAL

Datum a čas

INTEGER

INTEGER

CURRENCY

REAL

Datum a čas

CURRENCY

CURRENCY

CURRENCY

REAL

Datum a čas

REAL

REAL

REAL

REAL

Datum a čas

Datum a čas

Datum a čas

Datum a čas

Datum a čas

Datum a čas

Pokud se například v operaci sčítání v kombinaci s daty měny použije reálné číslo, obě hodnoty se převedou na REÁLNÉ a výsledek se vrátí jako REAL.

Odčítání (-)

V následující tabulce je záhlavím řádku minuend (levá strana) a záhlavím sloupce je subtrahend (pravá strana).

Operátor (-)

INTEGER

CURRENCY

REAL

Datum a čas

INTEGER

INTEGER

CURRENCY

REAL

REAL

CURRENCY

CURRENCY

CURRENCY

REAL

REAL

REAL

REAL

REAL

REAL

REAL

Datum a čas

Datum a čas

Datum a čas

Datum a čas

Datum a čas

Pokud se například datum použije v operaci odčítání s jiným datovým typem, obě hodnoty se převedou na kalendářní data a vrácená hodnota je také datum.

Poznámka: Datové modely také podporují unární operátor – (negativní), ale tento operátor nemění datový typ operandu.

Násobení (*)

Operátor (*)

INTEGER

CURRENCY

REAL

Datum a čas

INTEGER

INTEGER

CURRENCY

REAL

INTEGER

CURRENCY

CURRENCY

REAL

CURRENCY

CURRENCY

REAL

REAL

CURRENCY

REAL

REAL

Pokud je například celé číslo v operaci násobení kombinováno s reálným číslem, obě čísla se převedou na reálná čísla a návratová hodnota je také REAL.

Divize (/)

V následující tabulce je záhlaví řádku čitatelem a záhlaví sloupce je jmenovatelem.

Operátor (/)

(Řádek/sloupec)

INTEGER

CURRENCY

REAL

Datum a čas

INTEGER

REAL

CURRENCY

REAL

REAL

CURRENCY

CURRENCY

REAL

CURRENCY

REAL

REAL

REAL

REAL

REAL

REAL

Datum a čas

REAL

REAL

REAL

REAL

Pokud je například celé číslo v operaci dělení kombinováno s hodnotou měny, obě hodnoty se převedou na reálná čísla a výsledkem je také reálné číslo.

Relační operátory

Ve výrazech porovnání se logické hodnoty považují za větší než řetězcové hodnoty a řetězcové hodnoty jsou považovány za větší než číselné hodnoty nebo hodnoty data a času; čísla a hodnoty data a času se považují za stejné pořadí. Nejsou provedeny žádné implicitní převody pro logické hodnoty nebo řetězcové hodnoty; BLANK nebo prázdná hodnota se v závislosti na datovém typu druhé porovnávané hodnoty převede na hodnotu 0/"""/false.

Toto chování ilustrují následující výrazy DAX:

=KDYŽ(FALSE()>"true";"Výraz je true"; "Výraz je nepravda"), vrátí "Výraz je true"

=KDYŽ("12">12;"Výraz je true"; "Výraz je nepravda"), vrátí "Výraz je pravdivý".

=KDYŽ("12"=12;"Výraz je true"; "Výraz je nepravda"), vrátí "Výraz je nepravda".

Převody se provádějí implicitně pro číselné typy nebo typy data a času, jak je popsáno v následující tabulce:

Relační operátor

INTEGER

CURRENCY

REAL

Datum a čas

INTEGER

INTEGER

CURRENCY

REAL

REAL

CURRENCY

CURRENCY

CURRENCY

REAL

REAL

REAL

REAL

REAL

REAL

REAL

Datum a čas

REAL

REAL

REAL

Datum a čas

Začátek stránky

Zpracování prázdných hodnot, prázdných řetězců a nulových hodnot

V jazyce DAX jsou hodnoty null, prázdná hodnota, prázdná buňka nebo chybějící hodnota reprezentovány stejným novým typem hodnoty BLANK. Prázdné hodnoty můžete také generovat pomocí funkce BLANK nebo testovat prázdné hodnoty pomocí funkce ISBLANK.

Způsob zpracování prázdných položek v operacích, jako je sčítání nebo zřetězení, závisí na jednotlivých funkcích. Následující tabulka shrnuje rozdíly mezi vzorci jazyka DAX a Microsoft Excel ve způsobu, jakým se zpracovávají prázdné hodnoty.

Expression

DAX

Excel

BLANK + BLANK

BIANKO

0 (nula)

BLANK +5

5

5

PRÁZDNÉ * 5

BIANKO

0 (nula)

5/BLANK

Nekonečno

Chyba

0/BLANK

Nan

Chyba

PRÁZDNÉ/PRÁZDNÉ

BIANKO

Chyba

NEPRAVDA NEBO PRÁZDNÉ

FALSE

FALSE

FALSE A BLANK

FALSE

FALSE

PRAVDA NEBO PRÁZDNÉ

TRUE

TRUE

TRUE A BLANK

NEPRAVDA

PRAVDA

PRÁZDNÉ NEBO PRÁZDNÉ

BIANKO

Chyba

PRÁZDNÉ A PRÁZDNÉ

BIANKO

Chyba

Podrobnosti o tom, jak konkrétní funkce nebo operátor zpracovává prázdné hodnoty, najdete v jednotlivých tématech jednotlivých funkcí jazyka DAX v části Referenční informace o funkcích jazyka DAX.

Začátek stránky

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.

Komunity vám pomohou klást otázky a odpovídat na ně, poskytovat zpětnou vazbu a vyslechnout odborníky s bohatými znalostmi.