Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
PLATÍ PRO: Power BI Desktop
služba Power BI
Pomocí řetězců dynamického formátu měr můžete řídit, jak se míry zobrazují ve vizuálech. Podmíněně použijte formátovací řetězec pomocí samostatného vzorce DAX (Data Analysis Expression).
Poznámka:
Řetězce dynamického formátování měr jsou k dispozici v Power BI Desktop a Power BI Report Server (leden 2025 a později). Pokud používáte Power BI Report Server, ujistěte se, že máte nejnovější verzi nainstalovanou. Další informace najdete v tématu Co je nového na Serveru sestav Power BI.
Řetězce dynamického formátu řeší problém s funkcí FORMAT. Funkce FORMAT vrátí všechny výsledky jako řetězce, a to i číselné datové typy. Toto chování může způsobit problémy s vizuály, jako jsou grafy, které potřebují číselné hodnoty.
Pokud používáte řetězce dynamického formátu, míra zachová svůj datový typ a nezmění se na datový typ řetězce. Na míru použijete různé formátovací řetězce v závislosti na kontextu.
Můžete také použít řetězce dynamického formátu se skupinami výpočtů. Stejné vzory DAX, které pracují se skupinami výpočtů, fungují také v řetězcích dynamického formátu pro míry. Rozsah je však omezen na jednotlivé míry namísto všech měr v modelu. Další informace naleznete v tématu Skupiny výpočtů – řetězce dynamického formátu.
Vytváření řetězců 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 v části Formátování vyberte v seznamu Formát možnost Dynamic. Nalevo od řádku vzorců DAX se zobrazí nový rozevírací 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. Řetězec statického formátu, který jste použili před přepnutím na Dynamický, je předvyplněn jako řetězec v řádku vzorců DAX.
Použijte hodnotu textového pole
Při práci s textovými poli v sestavách můžete zobrazit hodnoty měr s dynamickým formátováním. Použít hodnotu textového pole:
Vyberte textové pole v sestavě.
V podokně Formát v části Hodnoty vyberte tlačítko pole (ikona fx).
Zvolte metriku, která má použitý řetězec dynamického formátu.
V textovém poli se zobrazí měřená hodnota s použitím dynamického formátovacího řetězce.
Další informace o textových polích a dynamickém obsahu najdete v tématu Přidání textových polí a obrazců do sestav Power BI.
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 pro formát měny, který chcete, z tabulky Řetězce formátů měn dle země/oblasti:
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 rozevíracím 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 přidat dvě tabulky.
Na pásu karet Domů vyberte Zadat data.
V dialogovém okně Vytvořit tabulku zadejte řetězce formátu měny země/oblasti do pole Název a pak zkopírujte a vložte následující tabulku:
Country/Region Měna Formát Austrálie Dolar AU$#,0,00 Kanada Dolar C$#,0,00 Dánsko Koruna kr#,0 Eurozóny Euro € #,0,00 Japonsko Jen ¶ #,0 Švédsko Koruna kr#,0 Švýcarsko Frank CHF#,0,00 Spojené království Bušit £ #,0 USA Dolar US$#,0,00 Ověřte, že tabulka vypadá správně, a vyberte Načíst.
Opakujte předchozí kroky pro následující tabulku:
Název tabulky: Roční průměrné směnné kurzy
Country/Region 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 Koruna 2022 7.077 Dánsko Koruna 2021 6.29 Dánsko Koruna 2020 6.538 Dánsko Koruna 2019 6.67 Dánsko Koruna 2018 6.319 Dánsko Koruna 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 Frank 2022 0.955 Švýcarsko Frank 2021 0.914 Švýcarsko Frank 2020 0.939 Švýcarsko Frank 2019 0.994 Švýcarsko Frank 2018 0.979 Švýcarsko Frank 2017 1.024 Spojené království Bušit 2022 0.811 Spojené království Bušit 2021 0.727 Spojené království Bušit 2020 0.779 Spojené království Bušit 2019 0.784 Spojené království Bušit 2018 0.75 Spojené království Bušit 2017 0.808
Vytvoření sloupce Year
Přidejte nový sloupec Rok do existující tabulky Kalendářní data.
V zobrazení modelu klikněte pravým tlačítkem myši na tabulku Kalendářní datum a vyberte Nový sloupec.
Do řádku vzorců DAX zadejte následující výraz:
Year = YEAR([Date])a stiskněte Enter.
Vytvoření vztahů
Vytvořte relace mezi novou tabulkou Roční průměrné směnné kurzy a tabulkami Formát měny země/oblasti a mezi tabulkou Roční průměrné směnné kurzy a existující tabulkou Datum.
Pokud pro relace zapnete automatické rozpoznávání (na kartě Nástroje sloupce vyberte Spravovat relace a pak vyberte Automatické rozpoznávání), může se pro vás vytvořit relace mezi řetězci formátu měny země/oblasti a ročním průměrným směnným kurzem ve sloupci Země/oblast . Pokud ne, vytvořte tuto relaci pomocí tlačítka Nová relace v nástrojích> SloupcůSpravovat relace:
- Tabulka 1: Roční průměrné směnné kurzy
- Sloupec tabulky 1: Země/oblast
- Kardinalita: M:1
- Tabulka 2: Řetězce formátu měny země/oblasti
- Sloupec Tabulka 2: Země/oblast
- Nastavit tuto relaci jako aktivní: Ano
- Směr křížového filtru: Jednoduché
Relace by měla vypadat takto:
Pokud pro relace zapnete automatické rozpoznávání, může být vytvořena relace mezi řetězci formátu měny Země/oblast a prodejní oblastí ve sloupci Země/oblast. Odstraňte tuto relaci, protože není správná pro model.
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: Jednosměrný ('Roční průměr směnného kurzu' filtruje '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 metriky a pak vyberte 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 na Sloupec1 a vyberte Skrýt v zobrazení sestavy. Díky této změně se míry Sales stanou skupinou měr, která se teď zobrazí v horní části podokna Data s ikonou skupiny měr, jako zde:
Teď můžete vytvořit míru pro výpočet směnného kurzu. Pravým tlačítkem myši klikněte 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/Region Currency Format Strings'[Country/Region] ) ) || SELECTEDVALUE ( 'Country/Region Currency Format Strings'[Country/Region] ) = "United States", 1, AVERAGE ( 'Yearly Average Exchange Rates'[Yearly Average Exchange Rate] ) )Teď vytvořte další míru, která převede míru Sales Amount na jiné měny. Pravým tlačítkem myši klikněte 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)]))
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. Použijte tento vizuál k zobrazení metriky před přidáním dynamického formátovacího řetězce pro metriky.
V podokně > – Míry Prodeje vyberte Converted Sales Amount (Převedená částka prodeje). Aniž byste vybírali kdekoli jinde, vyberte v tabulce Datum také 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:
Výběrem řezatele seznamu v podokně Vizualizací přidejte vizuál řezatele seznamu na stránku reportu. V podokně Data vyberte Zemi/Oblast z tabulky Řetězce formátu měny země/oblasti a přidejte ji do průřezu.
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 a vytvořit tak přehlednější sestavu. Pomocí tlačítka Formát vizuálu v podokně Vizualizace proveďte následující změny:
Slicer
- Vizuál karta >Nastavení sliceru>Jednotlivý výběr>zapnuto
- Obecná karta >Vlastnosti>Odsazení: 10 px, všechny hrany
- Obecná karta >Efekty>Vizuální okraj: Zapnuto, světle šedá, zaoblené rohy o 10 pixelech
- Obecné karta >Název: Vypnuto
- Vizuál záložka >Tlačítka>Ohraničení: #333333, 6 čar šířka
tabulka
- Obecná karta >Vlastnosti>Odsazení: 10 px, všechny hrany
- Obecná karta >Efekty>Vizuální okraj: Zapnuto, světle šedá, zaoblené rohy o 10 pixelech
- Karta Vizuál>mřížka> vodorovných mřížek: Zapnuto, Bílá, šířka 2
- Vizuální karta>>: Zapnuto, Bílé, šířka 2
Vizuální záložka Mřížka Ohraničení : bílý- Vizualizace>mřížky>Možnosti: 2 řádky odsazení
- Vizuál kartě >Hodnoty>Barva pozadí: #F6F4F4
- Vizuál karta >Hodnoty>Alternativní barva pozadí: #F6F4F4
- Vizuální> karta Záhlaví sloupců:> Tučný text, Barva textu bílá, Barva pozadí #0D6ABF
Spojnicový graf
- Obecná karta >Vlastnosti>Odsazení: 10 px, všechny hrany
- Obecná karta >Efekty>Vizuální ohraničení: Zapnuto, světle šedá, rohy zaoblené na 10 pixelů
- Karta obecné>Vlastnosti>Název>Podnázev: Zapnuto
- Vizuální karta >Osa Y >Název: Vypnuto
- Vizuál karta >Y-osy>Hodnoty: Vypnuto
- Vizualizace karet >značky: Zapnuto
- Vizuál karta >Popisky dat: Zapnuto
- Vizuální karta >Popisky dat>Hodnota: Tučně, modře
Plátno (volitelné)
- Nastavení> plátnaPozadí plátna: světle šedá, 85% průhlednost
Použitím těchto vlastností vizuálu vytvoříte stránku sestavy, která vypadá takto:
Vytvoření řetězce dynamického formátu
Když v průřezu vyberete jiné názvy zemí/oblastí, grafy zobrazí výsledek metriky Převedená prodejní částka, ale ne ve správném formátu pro danou zemi/oblast.
V podokně Data v části Míry Prodeje vyberte Převedená částka prodeje.
Na pásu karet Nástroje měr v rozevíracím seznamu Formát vyberte Dynamický.
V rozevíracím seznamu nalevo od řádku vzorců je teď text Formát a vzorec v řádku vzorců má formátovací řetězec. Nahraďte formátovací řetězec následujícím výrazem DAX a stiskněte Enter:
SELECTEDVALUE ( 'Country/Region Currency Format Strings'[Format], "\$#,0.00;(\$#,0.00);\$#,0.00" )Měl by vypadat takto:
V průřezu vyberte jinou zemi nebo oblast. Vizuály tabulkového a spojnicového grafu teď zobrazují 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.
Řetězce dynamického formátu pro měření trvání
Pokud máte data doby trvání uložená v milisekundách, zobrazení nezpracovaných hodnot jako 3 600 000 ms není uživatelsky přívětivé. Řetězce dynamického formátu můžete místo toho použít k zobrazení hodnoty "1,0 h", přičemž základní míru ponecháte v milisekundách pro přesné výpočty a porovnání.
Vytvoření testovací tabulky
Pokud chcete tento vzor vyzkoušet, vytvořte počítanou tabulku s ukázkovými hodnotami doby trvání:
Events =
DATATABLE(
"Event", STRING,
"DurationMs", INTEGER,
{
{"Quick click", 500},
{"Page load", 5000},
{"Report refresh", 120000},
{"Data export", 7200000}
}
)
Vytvoření míry doby trvání
Vytvořte míru, která sečte dobu trvání a vrátí nezpracované milisekundy:
Duration (ms) = SUM(Events[DurationMs])
Přidejte dynamický formátovací řetězec
Přidejte řetězec dynamického formátu, který převede a naformátuje hodnotu do příslušné časové jednotky:
VAR ms = SELECTEDMEASURE()
RETURN
SWITCH(
TRUE(),
ms < 1000, FORMAT(ms, "#,0") & " \m\s",
ms < 60000, "'" & FORMAT(ms / 1000, "#,0.0") & " s'",
ms < 3600000, "'" & FORMAT(ms / 60000, "#,0.0") & " m'",
"'" & FORMAT(ms / 3600000, "#,0.0") & " h'"
)
Jak formátovací řetězec funguje
Následující tabulka ukazuje, jak se nezpracované hodnoty milisekund převádějí na čitelné formáty:
| Nezpracovaná hodnota (ms) | Konvertováno | Display |
|---|---|---|
| 500 | 500 | 500 ms |
| 5 000 | 5.0 | 5,0 s |
| 120 000 | 2.0 | 2,0 m |
| 7,200,000 | 2.0 | 2,0 h |
Funkce SELECTEDMEASURE() načte skutečnou hodnotu míry, převede ji na příslušnou jednotku a pak ji zabalí do řetězce literálového formátu pomocí jednoduchých uvozovek.
Výhody tohoto přístupu
- Výpočty zůstávají přesné: Míra vrací milisekundy, takže součty, průměry a porovnání fungují správně.
- Zobrazení je čitelné pro člověka: Uživatelé vidí "2,5 s" místo "2 500".
- Jeden vzor, mnoho měr: Použijte stejný formátovací řetězec u všech měr doby trvání.
-
Grafy fungují správně: Na rozdíl od použití
FORMAT()v samotné míře zachová řetězce dynamického formátu číselný datový typ pro vizualizace.
Tipy pro řetězce formátu doby trvání
- Použijte
\m\sk úniku "ms" jako literální text ve formátovacích řetězcích. - Jednoduché uvozovky (
'...') v příkazu return vynucují, aby Power BI považoval celý formátovaný řetězec za literál. - Tento model funguje i se skupinami výpočtů. Použijte ho jednou a naformátujte více měr automaticky.
Návod
Pokud máte více měr doby trvání, které potřebují tento formátovací řetězec, zvažte vytvoření uživatelem definované funkce DAX , která definuje logiku formátování jednou a znovu ji použije ve všech vašich mírách.
Známé problémy a důležité informace
Vizuály mají možnosti formátování, které můžou ovlivnit zobrazení řetězce formátu. Pokud se formátování neočekávaně zobrazí ve vizuálu, přejděte do možnosti vizualizace Vizualizace>Formát vizuálu, vyhledejte Jednotky zobrazení a změňte je z Automaticky na Žádné.
Pokud chcete vypnout jednotky zobrazení pro všechny vizuály v sestavě, můžete použít vlastní motiv sestavy. Vytvořte soubor JSON s následujícím obsahem a naimportujte ho jako motiv:
{ "$schema": "https://raw.githubusercontent.com/microsoft/powerbi-desktop-samples/main/Report%20Theme%20JSON%20Schema/reportThemeSchema-2.149.json", "name": "DisplayUnitsNone", "visualStyles": { "*": { "*": { "*": [ { "displayUnits": 1, "labelDisplayUnits": 1, "titleDisplayUnits": 1, "detailDisplayUnits": 1, "valueDisplayUnits": 1, "secLabelDisplayUnits": 1, "titleLabelDisplayUnits": 1 } ] } }, "cardVisual": { "*": { "*": [{ "$id": "default", "displayUnits": 1, "labelDisplayUnits": 1, "titleDisplayUnits": 1, "detailDisplayUnits": 1, "valueDisplayUnits": 1, "secLabelDisplayUnits": 1, "titleLabelDisplayUnits": 1 } ] } } } }Na míru samotnou v řetězci dynamického formátu můžete odkazovat přímo pomocí jejího názvu, například [Míra A], nebo nepřímo pomocí
SELECTEDMEASURE().Řetězce dynamického formátu pro míry se vztahují pouze na míry modelu. V sestavě aktivního připojení nemůžete přidávat řetězce dynamického formátu pro míry sestavy.
Použijete-li DirectQuery pro Analysis Services a v sestavě živého připojení vyberete možnost Provést změny v tomto modelu, připojení se přesune k DirectQuery nad Analysis Services. Obecně můžete provádět změny formátových řetězců měr vzdáleného modelu. Pomocí řetězců dynamického formátu pro metriky:
- 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.

