Vytváření řetězců dynamického formátu pro míry
PLATÍ PRO: Power BI Desktop služba Power BI
S řetězci dynamického formátu pro míry můžete určit, jak se míry zobrazují ve vizuálech podmíněným použitím řetězce formátu s samostatným výrazem DAX.
Poznámka:
Řetězce dynamického formátu pro míry jsou aktuálně ve verzi Preview. Ve verzi Preview se pravděpodobně změní funkce a dokumentace.
Řetězce dynamického formátu překonaly základní nevýhodu použití funkce FORMAT. To znamená, že u funkce FORMAT se vrátí i číselné datové typy jako řetězec, který nemusí pracovat s vizuály, které vyžadují číselné hodnoty, jako jsou grafy. Při použití řetězců dynamického formátu míra zachová svůj datový typ a není nucena změnit na datový typ řetězce. V závislosti na kontextu se na míru použijí různé formátovací řetězce.
Řetězce dynamického formátu lze také použít se skupinami výpočtů. Stejné vzory JAZYKA DAX, které pracují se skupinami výpočtů, je možné použít také v řetězcích dynamického formátu pro míry, ale rozsah je omezený na jednotlivé míry místo všech měr v modelu. Další informace najdete v tématu Skupiny výpočtů – řetězce dynamického formátu.
Vytváření řetězců dynamického formátu
Vytvoření řetězce dynamického formátu
V podokně Data vyberte míru, pro kterou chcete zadat řetězec dynamického formátu.
Na pásu karet Nástroje měr na pásu karet >Formátování oddílu> Formát seznamu Formát vyberte Dynamické. Nalevo od řádku vzorců DAX se zobrazí nový seznam s vybranou možností Formát . V tomto rozevíracím seznamu můžete přepínat mezi výrazem DAX statické míry a výrazem DAX řetězce dynamického formátu. Před přepnutím na dynamický formát je před přepnutím na dynamický řetězec předem vyplněný jako řetězec v řádku vzorců DAX.
Přepište řetězec výrazem DAX, který vypíše správný formátovací řetězec pro vaši míru. Například následující výraz vyhledá řetězec formátu měny, který chceme, z tabulky Řetězce formátu země:
Ověřte, že řetězec dynamického formátu funguje ve vizuálu.
Pokud chcete odstranit řetězec dynamického formátu a vrátit se k použití řetězce statického formátu, vyberte v seznamu Formát oddílu>Formátování jinou možnost formátu. Vzhledem k tomu, že tato akce není vrácena zpět, zobrazí se dialogové okno s dotazem, jestli chcete pokračovat. Pokud se chcete znovu vrátit k použití řetězce dynamického formátu, musíte znovu zadat výraz DAX.
Příklad
Nejlepším způsobem, jak se dozvědět o nové funkci, je vyzkoušet si ji sami. Můžete to udělat jenom pomocí ukázkového souboru Adventure Works 2020 PBIX , který je k dispozici v ukázkovém modelu DAX. Pomocí ukázkového modelu můžete přidat převod měny a zobrazit převedenou částku prodeje po roce. Po stažení otevřete soubor v Power BI Desktopu.
Vytvoření nových tabulek
Ukázkový model neobsahuje všechna data potřebná k vytvoření a použití řetězců dynamického formátu. Abyste mohli začít, musíte nejdřív přidat dvě tabulky.
Na pásu karet Domů vyberte Zadat data.
V dialogovém okně Vytvořit tabulku zadejte následující název tabulky a zkopírujte a vložte následující tabulku:
Název tabulky: Řetězce formátu země měny
Země Měna Formát Austrálie Dolar AU$#,0,00 Kanada Dolar C$#,0,00 Dánsko Krone kr#,0 Eurozóny Euro € #,0,00 Japonsko Jenů ¶ #,0 Švédsko Koruna kr#,0 Švýcarsko Franc CHF#,0,00 Spojené království Libra £ #,0 USA Dolar US$#,0,00 Ověřte, že tabulka vypadá správně, a klepněte na tlačítko Načíst.
Opakujte předchozí kroky pro následující tabulku:
Název tabulky: Roční průměrné směnné kurzy
Země Měna Year (Rok) Roční průměrný směnný kurz Austrálie Dolar 2022 1.442 Austrálie Dolar 2021 1.332 Austrálie Dolar 2020 1.452 Austrálie Dolar 2019 1.439 Austrálie Dolar 2018 1.34 Austrálie Dolar 2017 1.358 Kanada Dolar 2022 1.301 Kanada Dolar 2021 1.254 Kanada Dolar 2020 1.341 Kanada Dolar 2019 1.327 Kanada Dolar 2018 1.297 Kanada Dolar 2017 1.35 Dánsko Krone 2022 7.077 Dánsko Krone 2021 6.29 Dánsko Krone 2020 6.538 Dánsko Krone 2019 6.67 Dánsko Krone 2018 6.319 Dánsko Krone 2017 6.864 Eurozóny Euro 2022 0.951 Eurozóny Euro 2021 0.846 Eurozóny Euro 2020 0.877 Eurozóny Euro 2019 0.893 Eurozóny Euro 2018 0.848 Eurozóny Euro 2017 0.923 Japonsko Jenů 2022 131.454 Japonsko Jenů 2021 109.817 Japonsko Jenů 2020 106.725 Japonsko Jenů 2019 109.008 Japonsko Jenů 2018 110.424 Japonsko Jenů 2017 116.667 Švédsko Koruna 2022 10.122 Švédsko Koruna 2021 8.584 Švédsko Koruna 2020 9.205 Švédsko Koruna 2019 9.457 Švédsko Koruna 2018 8.703 Švédsko Koruna 2017 8.894 Švýcarsko Franc 2022 0.955 Švýcarsko Franc 2021 0.914 Švýcarsko Franc 2020 0.939 Švýcarsko Franc 2019 0.994 Švýcarsko Franc 2018 0.979 Švýcarsko Franc 2017 1.024 Spojené království Libra 2022 0.811 Spojené království Libra 2021 0.727 Spojené království Libra 2020 0.779 Spojené království Libra 2019 0.784 Spojené království Libra 2018 0.75 Spojené království Libra 2017 0.808
Vytvoření sloupce Year
V existující tabulce kalendářních dat je potřeba nový sloupec Year.
V zobrazení Model klikněte pravým tlačítkem myši na tabulku Kalendářní datum a pak vyberte Nový sloupec.
Do řádku vzorců DAX zadejte následující výraz:
Year = YEAR([Date])
a stiskněte Enter.
Vytvoření vztahů
Relace jsou potřeba mezi tabulkami Řetězců formátu země a ročním průměrným směnným kurzem a tabulkou ročních průměrných směnných kurzů a existující tabulkou Kalendářní data.
Pokud máte automatické rozpoznávání relací, je možné, že pro vás byl vytvořen vztah mezi řetězci formátu země a ročním průměrným směnným kurzemve sloupci Země. Pokud ne, vytvořte tuto relaci:
- Tabulka 1: Roční průměrné směnné kurzy
- Sloupec Tabulka 1: Země
- Kardinalita: M:1
- Tabulka 2: Řetězce formátu země měny
- Sloupec Tabulka 2: Země
- Nastavit tuto relaci jako aktivní: Ano
- Směr křížového filtru: Jednoduché
Relace by měla vypadat takto:
Pokud máte automatické rozpoznávání relací, je možné, že byla vytvořena relace mezi řetězci formátem země a prodejním územím ve sloupci Země. Tento vztah ale není pro náš model správný. V zobrazení modelu odstraňte tuto relaci.
Místo toho vytvořte relaci mezi ročními průměrnými směnnými kurzy a datem ve sloupci Rok .
- Tabulka 1: Roční průměrné směnné kurzy
- Sloupec tabulky 1: Rok
- Kardinalita: M:N
- Tabulka 2: Datum
- Sloupec tabulky 2: Rok
- Nastavit tuto relaci jako aktivní: Ano
- Směr křížového filtru: Single (Roční průměr směnného kurzu) filtry Date (Datum)
Relace by měla vypadat takto:
Uložte model.
Vytvoření tabulky skupin měr
Skupina měr vám pomůže uspořádat různé míry tak, že je budete mít v jedné tabulce.
Na pásu karet Domů vyberte Zadat data.
V dialogovém okně Vytvořit tabulku ponechte hodnoty prázdné. Pojmenujte tabulku Sales measures (Objem prodeje) a potom klikněte na Load (Načíst). Tato tabulka obsahuje vaše nové míry.
Vytvořit míry
V podokně Data rozbalte a klikněte pravým tlačítkem myši na Prodejní míry a pak vyberte Nová míra. Do řádku vzorců DAX zadejte následující výraz DAX a stiskněte Enter:
Sales Amount = SUM(Sales[Sales Amount])
Měl by vypadat takto:
V prodejních mírách klikněte pravým tlačítkem myši na Sloupec1 a pak vyberte Skrýt v zobrazení sestavy. Tím se změní míry Sales na skupinu měr, která se teď zobrazí v horní části podokna Data s ikonou skupiny měr, například takto:
Teď můžete vytvořit míru pro výpočet směnného kurzu. Klikněte pravým tlačítkem myši na Prodejní míry, vyberte Nová míra, do řádku vzorců DAX zadejte následující výraz a stiskněte Enter:
Exchange Rate (Yearly Avg) = IF ( ISBLANK ( SELECTEDVALUE ( 'Country Currency Format Strings'[Country] ) ) || SELECTEDVALUE ( 'Country Currency Format Strings'[Country] ) = "United States", 1, AVERAGE ( 'Yearly Average Exchange Rates'[Yearly Average Exchange Rate] ) )
Měl by vypadat takto:
Teď vytvoříte další míru, která převede míru Sales Amount na jiné měny. Klikněte pravým tlačítkem myši na Prodejní míry, vyberte Nová míra, do řádku vzorců DAX zadejte následující výraz a stiskněte Enter:
Converted Sales Amount = SUMX('Date', CALCULATE( [Sales Amount] * [Exchange Rate (Yearly Avg)]))
Skupina měr Sales by teď měla vypadat takto:
Vytvoření sestavy
Přejděte do zobrazení Sestava. Přidejte do sestavy novou prázdnou stránku.
Přidejte vizuál spojnicového grafu na novou stránku sestavy. Tento vizuál použijete k zobrazení míry před přidáním řetězce dynamického formátu měr.
V podokně >Data – Míry Prodeje vyberte Converted Sales Amount (Převedená částka prodeje). Bez kliknutí na jiné místo vyberte v tabulce Datum také možnost Rok.
Zkopírujte a vložte vizuál, abyste měli dva vizuály spojnicového grafu. Změňte vizuál druhého spojnicového grafu na vizuál tabulky a pak ho přesuňte pod spojnicový graf, například takto:
Přidejte vizuál průřezu na stránku sestavy. Na pásu karet Formát přidejte do průřezu zemi z tabulky Řetězce formátu země.
Přeuspořádejte vizuály, dokud nebudou mít lepší rozložení, například takto:
I když to není nutné, můžete změnit vlastnosti vizuálu, aby se sestava zpříjemnila:
Průřez
- Nastavení průřezu: Jeden výběr
- Velikost a styl, odsazení: 10 px, všechny hrany
- Velikost a styl, vizuální ohraničení: světle šedá, 10 pixelů zaoblené rohy
- Nastavení průřezu, styl: Dlaždice
- Záhlaví průřezu: Vypnuto
- Hodnoty, ohraničení: Vlevo, #333333, šířka 6 čar
Table
- Velikost a styl, odsazení: 10 px, všechny hrany
- Velikost a styl, vizuální ohraničení: světle šedá, 10 pixelů zaoblené rohy
- Mřížka, Vodorovná mřížka: Bílá, Šířka 2
- Mřížka, Svislá mřížka: Bílá, Šířka 2
- Mřížka, ohraničení: bílá
- Mřížka, Možnosti: 2 řádky odsazení
- Hodnoty, Hodnoty: Barva pozadí #F6F4F4
- Hodnoty, Hodnoty: Alternativní barva pozadí #F6F4F4
- Záhlaví sloupců, Text: Tučné, Barva textu bílá, Barva pozadí #0D6ABF
Čárový graf
- Velikost a styl, odsazení: 10 px, všechny hrany
- Velikost a styl, vizuální ohraničení: světle šedá, 10 pixelů zaoblené rohy
- Název, podnadpis: Zapnuto
- Osa Y, Název: Vypnuto
- Osa Y: Vypnuto
- Značky: Zapnuto
- Popisky dat: Zapnuto
- Popisky dat, hodnoty: tučné, modré
Plátno (volitelné)
- Pozadí plátna: světle šedá, 85% průhlednost
S těmito vlastnostmi vizuálu získáte pěknou stránku sestavy, například takto:
Vytvoření řetězce dynamického formátu
Výběrem různých názvů zemí v průřezu se zobrazí výsledek míry Převedená částka prodeje ve vizuálech, ale ne ve správném formátu pro danou zemi nebo oblast.
V podokně >Data – Míry Prodeje vyberte Converted Sales Amount (Převedená částka prodeje).
Na pásu karet Nástroje měr klikněte na rozevírací seznam Formát a pak vyberte Dynamické.
Rozevírací seznam vlevo od řádku vzorců by teď měl obsahovat formátovací řetězec a vzorec v řádku vzorců by měl mít formátovací řetězec. Nahraďte formátovací řetězec následujícím výrazem DAX a stiskněte Enter:
SELECTEDVALUE ( 'Country Currency Format Strings'[Format], "\$#,0.00;(\$#,0.00);\$#,0.00" )
Měl by vypadat takto:
Vyberte v průřezu jinou zemi. Vizuály tabulkového a spojnicového grafu by teď měly zobrazovat převedenou částku měny ve správném formátu pro danou zemi nebo oblast. Zkuste v průřezu vybrat jinou zemi nebo oblast, abyste viděli, jak se vizuály mění.
Uložte model.
Známé problémy a důležité informace
Ve verzi Preview se řeší následující problémy a omezení:
Vizuály mají možnosti formátování, které můžou ovlivnit zobrazení řetězce formátu. Pokud se formátování ve vizuálu neočekávaně zobrazuje, přejděte na možnosti Formát vizuálu, vyhledejte jednotky zobrazení a změňte ho z možnosti Automaticky na Žádné.
Na samotnou míru lze odkazovat přímo v řetězci dynamického formátu pomocí názvu, například [Míra A], nebo nepřímo pomocí
SELECTEDMEASURE()
.Řetězce dynamického formátu pro míry jsou určené pouze pro míry modelu. Míry sestavy, které je možné přidat do sestavy živého připojení, nemůžou mít řetězce dynamického formátu pro míry.
Když u DirectQuery pro Analysis Services kliknete na Provést změny v tomto modelu v sestavě živého připojení, přesune se připojení k DirectQuery přes Analysis Services. Obecně můžete provádět změny formátových řetězců měr vzdáleného modelu. Během období Preview:
- Míry vzdáleného modelu s definovanými řetězci dynamického formátu jsou blokované v provádění změn řetězce formátu na řetězec statického formátu nebo jiného výrazu DAX řetězce dynamického formátu.
- Míry vzdáleného modelu nelze změnit z řetězce statického formátu na výraz DAX dynamického formátu definovaného v místním modelu.
- Míry místního modelu jsou pro míry blokované pomocí řetězců dynamického formátu.