V modeli údajov má každý stĺpec priradený typ údajov určujúci typ údajov, ktoré môže stĺpec podržať: celé čísla, desatinné čísla, text, peňažné údaje, dátumy a časy a tak ďalej. Typ údajov tiež určuje, aké druhy operácií môžete v stĺpci robiť a koľko pamäte potrebujete na uloženie hodnôt v stĺpci.
Ak používate doplnok Power Pivot, môžete zmeniť typ údajov stĺpca. Možno to budete musieť urobiť, ak ste stĺpec s dátumom importoval ako reťazec, ale potrebujete, aby bol niečo iné. Ďalšie informácie nájdete v téme Nastavenie typu údajov stĺpca vPower Pivot.
Obsah tohto článku
Súhrn typov údajov
Nasledujúca tabuľka obsahuje typy údajov podporované v údajovom modeli. Keď importujete údaje alebo používate hodnotu vo vzorci, a to aj v prípade, že pôvodný zdroj údajov obsahuje iný typ údajov, údaje sa skonvertujú na jeden z týchto typov údajov. Tieto typy údajov sa používajú aj v hodnotách výsledku vzorcov.
Typ údajov v Excel |
Typ údajov v texte dax |
Popis |
---|---|---|
Celé číslo |
Hodnota 64-bitového (osem bajtov) celého čísla 1, 2 |
Čísla bez desatinných miest. Celé čísla môžu byť kladné alebo záporné čísla, ale musia byť celé čísla medzi -9 223 372 036 854 775 808 (-2^63) a 9 223 372 036 854 775 807 (2^63-1). |
Desatinné číslo |
64-bitové (osem bajtov) 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 významných číslic je však obmedzený na 15 desatinných miest. |
TRUE/FALSE |
boolovský výraz |
Hodnota True alebo False. |
Text |
String |
Údajový reťazec znakov Unicode. Môžu to byť reťazce, čísla alebo dátumy v textovom formáte. Maximálna dĺžka reťazca je 268 435 456 znakov Unicode (256 mega znakov) alebo 536 870 912 bajtov. |
Dátum |
Dátum/čas |
Dátumy a časy v akceptovanú vyjadrenie dátumu a času. Platné dátumy sú všetky dátumy po 1. januári 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 číslami s pevnou presnosťou. |
Nie je k dispozícii |
Prázdna |
Prázdne je typ údajov v daX, ktorý predstavuje a nahrádza SQL null. Prázdnu hodnotu môžete vytvoriť pomocou funkcie BLANK a použitím logickej funkcie ISBLANK môžete testovať prázdne hodnoty. |
1 vzorce DAX nepodporuje typy údajov menšie ako tie, ktoré sú uvedené v tabuľke.
2 Ak sa pokúsite importovať údaje, ktoré majú veľmi veľké číselné hodnoty, import môže zlyhať s nasledujúcou chybou:
Chyba v databáze v pamäti: Stĺpec <názov stĺpca> v tabuľke s názvom tabuľky <> obsahuje hodnotu 1,7976931348623157e+308, ktorá nie je podporovaná. Operácia bola zrušená.
Táto chyba sa vyskytuje, Power Pivot táto hodnota používa na reprezentujúce hodnoty null. Hodnoty v nasledujúcom zozname sú synonymami pre hodnotu null:
Hodnota |
|
---|---|
9223372036854775807 |
|
-9223372036854775808 |
|
1,7976931348623158e+308 |
|
2,2250738585072014e-308 |
Odstráňte hodnotu z údajov a skúste importovanie zopakovať.
Typ údajov Tabuľka
DaX používa typ údajov tabuľky v mnohých funkciách, ako sú napríklad agregácie a výpočty časovej inteligencie. Niektoré funkcie vyžadujú odkaz na tabuľku. Iné funkcie vrátia tabuľku, ktorú potom možno použiť ako vstup do iných funkcií. V niektorých funkciách, ktoré ako vstup vyžadujú tabuľku, môžete zadať výraz, ktorý sa vyhodnotí ako tabuľka. v prípade niektorých funkcií sa vyžaduje odkaz na základnú tabuľku. Informácie o požiadavkách konkrétnych funkcií nájdete v téme Odkaz na funkciu DAX.
Implicitná a explicitná konverzia typov údajov vo vzorcoch DAX
Každá funkcia dax má špecifické požiadavky na typy údajov, ktoré sa používajú ako vstup a výstupy. Niektoré funkcie napríklad vyžadujú celé čísla pre niektoré argumenty a dátumy, 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 vyžadovaným funkciou, daX v mnohých prípadoch vráti chybu. Vždy, keď je to možné, funkcia DAX sa pokúsi implicitne konvertovať údaje na požadovaný typ údajov. Príklad:
-
Môžete zadať dátum ako reťazec a DAX analyzuje reťazec a pokúsi ho vrhať ako jeden z Windows dátumu a času.
-
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 spočítate hodnoty do dvoch stĺpcov a jedna hodnota bude reprezentovaná ako text (ďalej len "12") a druhá ako číslo (12), daX implicitne skonvertuje reťazec na číslo a potom spočíta číselný výsledok. Nasledujúci výraz vráti hodnotu 44: = "22" + 22
-
Ak sa pokúsite zreťaziť dve čísla, Excel prezentuje ako reťazce a potom zreťaziť. Nasledujúci výraz vráti hodnotu "1234": = 12 & 34
Nasledujúca tabuľka obsahuje súhrn implicitných konverzií typov údajov, ktoré sa vykonajú vo vzorcoch. 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áva, určuje operátor, ktorý vrhá požadované hodnoty pred vykonaním požadovanej operácie. Tieto tabuľky obsahujú zoznam operátorov a označujú konverziu, ktorá sa vykoná pri každom type údajov v stĺpci, keď sa spáruje s typom údajov v prienikom.
Poznámka: Typy údajov Text nie sú v týchto tabuľkách zahrnuté. Keď sa číslo zobrazí ako textové číslo, v niektorých prípadoch Power Pivot pokúsi určiť typ čísla a reprezentovať 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 pri operácii sčítanie používa reálne číslo v kombinácii s údajmi meny, 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 hlavička minuend (na ľavej strane) a hlavička stĺpca je podriadená (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 pri operácii odčítania používa dátum s akýmkoľvek iným typom údajov, obe hodnoty sa skonvertujú na dátumy a vrátená hodnota je tiež dátumom.
Poznámka: Údajové modely tiež podporujú operátor - (záporné), tento operátor však nezmení 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 je napríklad celé číslo skombinované s reálnych číslom v operácii násobenia, obe čísla sa skonvertujú na reálne čísla a vrátená hodnota je tiež REAL.
Delenie (/)
V nasledujúcej tabuľke je hlavička riadka čitateľ a hlavička stĺpca je menovateľ.
Operátor (/) (Riadok/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 celé číslo kombinovalo s hodnotou meny pri operácii delenia, obe hodnoty sa skonvertujú na reálne čísla a výsledok je tiež reálne číslo.
Operátory porovnávania
Vo výrazoch porovnania sa booleovské hodnoty považujú za väčšie ako hodnoty reťazcov a reťazcové hodnoty sa považujú za väčšie ako číselné hodnoty alebo hodnoty dátumu a času. a hodnoty dátumu a času sa považujú za hodnoty s rovnakým hodnotením. Pre booleovské hodnoty alebo reťazcové hodnoty sa vykonajú žiadne implicitné konverzie. Hodnota BLANK alebo prázdna hodnota sa v závislosti od typu údajov druhej porovnávanej hodnoty skonvertuje na hodnotu 0/"/false.
Nasledujúce výrazy DAX znázorňujú toto správanie:
=IF(FALSE()>"true";"Výraz je pravdivý"; "Výraz má hodnotu false"), vráti hodnotu "Výraz má hodnotu True"
=IF("12">12;"Výraz je pravdivý"; "Výraz má hodnotu false") vráti hodnotu "Výraz má hodnotu True".
=IF("12"=12;"Výraz je pravdivý"; "Výraz má hodnotu false"), vráti "Výraz má hodnotu False"
Konverzie sa vykonajú implicitne pri číselných typoch alebo typoch dátumu a času tak, 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 |
Spracovanie prázdnych hodnôt, prázdnych reťazcov a nulových hodnôt
V daxe je hodnota null, prázdna hodnota, prázdna bunka alebo chýbajúca hodnota reprezentovaná rovnakým novým typom hodnoty PRÁZDNE. Prázdne miesta môžete vytvoriť aj pomocou funkcie BLANK alebo testovať prázdne miesta pomocou funkcie ISBLANK.
Spôsob spracovania prázdnych buniek v operáciách, ako je napríklad sčítanie alebo reťazenie, závisí od samostatných funkcií. Nasledujúca tabuľka obsahuje súhrn rozdielov medzi vzorcami vzorcov DAX a Microsoft Excel tak, ako sa spracúvajú prázdne bunky.
Výraz |
DAX |
Excel |
---|---|---|
BLANK + BLANK |
BLANK |
0 (nula) |
BLANK + 5 |
5 |
5 |
BLANK * 5 |
BLANK |
0 (nula) |
5/PRÁZDNE |
Nekonečno |
Chyba |
0/PRÁZDNE |
NaN |
Chyba |
BLANK/BLANK |
BLANK |
Chyba |
FALSE ALEBO BLANK |
FALSE |
FALSE |
FALSE A BLANK |
FALSE |
FALSE |
TRUE ALEBO BLANK |
TRUE |
TRUE |
TRUE A BLANK |
FALSE |
TRUE |
PRÁZDNE ALEBO PRÁZDNE |
BLANK |
Chyba |
PRÁZDNE A PRÁZDNE |
BLANK |
Chyba |
Podrobnosti o tom, ako konkrétne funkcie alebo operátory spracujú prázdne miesta, nájdete v jednotlivých témach jednotlivých funkcií DAX v sekcii Odkaz na funkciu DAX.