Poznámka
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete sa skúsiť prihlásiť alebo zmeniť adresáre.
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete skúsiť zmeniť adresáre.
Tento článok popisuje dátové typy, ktoré Power BI a Data Analysis Expressions (DAX) podporujú.
Keď Power BI načítava dáta, snaží sa previesť dátové typy zo zdrojových stĺpcov na dátové typy, ktoré podporujú efektívnejšie ukladanie, výpočty a vizualizáciu dát. Napríklad, ak stĺpec hodnôt, ktoré importujete z Excelu, nemá zlomkové hodnoty, Power BI prevedie dátový stĺpec na dátový typ Whole Number , ktorý je vhodnejší na ukladanie celých čísel.
Tento koncept je dôležitý, pretože niektoré DAX funkcie majú špeciálne požiadavky na dátový typ. V mnohých prípadoch DAX implicitne konvertuje dátové typy, ale v niektorých prípadoch nie. Napríklad, ak funkcia DAX vyžaduje dátový typ Date , ale dátový typ pre váš stĺpec je Text, DAX funkcia nebude fungovať správne. Preto je dôležité a užitočné používať správne dátové typy pre stĺpce.
Určte a špecifikujte dátový typ stĺpca
V Power BI môžete určiť a špecifikovať dátový typ stĺpca v Power Query Editore, v tabuľkovom pohľade alebo v zobrazení Report:
V Power Query Editore vyberte stĺpec a potom vyberte dátový typ v skupine Transform na páske.
V zobrazení tabuľky alebo reportu vyberte stĺpec a potom vyberte rozbaľovaciu šípku vedľa typu dát na záložke Nástroje stĺpca na páske.
Dátové typy môžete nastaviť aj v Power Query M kóde pomocou Advanced Editora. Pre viac informácií o M dátových typoch a funkcii Table.TransformColumnTypes pozri Dátové typy v Power Query a Typy a konverziu typov.
Výber rozbaľovacieho výberu dátových typov v Power Query Editore obsahuje dva dátové typy, ktoré nie sú prítomné v tabuľkovom ani reportovom zobrazení: Dátum/Čas/Časové pásmo a Trvanie. Keď načítate stĺpec s týmito dátovými typmi do modelu Power BI, stĺpec Dátum/Čas/Časové pásmo sa premení na dátový typ Dátum/čas a stĺpec Trvanie sa prevedie na dátový typ s desatinnými číslami .
Binárny dátový typ nie je podporovaný mimo Power Query Editoru. V Power Query Editore môžete použiť binárny dátový typ pri načítaní binárnych súborov, ak ho pred načítaním do Power BI modelu konvertujete na iné dátové typy. Binárny výber existuje v menu Tabuľka a Report z dôvodov staršieho systému, ale ak sa pokúsite načítať binárne stĺpce do Power BI modelu, môžete naraziť na chyby.
Typy čísel
Power BI podporuje tri typy čísel: desatinné číslo, pevné desatinné číslo a celé číslo.
Môžete použiť vlastnosť stĺpca DataType Tabular Object Model (TOM) na určenie DataType Enumov pre typy čísel. Pre viac informácií o programovom modifikovaní objektov v Power BI pozri Program Power BI sémantické modely s Tabular Object Model.
Desatinné číslo
Desatinné číslo je najbežnejší typ čísla a dokáže spracovať čísla s zlomkovými hodnotami aj celými číslami. Desatinné číslo predstavuje 64-bitové (osembajtové) čísla s pohyblivou desatinnou čiarkou so zápornými hodnotami od -1.79E +308 do -2.23E -308, kladnými hodnotami od 2.23E -308 až po 1.79E +308 a 0. Čísla ako 34, 34,01 a 34,000367063 sú platné desatinné čísla.
Najvyššia presnosť, ktorú môže desatinný typ čísla predstavovať, je 15 číslic. Oddeľovač desatinných miest sa môže nachádzať kdekoľvek v čísle. Tento typ zodpovedá spôsobu, akým Excel ukladá svoje čísla, a TOM špecifikuje tento typ ako DataType.Double Enum.
Pevné desatinné číslo
Dátový typ s pevným desatinným číslom má pevné umiestnenie pre desatinný oddeľovač. Desatinný oddeľovač má vždy štyri číslice napravo a umožňuje 19 významných číslic. Najväčšia hodnota, ktorú môže pevné desatinné číslo predstavovať, je kladná alebo mínusová 922 337 203 685 477,5807.
Typ pevného desatinného čísla je užitočný v prípadoch, keď zaokrúhľovanie môže spôsobiť chyby. Čísla s malými zlomkovými hodnotami sa niekedy môžu nahromadiť a spôsobiť mierne nepresnosť čísla. Typ pevného desatinného čísla vám môže pomôcť vyhnúť sa takýmto chybám tým, že hodnoty skrátite za štyri číslice napravo od desatinného oddeľovača.
Tento typ údajov zodpovedá desatinnému číslu SQL Server (19,4), alebo typu Currency v Analysis Services a Power Pivot v Exceli. TOM špecifikuje tento typ ako DataType.Decimal Enum.
Celé číslo
Celé číslo predstavuje 64-bitovú (osembajtovú) celočíselnú hodnotu. Keďže je to celé číslo, celé číslo nemá žiadne číslice napravo od desatinného miesta. Tento typ umožňuje mať 19 číslic kladných alebo záporných celých čísel medzi -9 223 372 036 854 775 807 (-2^63+1) a 9 223 372 036 854 775,806 (2^63-2), takže môže reprezentovať najväčšie možné čísla číselných typov.
Rovnako ako pri pevnom desatinnom type, aj celý typ môže byť užitočný, keď potrebujete ovládať zaokrúhľovanie. TOM reprezentuje dátový typ celého čísla ako DataType.Int64 Enum.
Note
Dátový model Power BI podporuje 64-bitové celočíselné hodnoty, ale kvôli obmedzeniam JavaScriptu je najväčšie číslo, ktoré môžu vizualizácie Power BI bezpečne vyjadriť, 9 007 199 254 740 991 (2^53-1). Ak má váš dátový model väčšie čísla, môžete ich veľkosť zmenšiť výpočtami ešte predtým, než ich pridáte do vizuálov.
Presnosť výpočtov typov čísel
Stĺpcové hodnoty dátových typov desatinných čísel sa ukladajú ako približné dátové typy podľa štandardu IEEE 754 pre čísla s pohyblivou desatinnou čiarkou. Približné dátové typy majú vrodené obmedzenia presnosti, pretože namiesto ukladania presných čísel môžu ukladať extrémne blízke alebo zaokrúhlené aproximácie.
Strata presnosti, alebo nepresnosť, môže nastať, ak hodnota v pohyblivej desatinnej čiarke nedokáže spoľahlivo kvantifikovať počet číslic s pohyblivou desatinnou čiarkou. Nepresnosť sa môže prejaviť ako neočakávané alebo nepresné výsledky výpočtov v niektorých reportovacích scenároch.
Porovnávacie výpočty súvisiace s rovnosťou medzi hodnotami dátového typu Desatinné čísla môžu potenciálne priniesť neočakávané výsledky. Porovnania rovností zahŕňajú rovnosti =, väčšie ako >, menšie ako <, väčšie alebo rovné >=, a menšie alebo rovné .<=
Tento problém je najzreteľnejší pri použití funkcie RANKX v DAX výraze, ktorý vypočíta výsledok dvakrát, čo vedie k mierne odlišným číslam. Používatelia reportov si nemusia všimnúť rozdiel medzi týmito dvoma číslami, ale výsledok poradia môže byť výrazne nepresný. Aby ste predišli neočakávaným výsledkom, môžete zmeniť dátový typ stĺpca z desatinného čísla na pevné desatinné číslo alebo celé číslo, alebo vykonať nútené zaokrúhľovanie pomocou ROUND. Dátový typ s pevným desatinným číslom má väčšiu presnosť, pretože desatinný oddeľovač má vždy štyri číslice napravo.
Zriedkavo môžu výpočty, ktoré sčítajú hodnoty stĺpca dátového typu Desatinné čísla , priniesť neočakávané výsledky. Tento výsledok je najpravdepodobnejší pri stĺpcoch, ktoré obsahujú veľké množstvo kladných aj záporných čísel. Výsledok súčtu je ovplyvnený rozdelením hodnôt v riadkoch stĺpca.
Ak požadovaný výpočet sčíta väčšinu kladných čísel pred sčítaním väčšiny záporných čísel, veľký kladný čiastočný súčet na začiatku môže potenciálne skresliť výsledky. Ak výpočet sčíta vyvážené kladné a záporné čísla, dotaz si zachováva väčšiu presnosť a preto vracia presnejšie výsledky. Aby ste sa vyhli neočakávaným výsledkom, môžete zmeniť dátový typ stĺpca z desatinného čísla na pevné desatinné číslo alebo celé číslo.
Typy dátumov/času
Power BI podporuje päť dátových typov podľa dátumu/času v Power Query Editore. Dátum/čas/časové pásmo aj trvanie sa počas načítavania do dátového modelu konvertujú nasledovne:
Dátum/čas predstavuje hodnotu dátumu aj času. Základná hodnota dátumu/času sa ukladá ako desatinné číslo, takže môžete medzi nimi skutočne konvertovať. Časová časť je uložená ako zlomok na celé násobky 1/300 sekundy (3,33 ms). Dátový typ podporuje dátumy medzi rokmi 1900 a 9999.
Dátum predstavuje len dátum bez časového rozdelenia. Dátum sa konvertuje na model ako dátum/čas s nulou ako zlomková hodnota.
Čas predstavuje len čas bez dátumu. Čas sa konvertuje na model ako dátum/čas bez číslic vľavo od desatinnej čiarky.
Dátum/Čas/Časové pásmo predstavuje UTC dátum/čas s posunom o časové pásmo a pri načítaní do modelu sa prevádza na Dátum/Čas . Model Power BI neupravuje časové pásmo na základe polohy alebo lokality používateľa. Hodnota 09:00 načítaná do modelu v USA sa zobrazuje ako 09:00 všade, kde je správa otvorená alebo zobrazená.
Trvanie predstavuje dĺžku času a pri načítaní do modelu sa premení na desatinné číslo . Preto môžete hodnoty sčítať alebo odčítať z hodnôt dátumu/času s správnymi výsledkami a jednoducho ich použiť vo vizualizáciách, ktoré ukazujú veľkosť.
Note
Konvertovanú hodnotu Dátum/Čas v modeli môžete ďalej naformátovať ako Dátum alebo Čas pomocou používateľského rozhrania dátových typov v zobrazení Report, Tabuľka a Model. Majte na pamäti, že formátovanie nemení spôsob, akým sú dáta uložené v modeli, a akékoľvek výpočty alebo vzťahy sa stále vyhodnocujú s informáciami o dátume/čase , nezávisle od formátovania.
Typ textu
Textový dátový typ je reťazec znakov Unicode, ktorý môže byť písmená, čísla alebo dátumy reprezentované v textovom formáte. Praktický maximálny limit dĺžky reťazca je približne 32 000 Unicode znakov, na základe základného Power Query enginu Power BI a jeho limitov na dĺžky textových dátových typov. Textové dátové typy nad praktickým maximálnym limitom pravdepodobne vedú k chybám.
Spôsob, akým Power BI ukladá textové dáta, môže v určitých situáciách spôsobiť, že sa údaje zobrazia inak. Nasledujúce časti popisujú bežné situácie, ktoré môžu spôsobiť mierne zmenu vzhľadu textových dát medzi dotazovaním dát v Power Query Editore a ich načítaním do Power BI.
Rozlišovanie malých a veľkých písmen
Engine, ktorý ukladá a dotazuje dáta v Power BI, je necitlivý na veľkosť písmen a považuje rôzne veľké písmená za rovnakú hodnotu. "A" je rovné "a". Avšak Power Query je citlivý na veľkosť písmen, kde "A" nie je to isté ako "a". Rozdiel v citlivosti na veľké písmená môže viesť k situáciám, keď sa textové dáta po načítaní do Power BI zdajú zdanlivo nevysvetliteľne meniť veľké písmená.
Nasledujúci príklad ukazuje údaje o objednávke: stĺpec OrderNo jedinečný pre každú objednávku a stĺpec Príjemca , ktorý zobrazuje meno adresáta zadané manuálne pri objednávke. Power Query Editor zobrazuje niekoľko príkazov s rovnakými menami adresátov zadanými do systému s rôznymi veľkými písmenami.
Po načítaní dát Power BI sa veľké písmená duplicitných názvov v karte Data zmenia z pôvodného záznamu na jednu z variantov veľkých písmen.
Táto zmena nastáva, pretože Power Query Editor je citlivý na veľké písmená, takže zobrazuje dáta presne tak, ako sú uložené v zdrojovom systéme. Engine, ktorý ukladá dáta v Power BI, je necitlivý na veľké písmená, takže považuje malé a veľké verzie znaku za rovnaké. Dáta Power Query nahrané do Power BI enginu sa môžu podľa toho meniť.
Power BI engine vyhodnocuje každý riadok samostatne pri načítavaní dát, začínajúc od začiatku. Pre každý textový stĺpec, napríklad Addressee, engine ukladá slovník jedinečných hodnôt, aby zlepšil výkon kompresiou dát. Engine vníma prvé tri hodnoty v stĺpci Príjemca ako jedinečné a ukladá ich do slovníka. Potom, keďže engine nerozlišuje veľkosť písmen, vyhodnocuje názvy ako identické.
Motor vníma názov "Taina Hasu" ako identický s "TAINA HASU" a "Taina HASU", takže tieto variácie neukladá, ale odkazuje na prvú variáciu, ktorú uložil. Názov "MURALI DAS" sa objavuje veľkými písmenami, pretože takto sa názov objavil, keď ho engine prvýkrát vyhodnotil pri načítavaní dát zhora nadol.
Tento obrázok ilustruje proces hodnotenia:
V predchádzajúcom príklade Power BI engine načíta prvý riadok dát, vytvorí slovník adresátov a pridá doň Taina Hasu . Engine tiež pridáva odkaz na túto hodnotu v stĺpci Recipientee v tabuľke, ktorú načítava. Engine robí to isté pre druhý a tretí riadok, pretože tieto názvy nie sú ekvivalentné ostatným, ak sa ignoruje prípad.
Pre štvrtý riadok engine porovná hodnotu s názvami v slovníku a nájde názov. Keďže motor je necitlivý na veľké písmená, "TAINA HASU" a "Taina Hasu" sú rovnaké. Engine nepridáva nový názov do slovníka, ale odkazuje na existujúci názov. Rovnaký postup sa deje aj pri zostávajúcich riadkoch.
Important
Keďže v nástroji, ktorý ukladá a dotazuje údaje v službe Power BI, sa nerozlišujú veľké a malé písmená, pri práci v režime DirectQuery so zdrojom rozlišujúcim veľké a malé písmená buďte obzvlášť opatrní. Power BI predpokladá, že zdroj odstránil duplicitné riadky. Keďže v službe Power BI sa nerozlišujú veľké a malé písmená, dve hodnoty, ktoré sa líšia iba podľa veľkosti písmen, považuje za duplicitné, zatiaľ čo zdroj ich tak nemusí považovať za duplicitné. V takýchto prípadoch nie je konečný výsledok definovaný.
Ak sa chcete vyhnúť tejto situácii, ak používate režim DirectQuery so zdrojom údajov, v ktorom sa rozlišujú veľké a malé písmená, normalizujte veľké a malé písmená v zdrojovom dotaze alebo v Editore Power Query.
Vedúce a zadné priestory
Power BI engine automaticky orezáva všetky medzery na konci, ktoré nasledujú za textovými dátami, ale neodstráni úvodné medzery, ktoré predchádzajú dátam. Aby ste predišli zmätku, keď pracujete s dátami obsahujúcimi úvodné alebo záverečné medzery, mali by ste použiť funkciu Text.Trim na odstránenie medzier na začiatku alebo konci textu. Ak neodstránite vedúce medzery, vzťah sa môže nevytvoriť kvôli duplicitným hodnotám, alebo vizuály môžu vrátiť neočakávané výsledky.
Nasledujúci príklad zobrazuje údaje o zákazníkoch: stĺpec Meno , ktorý obsahuje meno zákazníka, a stĺpec Index, ktorý je jedinečný pre každý záznam. Mená sú uvedené v úvodzovkách pre väčšiu prehľadnosť. Meno zákazníka sa opakuje štyrikrát, ale zakaždým s inou kombináciou predných a zadných medzier. Tieto odchýlky sa môžu vyskytnúť pri manuálnom zadávaní údajov v priebehu času.
| Riadok | Vedúci priestor | Koncové miesto | Name | Register | Dĺžka textu |
|---|---|---|---|---|---|
| 1 | No | No | "Dylan Williams" | 1 | 14 |
| 2 | No | Yes | "Dylan Williams" | 10 | 15 |
| 3 | Yes | No | "Dylan Williams" | 20 | 15 |
| 4 | Yes | Yes | "Dylan Williams" | 40 | 16 |
V Power Query Editore sa výsledné dáta zobrazujú nasledovne.
Keď po načítaní dát prejdete na záložku Tabuľka v Power BI, tá istá tabuľka vyzerá ako nasledujúci obrázok, s rovnakým počtom riadkov ako predtým.
Avšak vizuál založený na týchto údajoch vráti len dva riadky.
Na predchádzajúcom obrázku má prvý riadok celkovú hodnotu 60 pre pole Index , takže prvý riadok vo vizuáli predstavuje posledné dva riadky načítaných dát. Druhý riadok s celkovou hodnotou indexu11 predstavuje prvé dva riadky. Rozdiel v počte riadkov medzi vizuálnou a dátovou tabuľkou je spôsobený automatickým odstraňovaním alebo orezávaním koncových medzier, ale nie vedúcich medzier. Takže engine vyhodnotí prvý a druhý riadok, ako aj tretí a štvrtý riadok, ako identické a vizuál vráti tieto výsledky.
Toto správanie môže tiež spôsobiť chybové hlásenia týkajúce sa vzťahov, pretože sa detegujú duplicitné hodnoty. Napríklad, v závislosti od konfigurácie vašich vzťahov, môžete vidieť chybu podobnú nasledujúcemu obrázku:
V iných situáciách nemusíte byť schopní vytvoriť vzťah mnoho-na-jeden alebo jeden na jedného, pretože sa detegujú duplicitné hodnoty.
Tieto chyby môžete vystopovať späť k vedúcim alebo zadným medzerám a vyriešiť ich pomocou Text.Trim alebo Format>Trim pod Transform, aby ste odstránili medzery v Power Query Editore.
Typ pravda/nepravda
Dátový typ Pravda/nepravda je Booleovská hodnota buď Pravda alebo Nepravda. Pre najlepšie a najkonzistentnejšie výsledky, keď načítate stĺpec obsahujúci booleovské informácie o pravde/nepravde do Power BI, nastavte typ stĺpca na Pravda/Nepravda.
Power BI v určitých situáciách konvertuje a zobrazuje dáta odlišne. Táto sekcia popisuje bežné prípady konverzie Booleovských hodnôt a spôsoby, ako riešiť konverzie, ktoré v Power BI vytvárajú neočakávané výsledky.
V tomto príklade načítate údaje o tom, či sa vaši zákazníci prihlásili na odber vášho newslettera. Hodnota TRUE znamená, že zákazník sa prihlásil na odber newslettera, a hodnota FALSE znamená, že zákazník sa neprihlásil.
Avšak keď zverejníte správu do služby Power BI, stĺpec stavu prihlásenia do newslettera ukazuje 0 a -1 namiesto očakávaných hodnôt PRAVDA alebo NEPRAVDA. Nasledujúce kroky popisujú, ako k tejto konverzii dochádza a ako jej predísť.
Zjednodušený dotaz pre túto tabuľku je zobrazený na nasledujúcom obrázku:
Dátový typ stĺpca Subscribed To Newsletter je nastavený na Any, a v dôsledku toho Power BI načíta dáta do modelu ako text.
Keď pridáte jednoduchú vizualizáciu, ktorá zobrazuje podrobné informácie o každom zákazníkovi, dáta sa vo vizuáli zobrazia tak, ako sa očakáva, či už v Power BI Desktop, alebo keď sú publikované v službe Power BI.
Avšak pri obnovení sémantického modelu v službe Power BI, stĺpec Subscribed To Newsletter vo vizuáloch zobrazuje hodnoty ako -1 a 0, namiesto toho, aby sa zobrazovali ako PRAVDA alebo NEPRAVDA:
Ak správu znovu zverejníte z Power BI Desktop, stĺpec Odberený na newsletter opäť ukáže PRAVDA alebo NEPRAVDA , ako očakávate, ale po obnovení služby Power BI sa hodnoty opäť zmenia na -1 a 0.
Riešením, ako tomu predísť, je nastaviť všetky booleovské stĺpce na True/False v Power BI Desktop a znovu zverejniť svoju správu.
Keď urobíte zmenu, vizualizácia zobrazuje hodnoty v stĺpci Odber newslettera mierne inak. Namiesto toho, aby text bol zložený z veľkých písmen, ako je uvedené v tabuli, je veľké len prvé písmeno. Táto zmena je jedným z dôsledkov zmeny dátového typu stĺpca.
Keď zmeníte dátový typ, znovu ho zverejníte do služby Power BI a prebehne obnova, správa zobrazí hodnoty ako Pravda alebo Nepravda, ako sa očakáva.
Zhrnuté, pri práci s Booleovskými dátami v Power BI sa uistite, že vaše stĺpce sú v Power BI Desktop nastavené na typ údajov Pravda/Nepravda .
Prázdny typ
Blank je DAX dátový typ, ktorý reprezentuje a nahrádza SQL null. Blank môžeš vytvoriť pomocou funkcie BLANK a testovať blanky pomocou logickej funkcie ISBLANK .
Binárny typ
Binárny dátový typ môžete použiť na reprezentáciu akýchkoľvek dát v binárnom formáte. V Power Query Editore môžete tento typ dát použiť pri načítavaní binárnych súborov, ak ho pred načítaním do Power BI modelu konvertujete na iné dátové typy.
Binárne stĺpce nie sú podporované v dátovom modeli Power BI. Binárny výber existuje v tabuľkových a reportových menu z dôvodov staršieho systému, ale ak sa pokúsite načítať binárne stĺpce do Power BI modelu, môžete naraziť na chyby.
Note
Ak sa v výstupe krokov dotazu nachádza binárny stĺpec, pokus o obnovenie dát cez bránu môže spôsobiť chyby. Odporúča sa explicitne odstrániť všetky binárne stĺpce ako posledný krok vo vašich dotazoch.
Typ tabuľky
DAX používa typ dát Table v mnohých funkciách, ako sú agregácie a výpočty časovej inteligencie. Niektoré funkcie vyžadujú odkaz na tabuľku. Iné funkcie vracajú tabuľku, ktorú potom môžete použiť ako vstup pre iné funkcie.
V niektorých funkciách, ktoré vyžadujú tabuľku ako vstup, môžete špecifikovať výraz, ktorý sa vyhodnocuje do tabuľky. Niektoré funkcie vyžadujú odkaz na základnú tabuľku. Informácie o požiadavkách konkrétnych funkcií nájdete v referencii funkcie DAX.
Konverzia implicitných a explicitných dátových typov
Každá DAX funkcia má špecifické požiadavky na typy dát, ktoré sa používajú ako vstupy a výstupy. Napríklad niektoré funkcie vyžadujú celé čísla pre niektoré argumenty a dátumy pre iné. Iné funkcie vyžadujú text alebo tabuľky.
Ak dáta v stĺpci, ktorý určíte ako argument, nie sú kompatibilné s typom údajov, ktorý funkcia vyžaduje, DAX môže vrátiť chybu. Avšak, kde je to možné, sa DAX snaží implicitne previesť dáta na požadovaný typ dát.
Príklad:
- Ak napíšete dátum ako reťazec, DAX ho analyzuje a pokúsi sa ho zobraziť ako jeden z Windows formátov dátumu a času.
- Môžete sčítať TRUE + 1 a dostanete výsledok 2, pretože DAX implicitne konvertuje TRUE na číslo 1 a vykoná operáciu 1+1.
- Ak pridáte hodnoty do dvoch stĺpcov, pričom jedna hodnota je reprezentovaná ako text ("12") a druhá ako číslo (12), DAX implicitne prevedie reťazec na číslo a potom vykoná sčítanie pre číselný výsledok. Výraz = "22" + 22 vráti 44.
- Ak sa pokúsite spojiť dve čísla, DAX ich prezentuje ako reťazce a potom ich spája. Výraz = 12 & 34 vráti "1234".
Tabuľky implicitných konverzií dát
Operátor určuje typ konverzie, ktorú DAX vykoná, tak, že pred vykonaním požadovanej operácie vyprodukuje požadované hodnoty. Nasledujúce tabuľky uvádzajú operátory a konverziu DAX vykonáva pre každý typ dát, keď sa spáruje s dátovým typom v pretínajúcej bunke.
Note
Tieto tabuľky neobsahujú typ textových dát. Keď je číslo reprezentované v textovom formáte, v niektorých prípadoch sa Power BI snaží určiť typ čísla a reprezentovať údaje ako číslo.
Sčítanie (+)
| CELÉ ČÍSLO | CURRENCY | REAL | Date/time | |
|---|---|---|---|---|
| INTEGER | CELÉ ČÍSLO | CURRENCY | REAL | Date/time |
| CURRENCY | CURRENCY | CURRENCY | REAL | Date/time |
| REAL | REAL | REAL | REAL | Date/time |
| Dátum a čas | Date/time | Date/time | Date/time | Date/time |
Napríklad, ak operácia sčítania používa reálne číslo v kombinácii s menovými údajmi, DAX prevedie obe hodnoty na REAL a vráti výsledok ako REAL.
Odčítanie (-)
V nasledujúcej tabuľke je hlavička riadku minuend (ľavá strana) a hlavička stĺpca je podtrahend (pravá strana).
| CELÉ ČÍSLO | CURRENCY | REAL | Date/time | |
|---|---|---|---|---|
| INTEGER | CELÉ ČÍSLO | CURRENCY | REAL | REAL |
| CURRENCY | CURRENCY | CURRENCY | REAL | REAL |
| REAL | REAL | REAL | REAL | REAL |
| Dátum a čas | Date/time | Date/time | Date/time | Date/time |
Napríklad, ak operácia odčítania použije dátum s akýmkoľvek iným dátovým typom, DAX konvertuje obe hodnoty na dátumy a vrátená hodnota je tiež dátum.
Note
Dátové modely podporujú unarný operátor, - (negatívne), ale tento operátor nemení dátový typ operandu.
Násobenie (*)
| CELÉ ČÍSLO | CURRENCY | REAL | Date/time | |
|---|---|---|---|---|
| INTEGER | CELÉ ČÍSLO | CURRENCY | REAL | CELÉ ČÍSLO |
| CURRENCY | CURRENCY | REAL | CURRENCY | CURRENCY |
| REAL | REAL | CURRENCY | REAL | REAL |
Napríklad, ak operácia násobenia kombinuje celé číslo s reálnym číslom, DAX prevedie obe čísla na reálne čísla a návratová hodnota je tiež REAL.
Divízia (/)
V nasledujúcej tabuľke je hlavička riadku čitateľom a hlavička stĺpca menovateľom.
| CELÉ ČÍSLO | CURRENCY | REAL | Date/time | |
|---|---|---|---|---|
| INTEGER | REAL | CURRENCY | REAL | REAL |
| CURRENCY | CURRENCY | REAL | CURRENCY | REAL |
| REAL | REAL | REAL | REAL | REAL |
| Dátum a čas | REAL | REAL | REAL | REAL |
Napríklad, ak operácia delenia kombinuje celé číslo s hodnotou meny, DAX konvertuje obe hodnoty na reálne čísla a výsledkom je tiež reálne číslo.
Operátory porovnávania
Pri porovnávacích výrazoch DAX zohľadňuje Booleovské hodnoty väčšie ako hodnoty reťazcov a hodnoty reťazcov väčšie ako číselné alebo dátumové/časové hodnoty. Čísla a hodnoty dátumu/času majú rovnaké poradie.
DAX nerobí žiadne implicitné konverzie pre Booleovské alebo reťazcové hodnoty. BLANK alebo prázdna hodnota sa konvertuje na 0, "", alebo False, v závislosti od typu dát druhej porovnávanej hodnoty.
Nasledujúce DAX výrazy ilustrujú toto správanie:
=IF(FALSE()>"true","Expression is true", "Expression is false")vráti "Expression is true".=IF("12">12,"Expression is true", "Expression is false")vráti "Expression is true".=IF("12"=12,"Expression is true", "Expression is false")vráti "Výraz je nepravdivý".
DAX vykonáva implicitné konverzie pre číselné alebo dátumové/časové typy, ako popisuje nasledujúca tabuľka:
| Porovnanie Operátor |
CELÉ ČÍSLO | CURRENCY | REAL | Date/time |
|---|---|---|---|---|
| INTEGER | CELÉ ČÍSLO | CURRENCY | REAL | REAL |
| CURRENCY | CURRENCY | CURRENCY | REAL | REAL |
| REAL | REAL | REAL | REAL | REAL |
| Dátum a čas | REAL | REAL | REAL | Date/Time |
Prázdne reťazce, prázdne reťazce a nulové hodnoty
DAX predstavuje nulu, prázdnu hodnotu, prázdnu bunku alebo chýbajúcu hodnotu rovnakým novým typom hodnoty, BLANK. Blanky môžete generovať aj pomocou funkcie BLANK alebo testovať blanky pomocou funkcie ISBLANK.
Spôsob, akým operácie ako sčítanie alebo konkatenácia spracovávajú prázdne miesta, závisí od konkrétnej funkcie. Nasledujúca tabuľka zhrňuje rozdiely medzi tým, ako DAX a Microsoft Excel vzorce spracúvajú prázdne plochy.
| Expression | DAX | Excel |
|---|---|---|
| PRÁZDNE + PRÁZDNE | BLANK | 0 (nula) |
| PRÁZDNE + 5 | 5 | 5 |
| PRÁZDNA * 5 | BLANK | 0 (nula) |
| 5/BLANK | Infinity | Chyba |
| 0/BLANK | NaN | Chyba |
| BLANK/BLANK | BLANK | Chyba |
| FALOŠNÉ ALEBO PRÁZDNE | NEPRAVDA | NEPRAVDA |
| FALOŠNÉ A PRÁZDNE | NEPRAVDA | NEPRAVDA |
| PRAVDA ALEBO PRÁZDNA | PRAVDA | PRAVDA |
| PRAVDA A PRÁZDNA | NEPRAVDA | PRAVDA |
| BLANK ALEBO BLANK | BLANK | Chyba |
| PRÁZDNE A PRÁZDNE | BLANK | Chyba |
Súvisiaci obsah
S Power BI a dátami môžete robiť všeličo. Pre viac informácií o schopnostiach Power BI si pozrite nasledujúce zdroje: