Typy údajov v aplikácii Power BI Desktop

Tento článok popisuje typy údajov, ktoré Power BI Desktop a DAX (Data Analysis Expressions) podporujú.

Keď Power BI načíta údaje, pokúsi sa konvertovať typy údajov zdrojových stĺpcov na typy údajov, ktoré podporujú efektívnejšie ukladanie, výpočty a vizualizáciu údajov. Ak napríklad stĺpec hodnôt, ktorý importujete z Excelu, neobsahuje žiadne desatinné hodnoty, Power BI Desktop skonvertuje stĺpec údajov na typ údajov Kto le number, ktorý je vhodnejší na ukladanie celých čísel.

Tento koncept je dôležitý, pretože niektoré funkcie DAX majú špeciálne požiadavky na typy údajov. V mnohých prípadoch DAX implicitne konvertuje typy údajov, ale v niektorých prípadoch nie. Ak napríklad funkcia DAX vyžaduje typ údajov Dátum , ale typ údajov stĺpca je Text, funkcia DAX nebude fungovať správne. Preto je dôležité a užitočné používať pre stĺpce správne typy údajov.

Určenie a zadanie typu údajov stĺpca

V aplikácii Power BI Desktop môžete určiť a zadať typ údajov stĺpca v Editor Power Query, v zobrazení údajov alebo v zobrazení zostavy:

  • V Editor Power Query vyberte stĺpec a potom na páse s nástrojmi v skupine Transformovať vyberte položku Typ údajov.

    Screenshot of the Power Query Editor, showing the Data type dropdown selection.

  • V zobrazení Údaje alebo Zobrazení zostavy vyberte stĺpec a potom vyberte šípku rozbaľovacieho zoznamu vedľa položky Typ údajov na karte Nástroje stĺpca na páse s nástrojmi.

    Screenshot of Data View, showing the Data type dropdown selection.

Výber rozbaľovacieho zoznamu Typ údajov v Editor Power Query má dva typy údajov, ktoré nie sú prítomné v zobrazení údajov alebo zobrazení zostavy: Dátum/Čas/Časové pásmo a Trvanie. Keď načítate stĺpec s týmito typmi údajov do modelu Power BI, stĺpec Dátum/Čas/Časové pásmo sa skonvertuje na typ údajov Dátum/čas a stĺpec Trvanie sa skonvertuje na typ údajov Desatinné číslo .

Binárny typ údajov nie je podporovaný mimo Editor Power Query. V Editor Power Query môžete pri načítaní binárnych súborov použiť typ Binárnych údajov, ak ho skonvertujete na iné typy údajov pred načítaním do modelu Power BI. Binárny výber existuje v ponukách Zobrazenie údajov a Zobrazenie zostavy z starších dôvodov, ale ak sa pokúsite načítať binárne stĺpce do modelu Power BI, môžu sa vyskytnúť chyby.

Typy čísel

Power BI Desktop podporuje tri typy čísel: Desatinné číslo, Pevné desatinné číslo a Kto číslo.

Vlastnosť Stĺpca DataType tabuľkového objektového modelu (TOM) môžete použiť na zadanie DataType enums pre číselné typy. Ďalšie informácie o programovej úprave objektov v službe Power BI nájdete v téme Programovanie sémantických modelov služby Power BI pomocou tabuľkového objektového modelu.

Desatinné číslo

Desatinné číslo je najbežnejší typ čísla a dokáže pracovať s číslami s desatinnými hodnotami a celými číslami. Desatinné číslo predstavuje 64-bitové (8-bajtové) čísla s pohyblivou desatinnou čiarkou so zápornými hodnotami od -1,79E +308 do -2,23E -308, kladné hodnoty od 2,23E -308 do 1,79E +308 a 0. Čísla ako 34, 34,01 a 34,000367063 sú platné desatinné čísla.

Najvyššia presnosť, ktorú môže typ Desatinné číslo predstavovať, je 15 číslic. Oddeľovač desatinných miest sa môže nachádzať kdekoľvek v čísle. Tento typ zodpovedá tomu, ako program Excel ukladá svoje čísla, a tom určuje tento typ ako DataType.Double Enum.

Pevné desatinné číslo

Typ údajov Pevné desatinné číslo má pevné umiestnenie oddeľovača desatinných miest. Oddeľovač desatinných miest má vždy štyri číslice vpravo a umožňuje 19 číslic. Najväčšia hodnota, ju môže predstavovať pevné desatinné číslo , je kladná alebo záporná hodnota 922 337 203 685 477,5807.

Typ Pevné desatinné číslo je užitočný v prípadoch, kde by zaokrúhlenie mohlo spôsobovať chyby. Čísla, ktoré majú malé desatinné hodnoty, sa niekedy môžu nahromadiť a môžu vynútiť, aby bolo číslo trochu nepresné. Typ Pevné desatinné číslo vám môže pomôcť vyhnúť sa týmto typom chýb skrátením hodnôt za štyri číslice napravo od oddeľovača desatinných miest.

Tento typ údajov zodpovedá desatinnej desatinnej čiarke (19,4) SQL Serveru alebo typu údajov Mena v službe Analysis Services a doplnku Power Pivot v Exceli. Tom určuje tento typ ako DataType.Decimal Enum.

Celé číslo

Kto číslo predstavuje 64-bitovú (8-bajtovú) celočíselnú hodnotu. Keďže ide o celé číslo, Kto le number nemá žiadne číslice napravo od desatinnej čiarky. Tento typ umožňuje 19 číslic kladných alebo záporných celých čísel od – 9 223 372 036 854 775 807 (–2^63 + 1) a 9 223 372 036 854 775 806 (2 ^ 63 – 2), čo môže predstavovať najväčší možný počet číselných typov údajov.

Typ Kto le number môže byť podobne ako typ Pevné desatinné číslo užitočný vtedy, keď potrebujete ovládať zaokrúhlenie. TOM predstavuje typ údajov Kto le number ako DataType.Int64 Enum.

Poznámka

Dátový model aplikácie Power BI Desktop podporuje 64-bitové celočíselné hodnoty, ale z dôvodu obmedzení JavaScriptu je najväčšie číslo, ktoré vizuály Power BI dokážu bezpečne vyjadriť, 9 007 199 254 740 991 (2^ 53 – 1). Ak má váš dátový model väčšie čísla, môžete ich zmenšiť pomocou výpočtov ešte predtým, ako ich pridáte do vizuálov.

Presnosť výpočtov číselného typu

Hodnoty stĺpcov typu údajov Desatinné číslo sa ukladajú ako približné typy údajov podľa štandardu IEEE 754 pre čísla s pohyblivou rádovou čiarkou. Približné typy údajov majú vlastné obmedzenia presnosti, pretože namiesto ukladania presných číselných hodnôt môžu približné hodnoty uložiť veľmi blízko alebo zaokrúhlené.

Presnosť straty alebo imprecision sa môže vyskytnúť, ak hodnota s pohyblivou desatinnou čiarkou nemôže spoľahlivo kvantifikovať počet číslic s pohyblivou desatinnou čiarkou. Imprecision sa môže v niektorých scenároch vytvárania zostáv zobraziť ako neočakávané alebo nepresné výsledky výpočtu.

Výpočty porovnania súvisiace s rovnosťou medzi hodnotami typu údajov Desatinné číslo môžu potenciálne vrátiť neočakávané výsledky. Porovnania rovnosti zahŕňajú rovná sa =, väčšie ako >, menšie ako <, väčšie ako alebo rovné >=, a menšie ako alebo rovné <=.

Tento problém je najviditeľnejší pri používaní funkcie RANKX vo výraze DAX, ktorý vypočíta výsledok dvakrát, čo má za následok mierne odlišné čísla. Používatelia zostáv si možno všimnú rozdiel medzi týmito dvomi číslami, ale výsledok poradia môže byť výrazne nepresný. Ak sa chcete vyhnúť neočakávaným výsledkom, môžete zmeniť typ údajov stĺpca z desatinného čísla na Pevné desatinné číslo alebo Kto číslo, alebo vykonať vynútené zaokrúhlenie pomocou funkcie ROUND. Typ údajov Pevné desatinné číslo má väčšiu presnosť, pretože oddeľovač desatinných miest má vždy štyri číslice vpravo.

Výpočty, ktoré sčíta hodnoty stĺpca údajov Desatinné číslo, môžu zriedkavo vrátiť neočakávané výsledky. Tento výsledok je najpravdepodobnejší pre stĺpce, ktoré majú veľké množstvo kladných aj záporných čísel. Výsledok súčtu je ovplyvnený distribúciou hodnôt v riadkoch v stĺpci.

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 sa pri výpočte pridá vyvážené kladné a záporné čísla, dotaz si zachová väčšiu presnosť, a preto vráti presnejšie výsledky. Ak sa chcete vyhnúť neočakávaným výsledkom, môžete zmeniť typ údajov stĺpca z desatinného čísla na Pevné desatinné číslo alebo Kto le number.

Typy dátumu a času

Aplikácia Power BI Desktop podporuje v službe Editor Power Query päť typov údajov dátumu a času. Dátum a čas a časové pásmo sa počas načítania konvertujú na dátový model aplikácie Power BI Desktop. Model podporuje dátum a čas alebo môžete hodnoty formátovať ako Dátum alebo Čas nezávisle od seba.

  • Dátum a čas predstavujú hodnotu dátumu aj času. Základná hodnota dátumu a času sa ukladá ako typ Desatinné číslo, takže ju môžete konvertovať medzi týmito dvomi typmi. Časová časť ukladá ako zlomok s celými násobkami 1/300 sekúnd (3,33 ms). Typ údajov podporuje dátumy v rozmedzí od rokov 1900 až 9999.

  • Dátum predstavuje len dátum bez časovej časti. Dátum sa do modelu skonvertuje ako hodnota dátumu a času s nulou pre zlomkovú hodnotu.

  • Čas predstavuje len čas bez dátumovej časti. Čas sa v modeli konvertuje ako hodnota dátumu a času bez číslic naľavo od desatinnej čiarky.

  • Dátum/Čas/Časové pásmo predstavuje dátum a čas v UTC s posunom časového pásma a pri načítaní do modelu sa konvertuje na Dátum/Čas . Model Power BI neupravuje časové pásmo na základe polohy používateľa alebo miestneho nastavenia používateľa. Hodnota 09:00 načítaná do modelu v USA sa zobrazí ako 09:00 všade, kde je zostava otvorená alebo zobrazená.

  • Trvanie predstavuje dĺžku času a pri načítaní do modelu sa skonvertuje na typ Desatinné číslo . Ako typ Desatinné číslo môžete pridať alebo odčítať hodnoty z hodnôt dátumu a času so správnymi výsledkami a jednoducho použiť hodnoty vo vizualizáciách, ktoré zobrazujú rozsah.

Typ textu

Typ údajov Text je údajový reťazec údajov znakov Unicode, ktorý môže byť písmenami, číslami alebo dátumami zastúpenými v textovom formáte. Praktický maximálny limit dĺžky reťazca je približne 32 000 znakov Unicode založených na základnom nástroji Power Query služby Power BI a jeho limitoch na dĺžky textových typov údajov. Textové typy údajov, ktoré prekročia maximálny limit praktických údajov, pravdepodobne spôsobia chyby.

To, že Power BI ukladá textové údaje, môže v istých situáciách spôsobiť, že sa údaje zobrazia inak. Nasledujúce časti popisujú bežné situácie, ktoré môžu spôsobiť, že textové údaje sa medzi dotazovaním údajov v Editor Power Query a načítaním do služby Power BI mierne zmenia.

Citlivosť prípadu

Nástroj, ktorý ukladá a dotazuje údaje v službe Power BI , nerozlišuje malé a veľké písmená a zaobchádza s rôznymi veľkými písmenami ako s rovnakou hodnotou. "A" sa rovná "a". V doplnku Power Query sa však rozlišuje veľké a malé písmená, kde "A" nie je rovnaké ako "a". Rozdiel v citlivosti prípadov môže viesť k situáciám, v ktorých sa textové údaje po načítaní do služby Power BI zdanlivo nevysvetliteľne zmenia na veľké písmená.

Nasledujúci príklad znázorňuje údaje poradia: stĺpec OrderNo , ktorý je jedinečný pre každú objednávku , a stĺpec Adresát , ktorý zobrazuje názov adresy zadaný manuálne v čase objednávky. Editor Power Query zobrazí niekoľko objednávok s rovnakým Názvy adresy zadané do systému s rôznymi veľkými písmenami.

Screenshot of textual data with various capitalizations in Power Query

Po načítaní údajov sa v službe Power BI zmení veľké písmeno duplicitných názvov na karte Údaje z pôvodnej položky na jeden z variantov veľkých písmen.

Screenshot that shows the textual data with changed capitalization after loading into Power BI.

Táto zmena nastane, pretože Editor Power Query rozlišuje veľké a malé písmená, takže zobrazuje údaje presne tak, ako sú uložené v zdrojovom systéme. Nástroj, ktorý ukladá údaje v službe Power BI, nerozlišuje malé a veľké písmená, takže považuje verzie znaku malé a veľké ako identické. Údaje Power Query načítané do nástroja Power BI sa môžu podľa toho meniť.

Nástroj Power BI vyhodnotí každý riadok samostatne, keď načíta údaje, počnúc zhora. Pre každý textový stĺpec, napríklad Addressee, nástroj ukladá slovník jedinečných hodnôt, aby sa zlepšil výkon prostredníctvom kompresie údajov. Nástroj vidí prvé tri hodnoty v stĺpci Addressee ako jedinečné a uloží ich v slovníku. Potom, keďže v nástroji sa nerozlišujú malé a veľké písmená, vyhodnotí názvy ako identické.

Nástroj vidí názov Taina Hasu ako rovnaký ako "TAINA HASU" a "Taina HASU", takže tieto variácie neukladá, ale odkazuje na prvú uloženú variáciu. Názov MURALI DAS sa zobrazuje veľkými písmenami, pretože takto sa názov zobrazil pri prvom vyhodnotení názvom nástroja pri načítavaní údajov zhora nadol.

Tento obrázok znázorňuje proces hodnotenia:

Diagram that shows the data load process and mapping text values to a dictionary of unique values.

V predchádzajúcom príklade nástroj Power BI načíta prvý riadok údajov, vytvorí slovník Adresáta a pridá k nemu Taina Hasu . Nástroj tiež pridá odkaz na túto hodnotu v stĺpci Adresát v tabuľke , ktorú načíta. Nástroj robí to isté pre druhý a tretí riadok, pretože tieto názvy nie sú ekvivalentné s ostatnými pri ignorovaní malých a malých písmen.

Vo štvrtom riadku nástroj porovná hodnotu s názvami v slovníku a vyhľadá názov. Keďže v nástroji sa nerozlišujú malé a veľké písmená, "TAINA HASU" a "Taina Hasu" sú rovnaké. Nástroj nepridá nový názov do slovníka, ale odkazuje na existujúci názov. Rovnaký proces sa vyskytne aj v zostávajúcich riadkoch.

Poznámka

Keďže nástroj, ktorý ukladá a dotazuje údaje v službe Power BI, nerozlišuje malé a veľké písmená, pri práci v režime DirectQuery so zdrojom rozlišujúceho malé a veľké písmená buďte opatrní. Power BI predpokladá, že zdroj odstránil duplicitné riadky. Keďže služba Power BI nerozlišuje malé a veľké písmená, spracúva dve hodnoty, ktoré sa líšia iba veľkosťou písmen ako duplikátom, zatiaľ čo zdroj ich nemusí považovať za také. V takýchto prípadoch nie je konečný výsledok nedefinovaný.

Ak sa chcete takejto situácii vyhnúť, ak používate režim DirectQuery so zdrojom údajov, ktorý rozlišuje malé a veľké písmená, normalizujte puzdro v zdrojovom dotaze alebo Editor Power Query.

Medzery na úvodnej a koncovej ceste

Nástroj Power BI automaticky orezá všetky koncové medzery, ktoré nasledujú za textovými údajmi, ale neodstráni úvodné medzery, ktoré predchádzajú údaje. Ak sa chcete vyhnúť zámene, pri práci s údajmi, ktoré obsahujú medzery na začiatku alebo konci, by ste mali pomocou funkcie Text.Trim odstrániť medzery na začiatku alebo konci textu. Ak neodstránite úvodné medzery, vzťah sa možno nepodarí vytvoriť z dôvodu duplicitných hodnôt alebo vizuály môžu vrátiť neočakávané výsledky.

Nasledujúci príklad znázorňuje údaje o zákazníkoch: stĺpec Name obsahujúci meno zákazníka a stĺpec Index , ktorý je jedinečný pre každú položku. Názvy sa zobrazia v úvodzovkách, aby boli jasné. Meno zákazníka sa opakuje štyrikrát, ale vždy s rôznymi kombináciami medzier na vedúcich a koncových miestach. Tieto variácie sa môžu vyskytnúť pri manuálnom zadávaní údajov v priebehu času.

Riadok Úvodný priestor Koncové miesto Názov Index Dĺžka textu
1 No No "Dylan Williams" 1 14
2 No Áno "Dylan Williams" 10 15
3 Áno No " Dylan Williams" 20 15
4 Áno Áno " Dylan Williams " 40 16

V Editor Power Query sa výsledné údaje zobrazia takto.

Screenshot of textual data with various leading and trailing spaces in Power Query Editor.

Keď po načítaní údajov prejdete na kartu Údaje v službe Power BI, rovnaká tabuľka bude vyzerať ako na nasledujúcom obrázku s rovnakým počtom riadkov ako predtým.

Screenshot of the same textual data after loading into Power BI returns the same number of rows as before.

Vizuál založený na týchto údajoch však vráti len dva riadky.

Screenshot of a table visual based on the same data returning just two lines of data.

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 údajov. Druhý riadok s celkovou hodnotou indexu11 predstavuje prvé dva riadky. Rozdiel v počte riadkov medzi vizuálom a tabuľkou údajov je spôsobený tým, že nástroj automaticky odstráni alebo oreže koncové medzery, ale nie úvodné medzery. Takže nástroj vyhodnotí prvý a druhý riadok a 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 súvisiace so vzťahmi, pretože sa zistia duplicitné hodnoty. V závislosti od konfigurácie vzťahov sa napríklad môže zobraziť chyba podobná nasledujúcemu obrázku:

Screenshot of an error message about duplicate values.

V iných situáciách možno nebudete môcť vytvoriť vzťah many-to-one alebo one-to-one, pretože sa zistia duplicitné hodnoty.

Screenshot of the relationship dialog showing a 'the cardinality you selected isn't valid for this relationship' error, which is related to duplicate values being detected.

Tieto chyby môžete sledovať späť do úvodných alebo koncových medzier a vyriešiť ich pomocou funkcie Text.Trim alebo orezať v časti Transformovať a odstrániť medzery na Editor Power Query.

Typ Pravda/Nepravda

Typ údajov True/False je booleovská hodnota pravda alebo nepravda. Ak chcete dosiahnuť čo najlepšie a naj konzistentnejšie výsledky, nastavte pri načítaní stĺpca, ktorý obsahuje booleovské informácie pravda/nepravda, do služby Power BI nastaviť typ stĺpca na hodnotu True/False.

Power BI v určitých situáciách údaje konvertuje a zobrazuje inak. Táto časť popisuje bežné prípady konverzie booleovských hodnôt a spôsob riešenia konverzií, ktoré v Power BI vytvoria neočakávané výsledky.

V tomto príklade načítate údaje o tom, či sa vaši zákazníci zaregistrovali do bulletinu. Hodnota TRUE znamená, že zákazník sa zaregistroval do bulletinu, a hodnota FALSE znamená, že zákazník sa nezaregistroval.

Keď však publikujete zostavu do služba Power BI, stĺpec so stavom registrácie bulletinu zobrazuje hodnoty 0 a -1 namiesto očakávaných hodnôt TRUE alebo FALSE. Nasledujúce kroky popisujú, ako k tejto konverzii dochádza a ako tomu zabrániť.

Zjednodušený dotaz pre túto tabuľku sa zobrazí na nasledujúcom obrázku:

Screenshot that shows columns set to Boolean.

Typ údajov stĺpca Prihlásiť sa na odber bulletinu je nastavený na možnosť Ľubovoľné, v dôsledku čoho služba Power BI načíta údaje do modelu ako text.

Screenshot showing the data loaded into Power BI.

Keď pridáte jednoduchú vizualizáciu, ktorá zobrazuje podrobné informácie o zákazníkoch, údaje sa zobrazia vo vizuáli očakávaným spôsobom, a to v aplikácii Power BI Desktop, ako aj pri publikovaní na služba Power BI.

Screenshot of a visual that shows the data appearing as expected.

Keď však obnovíte sémantický model v služba Power BI, stĺpec Prihlásiť sa na odber bulletinu vo vizuáloch zobrazí hodnoty ako -1 a 0 namiesto toho, aby sa zobrazili ako TRUE alebo FALSE:

Screenshot of a visual that shows data appearing in an unexpected format after refresh.

Ak zostavu z aplikácie Power BI Desktop znova publikujete, stĺpec Predplatený bulletin znova zobrazí hodnotu TRUE alebo FALSE podľa očakávania, ale po obnovení v služba Power BI sa hodnoty opäť zmenia, aby zobrazovali hodnoty –1 a 0.

Riešením na zabránenie tejto situácie je nastaviť všetky booleovské stĺpce na typ True/False v aplikácii Power BI Desktop a znova publikovať zostavu.

Screenshot of changing the data type of the column to True/False.

Po vykonaní zmeny sa v vizualizácii hodnoty v stĺpci Prihlásiť sa na odber bulletinu zobrazujú trochu inak. Namiesto toho, aby boli všetky veľké písmená zadané v tabuľke, veľkým písmenom je len prvé písmeno. Táto zmena je jedným z výsledkov zmeny typu údajov stĺpca.

Screenshot of values appearing differently when you change the data type.

Keď zmeníte typ údajov, opätovne ho publikujte do služba Power BI a dôjde k obnoveniu, zostava zobrazí hodnoty ako True alebo False podľa očakávania.

Screenshot that shows true or false values that use the True/false data type appear as expected after refresh.

Ak to chcete zhrnúť, pri práci s booleovskými údajmi v službe Power BI sa uistite, že stĺpce sú v aplikácii Power BI Desktop nastavené na typ údajov True/False .

Prázdny typ

Prázdna hodnota je typ údajov DAX, ktorý predstavuje a nahrádza hodnoty null SQL. Prázdnu hodnotu môžete vytvoriť pomocou funkcie BLANK a prázdne hodnoty môžete testovať pomocou logickej funkcie ISBLANK .

Binárny typ

Binárny typ údajov môžete použiť na znázornenie akýchkoľvek údajov v binárnom formáte. V Editor Power Query môžete tento typ údajov použiť pri načítavaní binárnych súborov, ak ho skonvertujete na iné typy údajov pred načítaním do modelu Power BI.

Binárne stĺpce nie sú podporované v dátovom modeli Power BI. Binárny výber existuje v ponukách Zobrazenie údajov a Zobrazenie zostavy z starších dôvodov, ale ak sa pokúsite načítať binárne stĺpce do modelu Power BI, môžu sa vyskytnúť chyby.

Poznámka

Ak je binárny stĺpec výstupom krokov dotazu, pokus o obnovenie údajov prostredníctvom brány môže spôsobiť chyby. Odporúča sa, aby ste ako posledný krok vo vašich dotazoch explicitne odstránili všetky binárne stĺpce.

Typ tabuľky

DAX používa tabuľkový typ údajov 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 vracajú tabuľku, ktorú potom môžete použiť ako vstup pre ďalšie funkcie.

V niektorých funkciách, ktoré ako vstup vyžadujú tabuľku, môžete zadať výraz, ktorý sa vyhodnotí do tabuľky. Niektoré funkcie vyžadujú odkaz na základnú tabuľku. Informácie o požiadavkách na konkrétne funkcie nájdete v téme Informácie o funkciách jazyka DAX.

Implicitná a explicitná konverzia typu údajov

Každá funkcia DAX má špecifické požiadavky na typy ú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 ostatné. Iné funkcie vyžadujú text alebo tabuľky.

Ak sú údaje v stĺpci, ktorý zadáte ako argument, nekompatibilné s typom údajov, ktorý funkcia vyžaduje, DAX môže vrátiť chybu. Ak je to však možné, DAX sa pokúsi implicitne konvertovať údaje na požadovaný typ údajov.

Napríklad:

  • Ak zadáte dátum ako reťazec, DAX analyzuje reťazec a pokúsi sa ho pretypovať ako jeden z formátov dátumu a času Windows.
  • Môžete pridať hodnotu TRUE + 1 a získať výsledok 2, pretože jazyk DAX implicitne konvertuje hodnotu TRUE na číslo 1 a vykoná operáciu 1 + 1.
  • Ak pridáte hodnoty v dvoch stĺpcoch s jednou hodnotou vyjadrenou ako text ("12") a druhá ako číslo (12), DAX implicitne konvertuje reťazec na číslo a potom vykoná sčítanie pre číselný výsledok. Výraz = "22" + 22 vráti 44.
  • Ak sa pokúsite zreťaziť dve čísla, DAX ich zobrazí ako reťazce a potom ich zreťazí. Výraz = 12 & 34 vráti hodnotu "1234".

Tabuľky implicitných konverzií údajov

Operátor určuje typ konverzie dax zadaním hodnôt, ktoré vyžaduje pred vykonaním požadovanej operácie. V nasledujúcich tabuľkách sú uvedené operátory a konverzia dax sa vykonáva na každom type údajov, keď spáruje s typom údajov v pretínanej bunke.

Poznámka

Tieto tabuľky neobsahujú typ údajov Text . Ak je číslo zastúpené 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 MENY SKUTOČNÉ Dátum a čas
CELÉ ČÍSLO CELÉ ČÍSLO MENY SKUTOČNÉ Dátum a čas
MENY MENY MENY SKUTOČNÉ Dátum a čas
SKUTOČNÉ SKUTOČNÉ SKUTOČNÉ SKUTOČNÉ Dátum a čas
Dátum a čas Dátum a čas Dátum a čas Dátum a čas Dátum a čas

Napríklad, ak operácia sčítanie používa reálne číslo v kombinácii s údajmi meny, DAX skonvertuje obe hodnoty na REÁLNE ČÍSLO a vráti výsledok ako REÁLNE ČÍSLO.

Odčítanie (-)

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

CELÉ ČÍSLO MENY SKUTOČNÉ Dátum a čas
CELÉ ČÍSLO CELÉ ČÍSLO MENY SKUTOČNÉ SKUTOČNÉ
MENY MENY MENY SKUTOČNÉ SKUTOČNÉ
SKUTOČNÉ SKUTOČNÉ SKUTOČNÉ SKUTOČNÉ SKUTOČNÉ
Dátum a čas Dátum a čas Dátum a čas Dátum a čas Dátum a čas

Ak napríklad operácia odčítania používa dátum s akýmkoľvek iným typom údajov, DAX skonvertuje obe hodnoty na dátumy a vrátená hodnota je tiež dátumom.

Poznámka

Dátové modely podporujú unárny operátor – (záporné), ale tento operátor nezmení typ údajov operandu.

Násobenie (*)

CELÉ ČÍSLO MENY SKUTOČNÉ Dátum a čas
CELÉ ČÍSLO CELÉ ČÍSLO MENY SKUTOČNÉ CELÉ ČÍSLO
MENY MENY SKUTOČNÉ MENY MENY
SKUTOČNÉ SKUTOČNÉ MENY SKUTOČNÉ SKUTOČNÉ

Ak napríklad operácia násobenia skombinuje celé číslo s reálnym číslom, DAX skonvertuje obe čísla na reálne čísla a vrátená hodnota je tiež REÁLNE ČÍSLO.

Delenie (/)

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

CELÉ ČÍSLO MENY SKUTOČNÉ Dátum a čas
CELÉ ČÍSLO SKUTOČNÉ MENY SKUTOČNÉ SKUTOČNÉ
MENY MENY SKUTOČNÉ MENY SKUTOČNÉ
SKUTOČNÉ SKUTOČNÉ SKUTOČNÉ SKUTOČNÉ SKUTOČNÉ
Dátum a čas SKUTOČNÉ SKUTOČNÉ SKUTOČNÉ SKUTOČNÉ

Ak napríklad operácia delenia kombinuje celé číslo s hodnotou meny, DAX skonvertuje obe hodnoty na reálne čísla a výsledok je tiež reálne číslo.

Operátory porovnávania

Vo výrazoch porovnania jazyk DAX berie do úvahy booleovské hodnoty väčšie ako hodnoty reťazcov a hodnoty reťazcov väčšie ako číselné hodnoty alebo hodnoty dátumu a času. Čísla a hodnoty dátumu a času majú rovnaké poradie.

DAX nevykonáva žiadne implicitné konverzie pre booleovské hodnoty alebo hodnoty reťazcov. Blank alebo prázdna hodnota sa konvertuje na 0, "" alebo False, v závislosti od typu údajov druhej porovnávanej hodnoty.

Toto správanie ilustrujú nasledujúce výrazy DAX:

  • =IF(FALSE()>"true","Expression is true", "Expression is false") vráti hodnotu "Výraz je pravdivý".

  • =IF("12">12,"Expression is true", "Expression is false") vráti hodnotu "Výraz je pravdivý".

  • =IF("12"=12,"Expression is true", "Expression is false") vráti hodnotu "Výraz je nepravdivý".

JAZYK DAX vykonáva implicitné konverzie pre číselné typy alebo typy dátumu a času tak, ako je to popísané v nasledujúcej tabuľke:

Porovnanie
Operátor
CELÉ ČÍSLO MENY SKUTOČNÉ Dátum a čas
CELÉ ČÍSLO CELÉ ČÍSLO MENY SKUTOČNÉ SKUTOČNÉ
MENY MENY MENY SKUTOČNÉ SKUTOČNÉ
SKUTOČNÉ SKUTOČNÉ SKUTOČNÉ SKUTOČNÉ SKUTOČNÉ
Dátum a čas SKUTOČNÉ SKUTOČNÉ SKUTOČNÉ Dátum a čas

Prázdne hodnoty, prázdne reťazce a nulové hodnoty

DAX predstavuje hodnotu null, prázdnu hodnotu, prázdnu bunku alebo chýbajúcu hodnotu podľa rovnakého nového typu hodnoty, BLANK. Prázdne hodnoty môžete generovať aj pomocou funkcie BLANK alebo môžete prázdne hodnoty testovať pomocou funkcie ISBLANK.

Spôsob, akým operácie ako sčítanie alebo zreťazenie spracúvať prázdne hodnoty, závisí od jednotlivých funkcií. V nasledujúcej tabuľke sú zhrnuté rozdiely medzi tým, ako vzorce DAX a Microsoft Excel spracúvali prázdne hodnoty.

Expression DAX Excel
PRÁZDNE + PRÁZDNE BLANK 0 (nula)
PRÁZDNE + 5 5 5
PRÁZDNE * 5 BLANK 0 (nula)
5/PRÁZDNE Infinity Error
0/PRÁZDNE NaN Error
PRÁZDNE/PRÁZDNE BLANK Error
NEPRAVDA ALEBO PRÁZDNE FALSE FALSE
NEPRAVDA A PRÁZDNE FALSE FALSE
TRUE ALEBO BLANK TRUE TRUE
TRUE A BLANK FALSE TRUE
PRÁZDNE ALEBO PRÁZDNE BLANK Error
PRÁZDNE A PRÁZDNE BLANK Error

Pomocou aplikácie Power BI Desktop a údajov môžete vykonávať najrôznejšie činnosti. Ďalšie informácie o možnostiach služby Power BI nájdete v týchto zdrojoch: