Datové typy v Power BI Desktopu

Tento článek popisuje datové typy, které Power BI Desktop a DAX (Data Analysis Expressions) podporují.

Když Power BI načte data, pokusí se převést datové typy zdrojových sloupců na datové typy, které podporují efektivnější úložiště, výpočty a vizualizaci dat. Pokud například sloupec hodnot importovaných z Excelu neobsahuje žádné desetinné hodnoty, Power BI Desktop převede datový sloupec na datový typ Kdo le číslování, který je vhodnější pro ukládání celých čísel.

Tento koncept je důležitý, protože některé funkce DAX mají speciální požadavky na datový typ. V mnoha případech jazyk DAX implicitně převádí datové typy, ale v některých případech ne. Pokud například funkce DAX vyžaduje datový typ Date , ale datový typ pro sloupec je Text, funkce DAX nebude správně fungovat. Proto je důležité a užitečné použít pro sloupce správné datové typy.

Určení a určení datového typu sloupce

V Power BI Desktopu můžete určit a zadat datový typ sloupce v Editor Power Query, v zobrazení dat nebo v zobrazení sestavy:

  • V Editor Power Query vyberte sloupec a potom ve skupině Transformace na pásu karet vyberte datový typ.

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

  • V zobrazení dat nebo v zobrazení sestavy vyberte sloupec a pak vyberte šipku rozevíracího seznamu vedle datového typu na kartě Nástroje sloupce na pásu karet.

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

Rozevírací seznam Datový typ v Editor Power Query obsahuje dva datové typy, které nejsou k dispozici v zobrazení dat nebo v zobrazení sestavy: datum, čas a časové pásmo a doba trvání. Když načtete sloupec s těmito datovými typy do modelu Power BI, sloupec datum/čas/časové pásmo se převede na datový typ Datum a čas a sloupec Doba trvání se převede na datový typ Desetinné číslo .

Datový typ Binary není podporován mimo Editor Power Query. V Editor Power Query můžete datový typ Binary použít při načítání binárních souborů, pokud ho převedete na jiné datové typy, než ho načtete do modelu Power BI. Binární výběr existuje v nabídkách Zobrazení dat a Zobrazení sestavy ze starších důvodů, ale pokud se pokusíte načíst binární sloupce do modelu Power BI, může docházet k chybám.

Číselné typy

Power BI Desktop podporuje tři typy čísel: desetinné číslo, pevné desetinné číslo a číslo Kdo le.

Pomocí vlastnosti Sloupec DataType tabulkového objektového modelu (TOM) můžete určit DataType výčty pro číselné typy. Další informace o programové úpravě objektů v Power BI najdete v tématu Programování sémantických modelů Power BI pomocí tabulkového objektového modelu.

Desetinné číslo

Desetinné číslo je nejběžnější typ čísla a dokáže zpracovat čísla s desetinnými hodnotami a celými čísly. Desetinné číslo představuje 64bitová (osmibajtů) čísla s plovoucí desetinnou čárkou se 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 jako 34, 34,01 a 34,000367063 jsou platná desetinná čísla.

Nejvyšší přesnost, kterou může typ desetinného čísla představovat, je 15 číslic. Oddělovač desetinných míst může nastat kdekoli v čísle. Tento typ odpovídá tomu, jak Excel ukládá čísla, a TOM určuje tento typ jako DataType.Double výčet.

Pevné desetinné číslo

Datový typ Pevné desetinné číslo má pevné umístění oddělovače desetinných míst. Oddělovač desetinných míst má vždy čtyři číslice vpravo a umožňuje 19 číslic významnosti. Největší hodnota, kterou může číslo s pevným počtem desetinných míst představovat, je kladné nebo záporné 922 337 203 685 477,5807.

Typ čísla s pevným počtem desetinných míst je užitečný v případech, kdy může zaokrouhlování zavádět chyby. Čísla s malými desetinnými hodnotami se někdy můžou hromadit a vynutit, aby číslo bylo mírně nepřesné. Typ pevného desetinného čísla vám pomůže vyhnout se těmto druhům chyb zkrácením hodnot za čtyři číslice napravo od oddělovače desetinných míst.

Tento datový typ odpovídá desetinným místům SQL Serveru (19,4) nebo datovému typu Měna ve službě Analysis Services a Power Pivotu v Excelu. Tom určuje tento typ jako DataType.Decimal výčet.

Celé číslo

Kdo le číslo představuje 64bitovou (osmibajtů) celočíselnou hodnotu. Protože se jedná o celé číslo, Kdo le číslo nemá číslice napravo od desetinné čárky. Tento typ umožňuje 19 číslic kladných nebo záporných celých čísel mezi -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 představovat největší možná čísla číselných datových typů.

Stejně jako u typu Pevné desetinné číslo může být Kdo číselný typ užitečný, když potřebujete řídit zaokrouhlování. TOM představuje datový typ Kdo le číslo jako DataType.Int64 výčet.

Poznámka:

Datový model Power BI Desktopu podporuje 64bitové celočíselné hodnoty, ale kvůli omezením JavaScriptu je největší počet vizuálů Power BI bezpečně vyjádřit 9 007 199 254 740 991 (2^53-1). Pokud datový model obsahuje větší čísla, můžete jejich velikost před přidáním do vizuálů zmenšit pomocí výpočtů.

Přesnost výpočtů typu čísel

Hodnoty sloupců datového typu Desetinné číslo jsou uloženy jako přibližné datové typy podle standardu IEEE 754 pro čísla s plovoucí desetinnou čárkou. Přibližné datové typy mají svá omezení přesnosti, protože místo ukládání přesných číselných hodnot mohou ukládat extrémně blízko nebo zaokrouhlené aproximace.

Pokud hodnota s plovoucí desetinnou čárkou nedokáže spolehlivě kvantifikovat počet číslic s plovoucí desetinnou čárkou, může dojít ke ztrátě přesnosti nebo nepřesnosti. Neočekávaná nebo nepřesná výpočet může v některých scénářích vytváření sestav vypadat jako neočekávané nebo nepřesné výsledky výpočtů.

Výpočty porovnání související s rovností mezi hodnotami datového typu Desetinné číslo můžou potenciálně vrátit neočekávané výsledky. Porovnání rovnosti zahrnuje rovná =se , větší než , menší než ><, větší než nebo rovno >=, a menší než nebo rovno <=.

Tento problém je nejvýraznější, když ve výrazu DAX použijete funkci RANKX, která vypočítá výsledek dvakrát, což vede k mírně odlišným číslům. Uživatelé sestavy si nemusí všimnout rozdílu mezi dvěma čísly, ale výsledek pořadí může být výrazně nepřesný. Chcete-li zabránit neočekávaným výsledkům, můžete datový typ sloupce změnit z desetinného čísla na pevné desetinné číslo nebo Kdo le číslo nebo provést vynucené zaokrouhlení pomocí funkce ROUND. Datový typ Pevné desetinné číslo má větší přesnost, protože oddělovač desetinných míst má vždy čtyři číslice vpravo.

Výpočty, které sčítají hodnoty sloupce datového typu Desetinné číslo , můžou vracet neočekávané výsledky. Tento výsledek je s největší pravděpodobností u sloupců, které mají velké objemy kladných i záporných čísel. Výsledek součtu je ovlivněn rozdělením hodnot mezi řádky ve sloupci.

Pokud požadovaný výpočet sčítá většinu kladných čísel před součtem většiny záporných čísel, může velký kladný částečný součet na začátku potenciálně zkosit výsledky. Pokud se při výpočtu přidají vyvážená kladná a záporná čísla, dotaz zachová větší přesnost, a proto vrátí přesnější výsledky. Chcete-li se vyhnout neočekávaným výsledkům, můžete změnit datový typ sloupce z desetinného čísla na číslo s pevným počtem desetinných míst nebo Kdo le číslo.

Typy data a času

Power BI Desktop podporuje v Editor Power Query pět datových typů data a času. Datum /čas/časové pásmo a doba trvání se během načítání převedou do datového modelu Power BI Desktopu. Model podporuje datum a čas nebo můžete hodnoty formátovat jako datum nebo čas nezávisle.

  • Datum a čas představuje hodnotu data a času. Podkladová hodnota data a času je uložena jako typ desetinného čísla , takže můžete převést mezi těmito dvěma typy. Časová část se ukládá jako zlomek na celé násobky 1/300 sekund (3,33 ms). Datový typ podporuje data mezi roky 1900 a 9999.

  • Datum představuje pouze datum bez časového úseku. Datum se převede na model jako hodnota data a času s nulou pro desetinnou hodnotu.

  • Čas představuje jenom čas bez části s datem. Čas se převede na model jako hodnotu data a času bez číslic nalevo od desetinné čárky.

  • Datum/čas/časové pásmo představuje datum a čas UTC s posunem časového pásma a při načtení do modelu se převede na datum a čas . Model Power BI neupravuje časové pásmo na základě umístění nebo národního prostředí uživatele. Hodnota 09:00 načtená do modelu v USA se zobrazí jako 09:00 všude, kde je sestava otevřena nebo zobrazena.

  • Doba trvání představuje dobu a při načtení do modelu se převede na typ Desetinné číslo . Jako typ Desetinné číslo můžete sčítat nebo odčítat hodnoty od hodnot data a času se správnými výsledky a snadno použít hodnoty ve vizualizacích, které zobrazují velikost.

Typ textu

Datový typ Text je datový řetězec znaku Unicode, který může být písmena, číslice nebo kalendářní data reprezentovaná v textovém formátu. Praktický maximální limit délky řetězce je přibližně 32 000 znaků Unicode na základě podkladového modulu Power Query v Power BI a jeho omezení délky textových datových typů. Datové typy textu nad rámec praktického maximálního limitu pravděpodobně způsobí chyby.

Způsob, jakým Power BI ukládá textová data, může způsobit, že se data v určitých situacích budou zobrazovat odlišně. Další části popisují běžné situace, které můžou způsobit, že textová data se mírně změní mezi dotazováním dat v Editor Power Query a jejich načtením do Power BI.

Rozlišování malých a velkých písmen

Modul, který ukládá a dotazuje data v Power BI, nerozlišuje malá a velká písmena a zpracovává různá velká písmena jako stejnou hodnotu. "A" se rovná "a". V Power Query se ale rozlišují malá a velká písmena, kde "A" není totéž jako "a". Rozdíl v rozlišování malých a malých písmen může vést k situacím, kdy se textová data po načtení do Power BI zdánlivě nerozlišují velkými písmeny.

Následující příklad ukazuje data objednávky: Sloupec OrderNo , který je jedinečný pro každou objednávku, a sloupec adresáta , který zobrazuje jméno adresáta zadané ručně v době objednávky. Editor Power Query zobrazuje několik objednávek se stejným Jména adresátů zadaná do systému s různými velkými písmeny.

Screenshot of textual data with various capitalizations in Power Query

Jakmile Power BI načte data, změní se velká písmena duplicitních názvů na kartě Data z původní položky do jedné z variant velká písmena.

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

K této změně dochází, protože Editor Power Query rozlišují malá a velká písmena, takže se data zobrazují přesně tak, jak jsou uložená ve zdrojovém systému. Modul, který ukládá data v Power BI, nerozlišuje malá a velká písmena, takže zachází s malými a velkými písmeny znaku jako shodné. Data Power Query načtená do modulu Power BI se můžou odpovídajícím způsobem měnit.

Modul Power BI vyhodnocuje každý řádek jednotlivě při načítání dat počínaje shora. Pro každý textový sloupec, například Adresát, motor ukládá slovník jedinečných hodnot, aby zlepšil výkon prostřednictvím komprese dat. Modul vidí první tři hodnoty ve sloupci Adresát jako jedinečné a uloží je do slovníku. Proto, že modul nerozlišuje velká a malá písmena, vyhodnotí názvy jako identické.

Motor vidí název "Taina Hasu" jako stejný jako "TAINA HASU" a "Taina HASU", takže tyto varianty neukládá, ale odkazuje na první variantu, která byla uložena. Název "MURALI DAS" se zobrazí velkými písmeny, protože se název zobrazil při prvním vyhodnocení modulu při načítání dat shora dolů.

Tento obrázek znázorňuje proces vyhodnocení:

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

V předchozím příkladu modul Power BI načte první řádek dat, vytvoří slovník adresátů a přidá do něj Taina Hasu . Modul také přidá odkaz na danou hodnotu ve sloupci Adresát v tabulce, kterou načte. Modul dělá totéž pro druhý a třetí řádek, protože tyto názvy nejsou ekvivalentní ostatním, když ignorujete malá a velká písmena.

Pro čtvrtý řádek modul porovná hodnotu s názvy ve slovníku a najde název. Vzhledem k tomu, že motor nerozlišuje malá a velká písmena, "TAINA HASU" a "Taina Hasu" jsou stejné. Modul nepřidá do slovníku nový název, ale odkazuje na existující název. Stejný proces probíhá u zbývajících řádků.

Poznámka:

Vzhledem k tomu, že modul, který ukládá a dotazuje data v Power BI, nerozlišuje velká a malá písmena, je při práci v režimu DirectQuery se zdrojem citlivým na malá a velká písmena zvláštní pozornost. Power BI předpokládá, že zdroj odstranil duplicitní řádky. Vzhledem k tomu, že Power BI nerozlišuje malá a velká písmena, považuje za dvě hodnoty, které se liší pouze u velkých a malých písmen, zatímco zdroj je nemusí považovat za takové. V takových případech není konečný výsledek definován.

Chcete-li se této situaci vyhnout, pokud používáte režim DirectQuery se zdrojem dat citlivým na malá a velká písmena, normalizujete velikost písmen ve zdrojovém dotazu nebo v Editor Power Query.

Úvodní a koncové mezery

Modul Power BI automaticky oříznou všechny koncové mezery, které následují za textovými daty, ale neodebere úvodní mezery, které předchází datům. Abyste se vyhnuli nejasnostem, měli byste při práci s daty, která obsahují úvodní nebo koncové mezery, odebrat mezery na začátku nebo konci textu pomocí funkce Text.Trim . Pokud úvodní mezery neodeberete, relace se nemusí podařit vytvořit kvůli duplicitním hodnotám nebo vizuály můžou vrátit neočekávané výsledky.

Následující příklad ukazuje data o zákaznících: sloupec Name , který obsahuje název zákazníka a indexový sloupec, který je pro každou položku jedinečný. Názvy se zobrazí v uvozovkách, aby bylo jasné. Jméno zákazníka se opakuje čtyřikrát, ale pokaždé s různými kombinacemi úvodních a koncových mezer. K těmto variantám může dojít při ručním zadávání dat v průběhu času.

Řádka Úvodní mezera Koncové mezery Název Index Délka textu
0 Žádný Ne "Dylan Williams" 0 14
2 No Ano "Dylan Williams " 10 15
3 Yes No "Dylan Williams" 20 15
4 Ano Yes " Dylan Williams " 40 16

Ve Editor Power Query se výsledná data zobrazí následujícím způsobem.

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

Když po načtení dat přejdete na kartu Data v Power BI, bude stejná tabulka vypadat jako na následujícím obrázku se stejným počtem řádků jako předtí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 datech ale vrátí jenom dva řádky.

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

Na předchozím obrázku má první řádek celkovou hodnotu 60 pro pole Index , takže první řádek ve vizuálu představuje poslední dva řádky načtených dat. Druhý řádek s hodnotou indexu11 představuje první dva řádky. Rozdíl v počtu řádků mezi vizuálem a tabulkou dat je způsoben automatickým odebráním nebo oříznutím koncových mezer, ale ne úvodními mezerami. Modul proto vyhodnotí první a druhý řádek a třetí a čtvrtý řádek jako stejný a vizuál vrátí tyto výsledky.

Toto chování může také způsobit chybové zprávy související s relacemi, protože jsou zjištěny duplicitní hodnoty. Například v závislosti na konfiguraci relací se může zobrazit chyba podobná následujícímu obrázku:

Screenshot of an error message about duplicate values.

V jiných situacích možná nebudete moct vytvořit relaci M:1 nebo 1:1, protože se zjistí 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.

Tyto chyby můžete vysledovat zpět na úvodní nebo koncové mezery a vyřešit je pomocí funkce Text.Trim nebo Střih v části Transformace a odebrat mezery v Editor Power Query.

True/false – typ

Datový typ True/false je logická hodnota true nebo false. Nejlepších a nejkonzistence výsledků dosáhnete, když do Power BI načtete sloupec, který obsahuje logické hodnoty true/false, nastavte typ sloupce na True/False.

Power BI v určitých situacích převádí a zobrazuje data odlišně. Tato část popisuje běžné případy převodu logických hodnot a způsob, jak řešit převody, které v Power BI vytvářejí neočekávané výsledky.

V tomto příkladu načtete data o tom, jestli se vaši zákazníci zaregistrovali k vašemu bulletinu. Hodnota TRUE označuje, že se zákazník zaregistroval k bulletinu a hodnota NEPRAVDA znamená, že se zákazník nezaregistroval.

Při publikování sestavy do služba Power BI se ve sloupci stavu registrace bulletinu místo očekávaných hodnot PRAVDA nebo NEPRAVDA zobrazuje hodnota 0 a -1. Následující kroky popisují, jak k tomuto převodu dochází a jak tomu zabránit.

Zjednodušený dotaz pro tuto tabulku se zobrazí na následujícím obrázku:

Screenshot that shows columns set to Boolean.

Datový typ sloupce Odběr bulletinu je nastavený na Hodnotu Any a v důsledku toho Power BI načte data do modelu jako text.

Screenshot showing the data loaded into Power BI.

Když přidáte jednoduchou vizualizaci, která zobrazuje podrobné informace pro jednotlivé zákazníky, zobrazí se data ve vizuálu podle očekávání, a to jak v Power BI Desktopu, tak při publikování do služba Power BI.

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

Když ale aktualizujete sémantický model v služba Power BI, sloupec Odebíraný bulletin ve vizuálech zobrazí hodnoty jako -1 a 0 místo jejich zobrazení jako PRAVDA nebo NEPRAVDA:

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

Pokud sestavu znovu publikujete z Power BI Desktopu, znovu se ve sloupci Přihlásit k odběru bulletinu zobrazí hodnota PRAVDA nebo NEPRAVDA podle očekávání, ale jakmile dojde k aktualizaci v služba Power BI, hodnoty se znovu změní tak, aby zobrazovaly -1 a 0.

Řešením, aby se této situaci zabránilo, je nastavit všechny logické sloupce tak, aby v Power BI Desktopu zadaly hodnotu True nebo False , a znovu publikovat sestavu.

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

Když provedete změnu, vizualizace zobrazí hodnoty ve sloupci Odběr bulletinu mírně jinak. Místo textu, který je velkými písmeny zadaným v tabulce, je pouze první písmeno velkými písmeny. Tato změna je jedním z výsledků změny datového typu sloupce.

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

Jakmile změníte datový typ, znovu publikujte na služba Power BI a dojde k aktualizaci, zobrazí se v sestavě hodnoty True nebo False podle očekávání.

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

Pokud chcete shrnout, při práci s logickými daty v Power BI se ujistěte, že jsou sloupce nastavené na datový typ True/False v Power BI Desktopu.

Prázdný typ

Prázdné je datový typ DAX, který představuje a nahrazuje hodnoty null SQL. Prázdnou hodnotu můžete vytvořit pomocí funkce BLANK a otestovat prázdné hodnoty pomocí logické funkce ISBLANK .

Binární typ

Datový typ Binary můžete použít k reprezentaci všech dat s binárním formátem. V Editor Power Query můžete tento datový typ použít při načítání binárních souborů, pokud ho před načtením do modelu Power BI převedete na jiné datové typy.

Binární sloupce nejsou v datovém modelu Power BI podporované. Binární výběr existuje v nabídkách Zobrazení dat a Zobrazení sestavy ze starších důvodů, ale pokud se pokusíte načíst binární sloupce do modelu Power BI, může docházet k chybám.

Poznámka:

Pokud je binární sloupec ve výstupu kroků dotazu, může pokus o aktualizaci dat prostřednictvím brány způsobit chyby. Jako poslední krok v dotazech doporučujeme explicitně odebrat všechny binární sloupce.

Typ tabulky

Jazyk DAX používá datový typ tabulky v mnoha funkcích, jako jsou agregace a výpočty časového měřítka. Některé funkce vyžadují odkaz na tabulku. Jiné funkce vrátí tabulku, kterou pak můžete použít jako vstup do jiných funkcí.

V některých funkcích, které jako vstup vyžadují tabulku, můžete zadat výraz, který se vyhodnotí jako tabulka. Některé funkce vyžadují odkaz na základní tabulku. Informace o požadavcích konkrétních funkcí najdete v referenčních informacích k funkcím jazyka DAX.

Implicitní a explicitní převod datového typu

Každá funkce DAX má specifické požadavky na typy dat, které se mají použít jako vstupy a výstupy. Některé funkce například vyžadují celá čísla pro některé argumenty a kalendářní data pro jiné. Jiné funkce vyžadují text nebo tabulky.

Pokud jsou data ve sloupci, který zadáte jako argument, nekompatibilní s datovým typem, který funkce vyžaduje, může jazyk DAX vrátit chybu. Kdykoli je to ale možné, daX se pokusí implicitně převést data na požadovaný datový typ.

Příklad:

  • Pokud zadáte datum jako řetězec, jazyk DAX řetězec analyzuje a pokusí se ho přetypovat jako jeden z formátů data a času systému Windows.
  • Můžete přidat hodnotu PRAVDA + 1 a získat výsledek 2, protože DAX implicitně převede hodnotu PRAVDA na číslo 1 a provede operaci 1+1.
  • Pokud přidáte hodnoty do dvou sloupců s jednou hodnotou reprezentovanou jako text ("12") a druhou jako číslo (12), jazyk DAX implicitně převede řetězec na číslo a pak provede sčítání číselného výsledku. Výraz = "22" + 22 vrátí hodnotu 44.
  • Pokud se pokusíte zřetězení dvou čísel, daX je zobrazí jako řetězce a zřetězí. Výraz = 12 & 34 vrátí "1234".

Tabulky implicitních převodů dat

Operátor určuje typ převodu jazyka DAX přetypováním požadovaných hodnot před požadovanou operací. Následující tabulky uvádějí operátory a jazyk DAX převodu provede u každého datového typu při párování s datovým typem v protínající buňce.

Poznámka:

Tyto tabulky neobsahují datový typ Text . Pokud je číslo reprezentováno v textovém formátu, v některých případech se Power BI pokusí určit typ čísla a představuje data jako číslo.

Sčítání (+)

CELÉ ČÍSLO MĚNA SKUTEČNÉ Datum/čas
CELÉ ČÍSLO CELÉ ČÍSLO MĚNA SKUTEČNÉ Datum/čas
MĚNY MĚNA MĚNA SKUTEČNÉ Datum/čas
SKUTEČNÉ SKUTEČNÉ SKUTEČNÉ SKUTEČNÉ Datum/čas
Datum a čas Datum/čas Datum/čas Datum/čas Datum/čas

Pokud například operace sčítání používá reálné číslo v kombinaci s daty měny, jazyk DAX převede obě hodnoty na REAL a vrátí výsledek jako REAL.

Odčítání (-)

V následující tabulce je záhlaví řádku minuend (levá strana) a záhlaví sloupce je podtržení (pravá strana).

CELÉ ČÍSLO MĚNA SKUTEČNÉ Datum/čas
CELÉ ČÍSLO CELÉ ČÍSLO MĚNA SKUTEČNÉ SKUTEČNÉ
MĚNY MĚNA MĚNA SKUTEČNÉ SKUTEČNÉ
SKUTEČNÉ SKUTEČNÉ SKUTEČNÉ SKUTEČNÉ SKUTEČNÉ
Datum a čas Datum/čas Datum/čas Datum/čas Datum/čas

Pokud například operace odčítání používá datum s jakýmkoli jiným datovým typem, jazyk DAX převede obě hodnoty na kalendářní data a vrácenou hodnotu je také datum.

Poznámka:

Datové modely podporují unární operátor – (záporné), ale tento operátor nemění datový typ operandu.

Násobení (*)

CELÉ ČÍSLO MĚNA SKUTEČNÉ Datum/čas
CELÉ ČÍSLO CELÉ ČÍSLO MĚNA SKUTEČNÉ CELÉ ČÍSLO
MĚNY MĚNA SKUTEČNÉ MĚNA MĚNA
SKUTEČNÉ SKUTEČNÉ MĚNA SKUTEČNÉ SKUTEČNÉ

Pokud například operace násobení kombinuje celé číslo se skutečným číslem, jazyk DAX převede obě čísla na reálná čísla a vrácená hodnota je také REAL.

Dělení (/)

V následující tabulce je záhlaví řádku čitatelem a záhlaví sloupce je jmenovatelem.

CELÉ ČÍSLO MĚNA SKUTEČNÉ Datum/čas
CELÉ ČÍSLO SKUTEČNÉ MĚNA SKUTEČNÉ SKUTEČNÉ
MĚNY MĚNA SKUTEČNÉ MĚNA SKUTEČNÉ
SKUTEČNÉ SKUTEČNÉ SKUTEČNÉ SKUTEČNÉ SKUTEČNÉ
Datum a čas SKUTEČNÉ SKUTEČNÉ SKUTEČNÉ SKUTEČNÉ

Pokud například operace dělení kombinuje celé číslo s hodnotou měny, jazyk DAX převede obě hodnoty na reálná čísla a výsledek je také reálné číslo.

Operátory porovnání

Ve porovnávacích výrazech daX považuje logické hodnoty větší než řetězcové hodnoty a řetězcové hodnoty větší než číselné nebo hodnoty data a času. Čísla a hodnoty data a času mají stejné pořadí.

JAZYK DAX neprovádí žádné implicitní převody logických nebo řetězcových hodnot. BLANK nebo prázdná hodnota se v závislosti na datovém typu druhé porovnávané hodnoty převede na hodnotu 0, "" nebo Nepravda.

Toto chování ilustrují následující výrazy jazyka DAX:

  • =IF(FALSE()>"true","Expression is true", "Expression is false") vrátí výraz "Expression is true".

  • =IF("12">12,"Expression is true", "Expression is false") vrátí výraz "Expression is true".

  • =IF("12"=12,"Expression is true", "Expression is false") vrátí výraz "Expression is false".

Jazyk DAX provádí implicitní převody číselných nebo datových a časových typů, jak popisuje následující tabulka:

Porovnání
Operátor
CELÉ ČÍSLO MĚNA SKUTEČNÉ Datum/čas
CELÉ ČÍSLO CELÉ ČÍSLO MĚNA SKUTEČNÉ SKUTEČNÉ
MĚNY MĚNA MĚNA SKUTEČNÉ SKUTEČNÉ
SKUTEČNÉ SKUTEČNÉ SKUTEČNÉ SKUTEČNÉ SKUTEČNÉ
Datum a čas SKUTEČNÉ SKUTEČNÉ SKUTEČNÉ Datum a čas

Prázdné hodnoty, prázdné řetězce a nulové hodnoty

JAZYK DAX představuje hodnotu null, prázdnou hodnotu, prázdnou buňku nebo chybějící hodnotu stejného nového typu hodnoty BLANK. Prázdné hodnoty můžete také vygenerovat pomocí funkce BLANK nebo otestovat prázdné hodnoty pomocí funkce ISBLANK.

Způsob, jakým operace, jako je přidání nebo zřetězení, závisí na jednotlivých funkcích. Následující tabulka shrnuje rozdíly mezi tím, jak vzorce DAX a Microsoft Excel zpracovávají prázdné hodnoty.

Výraz DAX Aplikace Excel
BLANK +BLANK Prázdná hodnota 0 (nula)
BLANK +5 5 5
BLANK * 5 Prázdná hodnota 0 (nula)
5/BLANK Infinity Chyba
0/BLANK Není číslo Chyba
BLANK/BLANK Prázdná hodnota Chyba
NEPRAVDA NEBO PRÁZDNÉ FALSE FALSE
NEPRAVDA A PRÁZDNÉ FALSE FALSE
PRAVDA NEBO PRÁZDNÉ TRUE TRUE
PRAVDA A PRÁZDNÉ FALSE TRUE
PRÁZDNÉ NEBO PRÁZDNÉ Prázdná hodnota Chyba
PRÁZDNÉ A PRÁZDNÉ Prázdná hodnota Chyba

S Power BI Desktopem a daty můžete dělat nejrůznější věci. Další informace o možnostech Power BI najdete v následujících zdrojích informací: