Datové typy v datových modelech

Poznámka:  Snažíme se pro vás co nejrychleji zajistit aktuální obsah nápovědy ve vašem jazyce. Tato stránka byla přeložena automaticky a může obsahovat gramatické chyby nebo nepřesnosti. Naším cílem je to, aby pro vás byl její obsah užitečný. Mohli byste nám prosím dát ve spodní části této stránky vědět, jestli vám informace v článku pomohly? Pokud byste se rádi podívali na jeho anglickou verzi, najdete ji tady .

V datovém modelu je každému sloupci přidružen datový typ určující typ dat, která mohou být ve sloupci obsažena: celá čísla, desetinná čísla, text, data měny, kalendářní data a čas atd. Datový typ také určuje, které typy operací lze se sloupcem provádět a kolik paměti bude použito při ukládání hodnot do sloupce.

Pokud používáte Power Pivot doplňku, můžete změnit typu dat sloupce. Možná budete muset to dělat, když sloupec kalendářních dat byl importován jako řetězec, ale potřebujete 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ů

Datový typ Table

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

Tabulka implicitních datových převodů

Sčítání (+)

Odčítání (-)

Násobení (*)

Dělení (/)

Relační operátory

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

Souhrn datových typů

Následující tabulka udává seznam datových typů podporovaných v datovém modelu. Když importujete data nebo použijete hodnotu ve vzorci, jsou data převedena na jeden z následujících datových typů, a to i v případě, pokud původní zdroj dat obsahuje jiný datový typ. Výsledné hodnoty vzorců rovněž používají tyto datové typy.

Datové typy v aplikaci Excel

Datové typy v jazyce DAX

Popis

Celé číslo

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

Čísla bez desetinného rozvoje. Celá čísla mohou být kladná i záporná, ale musí jít o celá čísla v rozmezí -9 223 372 036 854 775 808 (-2^63) a 9 223 372 036 854 775 807 (2^63-1).

Desetinné číslo

64bitové (8bajtové) reálné číslo 1, 2

Reálná čísla jsou čísla, která mohou mít desetinný rozvoj. Reálná čísla pokrývají mnoho různých 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 ale omezený na 17 desetinných míst.

TRUE/FALSE

Logický výraz

Hodnota True nebo False.

Text

Řetězec

Datový řetězec ve znacích Unicode. Může se jednat o řetězce, čísla nebo kalendářní data ve formátu textu.

Maximální délka řetězce je 268 435 456 znaků kódu Unicode (256 mega znaků) nebo 536 870 912 bajtů.

Datum

Datum/čas

Kalendářní data a časy v přijímaném formátu data a času.

Za platná kalendářní data jsou považována všechna data po 1. lednu 1900.

Měna

Měna

V datovém typu měna jsou povoleny hodnoty od -922 337 203 685 477,5808 do 922 337 203 685 477,5807 se čtyřmi desetinnými místy nebo pevnou přesností.

Není k dispozici

Blank

Datový typ blank v jazyku DAX představuje a nahrazuje hodnoty null jazyka SQL. Prázdnou hodnotu lze vytvořit pomocí funkce BLANK. Ke kontrole, zda se jedná o prázdnou hodnotu, slouží logická funkce ISBLANK.

1 Vzorce jazyka DAX nepodporují datové typy menší než datové typy v této tabulce.

2 Pokud se pokusíte importovat data obsahující velké číselné hodnoty, import se nemusí podařit a zobrazí se následující chyba:

Chyba databáze IMDB: Sloupec <název sloupce> tabulky <název tabulky> obsahuje hodnotu 1,7976931348623157e+308, což není podporováno. Operace byla zrušena.

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

Hodnota

9223372036854775807

-9223372036854775808

1,7976931348623158e+308

2,2250738585072014e-308

Hodnotu odeberte z dat a pokuste se o import znovu.

Datový typ Table

Jazyk DAX používá datový typ table v mnoha funkcí, například časového měřítka výpočty a agregace. Některé funkce vyžadují odkaz na danou tabulku. Další funkce vracejí tabulku, která lze použít jako vstupů pro další funkce. V některé funkce, které vyžadují tabulky předávat na vstupu můžete zadat výraz, který je vyhodnocen jako tabulky; u některých funkcí požaduje odkaz na základní tabulky. Informace o požadavcích na konkrétní funkcí najdete v tématu Přehled funkcí jazyka DAX.

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

Každá funkce jazyka DAX má konkrétní požadavky na datové typy použité jako vstupy a výstupy. Některé funkce například požadují pro určité argumenty celá čísla a pro další argumenty kalendářní data. Jiné funkce mohou požadovat text nebo tabulky.

Nejsou-li data ve sloupci zadaném jako argument kompatibilní s datovým typem požadovaným příslušnou funkcí, jazyk DAX v mnoha případech vrátí chybu. Pokud je to ale možné, jazyk DAX se pokusí implicitně převést data na požadovaný datový typ. Příklad:

  • Datum můžete zadat jako řetězec a jazyk DAX tento řetězec analyzuje a pokusí se jej převést do jednoho z formátů data a času systému Windows.

  • Můžete zadat výraz TRUE + 1 a získáte výsledek 2, protože hodnota TRUE je implicitně převedena na číslo 1 a je provedena operace 1+1.

  • Pokud sčítáte hodnoty ze dvou sloupců a jedna z hodnot je zadána jako text ("12") a druhá jako číslo (12), jazyk DAX implicitně převede řetězec na číslo a provedením součtu získá číselný výsledek. Následující výraz vrátí 44: = "22" + 22.

  • Pokud se pokusíte zřetězit dvě čísla, aplikace Excel je převede na řetězce a poté zřetězí. Následující výraz vrátí hodnotu 1234: = 12 & 34.

Následující tabulka obsahuje souhrn implicitních převodů datových typů, které jsou prováděny ve vzorcích. Aplikace Excel provádí implicitní převody kdykoli je to možné a je to požadováno zadanou operací.

Tabulka implicitních datových převodů

Typ provedeného převodu určuje operátor, který potřebné hodnoty převádí před provedením požadované operace. V této tabulce jsou uvedeny operátory a převody, které budou provedeny pro každý datový typ v daném sloupci při jeho spárování s datovým typem v příslušném řádku.

Poznámka: Textové datové typy nejsou v těchto tabulkách uvedené. Pokud je číslo zadané ve formátu textu, Power Pivot se v některých případech pokusí rozpoznat typ čísla a převést danou hodnotu na číslo.

Sčítání (+)

Operátor (+)

CELÉ ČÍSLO

MĚNA

REAL

Datum/čas

CELÉ ČÍSLO

CELÉ ČÍSLO

MĚNA

REAL

Datum/čas

MĚNA

MĚNA

MĚNA

REAL

Datum/čas

REAL

REAL

REAL

REAL

Datum/čas

Datum/čas

Datum/čas

Datum/čas

Datum/čas

Datum/čas

Pokud je například reálné číslo použito v operaci sčítání s daty měny, jsou obě hodnoty převedeny na typ REAL a vrácený výsledek je rovněž typu REAL.

Odčítání (-)

V následující tabulce je záhlaví řádku menšenec (vlevo) a záhlaví sloupce menšitel (vpravo).

Operátor (-)

CELÉ ČÍSLO

MĚNA

REAL

Datum/čas

CELÉ ČÍSLO

CELÉ ČÍSLO

MĚNA

REAL

REAL

MĚNA

MĚNA

MĚNA

REAL

REAL

REAL

REAL

REAL

REAL

REAL

Datum/čas

Datum/čas

Datum/čas

Datum/čas

Datum/čas

Pokud je například v operaci odčítání použito datum s libovolným jiným datovým typem, jsou obě hodnoty převedeny na kalendářní data a vrácená hodnota je rovněž datum.

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

Násobení (*)

Operátor (*)

CELÉ ČÍSLO

MĚNA

REAL

Datum/čas

CELÉ ČÍSLO

CELÉ ČÍSLO

MĚNA

REAL

CELÉ ČÍSLO

MĚNA

MĚNA

REAL

MĚNA

MĚNA

REAL

REAL

MĚNA

REAL

REAL

Pokud je například celé číslo použito v operaci násobení s reálným číslem, jsou obě hodnoty převedeny na reálná čísla a vrácený výsledek je rovněž typu REAL.

Dělení

V následující tabulce je záhlaví řádku dělenec a záhlaví sloupce dělitel.

Operátor (/)

Řádek/Sloupec

CELÉ ČÍSLO

MĚNA

REAL

Datum/čas

CELÉ ČÍSLO

REAL

MĚNA

REAL

REAL

MĚNA

MĚNA

REAL

MĚNA

REAL

REAL

REAL

REAL

REAL

REAL

Datum/čas

REAL

REAL

REAL

REAL

Pokud je například celé číslo použito v operaci dělení s hodnotou měny, jsou obě hodnoty převedeny na reálná čísla a vrácený výsledek je rovněž reálné číslo.

Relační operátory

V relačních výrazech se logické hodnoty považují za vyšší než řetězcové hodnoty a řetězcové hodnoty se považují za vyšší než číselné hodnoty nebo hodnoty data a času. Číslům a hodnotám data a času se přiřazuje stejná hodnota. Logické ani řetězcové hodnoty nejsou implicitně převáděny. BLANK, neboli prázdná hodnota, je převedena na hodnotu 0/""/false podle datového typu druhé porovnávané hodnoty.

Následující výrazy jazyka DAX ilustrují toto chování:

=If(false() > "PRAVDA", "Výraz true", "Je výrazů NEPRAVDA"), vrací "Výraz true"

= IF("12">12,"Expression is true", "Expression is false"), vrací "Výraz true".

= IF("12"=12,"Expression is true", "Expression is false"), vrátí funkce "Je výrazů NEPRAVDA"

Číselné typy či typy datum/čas jsou převáděny implicitně, jak udává následující tabulka:

Relační operátor

CELÉ ČÍSLO

MĚNA

REAL

Datum/čas

CELÉ ČÍSLO

CELÉ ČÍSLO

MĚNA

REAL

REAL

MĚNA

MĚNA

MĚNA

REAL

REAL

REAL

REAL

REAL

REAL

REAL

Datum/čas

REAL

REAL

REAL

Datum/č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é hodnoty, prázdné buňky nebo chybějící hodnoty vyjádřeny jednotným novým typem hodnoty – BLANK. Prázdné hodnoty lze generovat pomocí funkce BLANK. K ověření, zda se jedná o prázdnou hodnotu, slouží funkce ISBLANK.

Způsob zpracování prázdných hodnot v operacích, jako je sčítání nebo zřetězení, závisí na jednotlivých funkcích. Následující tabulka udává souhrn rozdílů ve způsobu zpracování prázdných hodnot v jazyce DAX a ve vzorcích aplikace Microsoft Excel.

Výraz

DAX

Excel

BLANK + BLANK

BLANK

0 (nula)

BLANK +5

5

5

BLANK * 5

BLANK

0 (nula)

5/BLANK

Nekonečno

Chyba

0/BLANK

Není číslo

Chyba

BLANK/BLANK

BLANK

Chyba

FALSE NEBO BLANK

FALSE

FALSE

FALSE A BLANK

FALSE

FALSE

TRUE NEBO BLANK

TRUE

TRUE

TRUE A BLANK

FALSE

TRUE

BLANK NEBO BLANK

BLANK

Chyba

BLANK A BLANK

BLANK

Chyba

Informace o tom, jak konkrétní funkcí nebo operátorem zpracování prázdných hodnot najdete v tématech jednotlivých jednotlivých funkcí jazyka DAX v části Informace o funkcích jazyka DAX.

Začátek stránky

Rozšiřte své dovednosti s Office
Projít školení
Získejte nové funkce jako první
Připojte se k účastníkům programu Office Insiders

Byly tyto informace užitečné?

Děkujeme vám za zpětnou vazbu.

Děkujeme vám za váš názor. Vypadá to, že bude užitečné, když vás spojíme s některým z našich agentů z podpory Office.

×