Datové typy v datových modelech

Důležité :  Tento článek je strojově přeložený – přečtěte si toto upozornění. Anglickou verzi tohoto článku pro referenci najdete 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.

V doplňku Power Pivot můžete datový typ sloupce měnit. To může být užitečné, pokud byl sloupec data importovaný jako řetězec, ale vy potřebujete jiný datový typ. Další informace najdete v tématu Nastavení datového typu sloupce v doplňku 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.

Otočení

Ř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ích, například při výpočtech agregací nebo časového měřítka. Některé funkce vyžadují odkaz na tabulku, jiné funkce vrací tabulku, kterou lze použít jako vstup pro další funkce. V některých funkcích, které vyžadují jako vstup tabulku, lze použít výraz, jehož vyhodnocením je tabulka. V jiných funkcích je vyžadován odkaz na základní tabulku. Další informace o požadavcích specifických funkcí naleznete v tématu Informace o funkcích 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

Další informace o způsobu zpracování prázdných hodnot konkrétní funkcí nebo operátorem naleznete v tématech jednotlivých funkcí jazyka DAX v části Informace o funkcích jazyka DAX.

Začátek stránky

Poznámka : Upozornění ke strojovému překladu: Tento článek přeložil počítačový systém bez zásahu člověka. Společnost Microsoft nabízí tyto strojové překlady proto, aby umožnila uživatelům, kteří nemluví anglicky, získat informace o produktech, službách a technologiích této společnosti. Protože je tento článek strojově přeložený, může obsahovat slovní, syntaktické nebo gramatické chyby.

Rozšiřte své znalosti a dovednosti
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.

×