Typy údajov v dátových modeloch

Vzťahuje sa na
Excel pre Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016

V dátovom modeli je ku každému stĺpcu priradený typ údajov určujúci typ údajov, ktoré môžu byť v stĺpci uložené: celé čísla, desatinné čísla, text, peňažné údaje, dátumy, čas a tak ďalej. Typ údajov tiež určuje, aké operácie môžete so stĺpcom vykonávať a koľko pamäte je potrebné na uloženie hodnôt v stĺpci.

Ak používate doplnok Power Pivot, môžete zmeniť typ údajov stĺpca. Je to potrebné spraviť v prípade, že bol stĺpec dátumu importovaný ako reťazec, ale potrebujete, aby išlo o niečo iné. Ďalšie informácie nájdete v téme Nastavenie typu údajov stĺpca v doplnku Power Pivot.

Obsah tohto článku

Súhrn typov údajov

Nasledujúca tabuľka obsahuje zoznam typov údajov, ktoré sú podporované v modeli údajov. Keď importujete údaje alebo používate hodnotu vo vzorci, údaje sa skonvertujú na jeden z týchto typov údajov, a to aj vtedy, ak pôvodný zdroj údajov obsahuje iný typ údajov. Tieto typy údajov používajú aj hodnoty, ktoré sú výsledkom vzorcov.

Typ údajov v Exceli Typ údajov v jazyku DAX Popis
Celé číslo 64-bitová (osembajtová) celočíselná hodnota 1, 2 Čísla bez desatinných miest. Celé čísla môžu byť kladné alebo záporné čísla, ale musia to byť celé čísla v rozsahu -9 223 372 036 854 775 808 (-2^63) a 9 223 372 036 854 775 807 (2^63-1).
Číslo v desiatkovej sústave 64-bitové (osembajtové) reálne číslo 1, 2 Reálne čísla sú čísla, ktoré môžu mať desatinné miesta. Reálne čísla pokrývajú širokú škálu hodnôt:
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 obmedzený na 15 desatinných miest.
TRUE/FALSE (pravda)/FALSE (NEPRAVDIVÉ) boolovský výraz Hodnota True alebo False.
Text String Údajový reťazec znakov Unicode. Môžu to byť reťazce, čísla alebo dátumy zapísané v textovom formáte.
Maximálna dĺžka reťazca je 268 435 456 znakov Unicode (256 miliónov znakov) alebo 536 870 912 bajtov.
Dátum Dátum/čas Dátum a čas v akceptovanom vyjadrení dátumu a času.
Všetky platné dátumy sú dátumy nasledujúce ako 1. január 1900.
Mena Mena Typ údajov Mena umožňuje hodnoty od -922 337 203 685 477,5808 do 922 337 203 685 477,5807 so štyrmi desatinnými miestami a pevnou presnosťou.
Nie je k dispozícii Prázdna Prázdna hodnota je typ údajov v jazyku DAX, ktorý zastupuje a nahrádza hodnoty null SQL. Pomocou funkcie BLANK môžete vytvoriť prázdne bunky a otestovať pomocou logickej funkcie ISBLANK.

1 Vzorce jazyka DAX nepodporujú typy údajov menšie ako tie, ktoré sú uvedené v tabuľke.

2 Ak sa pokúsite importovať údaje, ktoré obsahujú veľmi veľké číselné hodnoty, import môže zlyhať s nasledujúcou chybou:

Chyba databázy v pamäti: Stĺpec "<Názov> stĺpca" tabuľky "<Názov> tabuľky" obsahuje hodnotu "1.7976931348623157e+308", čo nie je podporované. Operácia bola zrušená.

Táto chyba sa zobrazí, pretože Power Pivot používa túto hodnotu na vyjadrenie hodnôt null. Hodnoty v nasledujúcom zozname sú synonymami pre hodnotu null:

Hodnota
9223372036854775807
-9223372036854775808
1,7976931348623158e+308
2.2250738585072014e-308

Odstráňte z údajov hodnotu a skúste vykonať importovanie znova.

Typ údajov tabuľky

Jazyk DAX používa typ údajov tabuľky v mnohých funkciách, napríklad v agregáciách a výpočtoch časovej inteligencie. Niektoré funkcie vyžadujú odkaz na tabuľku. Ďalšie funkcie vrátia tabuľku, ktorú potom možno použiť ako vstup pre iné funkcie. V niektorých funkciách, ktoré vyžadujú tabuľku ako vstup, môžete zadať výraz, ktorý sa vyhodnotí ako tabuľka. Niektoré funkcie vyžadujú odkaz na základnú tabuľku. Informácie o požiadavkách konkrétnych funkcií nájdete v téme Referenčné informácie k funkciám jazyka DAX.

Konverzia implicitných a explicitných typov údajov vo vzorcoch jazyka DAX

Každá funkcia jazyka DAX má špecifické požiadavky týkajúce sa typov údajov, ktoré sa používajú ako vstupy a výstupy. Niektoré funkcie napríklad vyžadujú celé čísla pre niektoré argumenty a dátumy pre iné. Iné funkcie vyžadujú text alebo tabuľky.

Ak údaje v stĺpci, ktorý zadáte ako argument, nie sú kompatibilné s typom údajov požadovaným funkciou, jazyk DAX v mnohých prípadoch vráti chybu. Jazyk DAX sa však vždy, keď je to možné, pokúsi implicitne skonvertovať údaje na požadovaný typ údajov. Príklad:

  • Dátum môžete zadať ako reťazec a jazyk DAX analyzuje reťazec a pokúsi sa ho použiť ako jeden z formátov dátumu a času Windowsu.
  • Môžete pridať hodnotu TRUE + 1 a získať výsledok 2, pretože hodnota TRUE sa implicitne skonvertuje na číslo 1 a vykoná sa operácia 1+1.
  • Ak sčítate hodnoty v dvoch stĺpcoch a jedna hodnota je vyjadrená ako text ("12") a druhá ako číslo (12), jazyk DAX implicitne skonvertuje reťazec na číslo a potom vykoná sčítanie číselného výsledku. Nasledujúci výraz vráti hodnotu 44: = "22" + 22
  • Ak sa pokúsite zreťaziť dve čísla, Excel ich zobrazí ako reťazce a potom zreťazenie. Nasledujúci výraz vráti hodnotu "1234": = 12 & 34

Nasledujúca tabuľka obsahuje súhrn implicitných konverzií typov údajov, ktoré sa vykonávajú vo vzorcoch. Program Excel vykonáva implicitné konverzie vždy, keď je to možné, ako to vyžaduje zadaná operácia.

Tabuľka implicitných konverzií údajov

Typ konverzie, ktorá sa vykoná, určuje operátor, ktorý pred vykonaním požadovanej operácie vygeneruje hodnoty, ktoré požaduje. Tieto tabuľky uvádzajú operátory a označujú konverziu, ktorá sa vykoná na každom type údajov v stĺpci po jeho spárovaní s typom údajov v priesečníku.

Poznámka

Typy údajov Text nie sú v týchto tabuľkách zahrnuté. Keď je číslo vyjadrené ako text, v niektorých prípadoch sa Power Pivot pokúsi určiť typ čísla a znázorniť ho ako číslo.

Sčítanie (+)

Operátor (+) INTEGER CURRENCY REAL Dátum/čas
INTEGER INTEGER CURRENCY REAL Dátum/čas
CURRENCY CURRENCY CURRENCY REAL Dátum/čas
REAL REAL REAL REAL Dátum/čas
Dátum/čas Dátum/čas Dátum/čas Dátum/čas Dátum/čas

Ak sa napríklad reálne číslo použije pri operácii sčítania v kombinácii s údajmi o mene, obe hodnoty sa skonvertujú na hodnotu REAL a výsledok sa vráti ako REAL.

Odčítanie (-)

V nasledujúcej tabuľke je hlavička riadka minuend (ľavá strana) a hlavička stĺpca je subtrahend (pravá strana).

Operátor (-) INTEGER CURRENCY REAL Dátum/čas
INTEGER INTEGER CURRENCY REAL REAL
CURRENCY CURRENCY CURRENCY REAL REAL
REAL REAL REAL REAL REAL
Dátum/čas Dátum/čas Dátum/čas Dátum/čas Dátum/čas

Ak sa napríklad dátum použije v operácii odčítania s akýmkoľvek iným typom údajov, obe hodnoty sa skonvertujú na dátumy a vrátená hodnota je tiež dátum.

Poznámka

Dátové modely podporujú aj unárny operátor - (záporný), ale tento operátor nemení typ údajov operandu.

Násobenie (*)

Operátor (*) INTEGER CURRENCY REAL Dátum/čas
INTEGER INTEGER CURRENCY REAL INTEGER
CURRENCY CURRENCY REAL CURRENCY CURRENCY
REAL REAL CURRENCY REAL REAL

Ak sa napríklad pri operácii násobenia skombinuje celé číslo s reálnym číslom, obe čísla sa skonvertujú na reálne čísla a vrátená hodnota je tiež REÁLNA.

Delenie (/)

V nasledujúcej tabuľke je hlavička riadka čitateľom a hlavička stĺpca menovateľom.

Operátor (/)
(riadok alebo stĺpec)
INTEGER CURRENCY REAL Dátum/čas
INTEGER REAL CURRENCY REAL REAL
CURRENCY CURRENCY REAL CURRENCY REAL
REAL REAL REAL REAL REAL
Dátum/čas REAL REAL REAL REAL

Ak sa napríklad pri operácii delenia skombinuje celé číslo s hodnotou meny, obe hodnoty sa skonvertujú na reálne čísla a výsledkom je zároveň reálne číslo.

Operátory porovnávania

V porovnávacích výrazoch sa booleovské hodnoty považujú za väčšie než reťazcové hodnoty a reťazcové hodnoty sa považujú za väčšie než číselné hodnoty alebo hodnoty dátumu a času. Čísla a hodnoty dátumu a času sa považujú za hodnoty rovnakej relatívnej veľkosti. Pre booleovské alebo reťazcové hodnoty sa nevykonávajú žiadne implicitné konverzie. Hodnota BLANK alebo prázdna hodnota sa skonvertuje na hodnotu 0/""/false v závislosti od typu údajov ďalšej porovnávanej hodnoty.

Toto správanie sú znázornené v nasledujúcich výrazoch jazyka DAX:

=IF(FALSE()>"true";"Výraz má hodnotu true"; "Výraz je nepravdivý"), vráti hodnotu "Výraz má hodnotu true"

=IF("12"12;>"Výraz má hodnotu pravda"; "Výraz je nepravdivý").

=IF("12"=12;"Výraz je pravdivý"; "Výraz je nepravdivý"), vráti "Výraz je nepravdivý"

Konverzie sa vykonávajú implicitne pre číselné typy alebo typy dátumu a času, ako je to popísané v nasledujúcej tabuľke:

Operátor porovnania INTEGER CURRENCY REAL Dátum/čas
INTEGER INTEGER CURRENCY REAL REAL
CURRENCY CURRENCY CURRENCY REAL REAL
REAL REAL REAL REAL REAL
Dátum/čas REAL REAL REAL Dátum/čas

Na začiatok stránky

Spracovanie prázdnych hodnôt, prázdnych reťazcov a nulových hodnôt

V jazyku DAX sú hodnoty null, prázdne bunky, prázdne bunky alebo chýbajúce hodnoty vyjadrené rovnakým novým typom hodnoty – BLANK. Prázdne bunky môžete generovať aj pomocou funkcie BLANK alebo môžete otestovať prázdne bunky pomocou funkcie ISBLANK.

Spôsob spracovania prázdnych hodnôt v rámci operácií, ako je napríklad sčítanie alebo reťazenie, závisí od jednotlivých funkcií. Nasledujúca tabuľka obsahuje súhrn rozdielov medzi vzorcami jazyka DAX a vzorcami Microsoft Excelu, a to tak, že sa spracovávajú prázdne miesta.

Výraz Jazyk DAX Excel
BLANK + BLANK PRÁZDNE 0 (nula)
PRÁZDNE +5 5 5
PRÁZDNA * 5 PRÁZDNE 0 (nula)
5/PRÁZDNE Nekonečno Chyba
0/PRÁZDNE Číslo NaN Chyba
PRÁZDNE/PRÁZDNE PRÁZDNE Chyba
FALSE ALEBO BLANK (NEPRAVDIVÉ) ALEBO PRÁZDNE POLE FALSE FALSE
FALSE AND BLANK FALSE FALSE
TRUE ALEBO BLANK TRUE TRUE
TRUE A BLANK FALSE TRUE
PRÁZDNE ALEBO PRÁZDNE PRÁZDNE Chyba
PRÁZDNE A PRÁZDNE PRÁZDNE Chyba

Podrobnosti o tom, ako určitá funkcia alebo operátor zaobchádza s prázdnymi miestami, nájdete v samostatných témach pre jednotlivé funkcie jazyka DAX v časti Referencie k funkciám jazyka DAX.

Na začiatok stránky