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.
VZŤAHUJE SA NA: služba Power BI aplikácie Power BI Desktop
Použitím dynamických formátových reťazcov pre takty môžete ovládať, ako sa takty zobrazujú vo vizuáloch. Podmienečne aplikujte formátový reťazec použitím samostatného vzorca Data Analysis Expression (DAX).
Poznámka
Dynamické formátové reťazce pre miery sú dostupné v Power BI Desktop a Power BI Report Server (január 2025 a neskôr). Ak používate Power BI Report Server, uistite sa, že máte nainštalovanú najnovšiu verziu. Pre viac informácií si pozrite Čo je nové v Power BI Report Server.
Dynamické formátové reťazce riešia problém s funkciou FORMAT. FORMAT vracia všetky výsledky ako reťazce, dokonca aj číselné dátové typy. Toto správanie môže spôsobovať problémy s vizuálmi, ako sú grafy, ktoré vyžadujú číselné hodnoty.
Keď používate dynamické formátové reťazce, miera si zachováva svoj dátový typ a nemení sa na reťazcový typ dát. Na takt aplikujete rôzne formátové reťazce podľa kontextu.
Dynamické formátovacie reťazce môžete použiť aj so skupinami výpočtov. Rovnaké DAX vzory, ktoré fungujú s výpočtovými skupinami, fungujú aj v dynamických formátových reťazcoch pre miery. Rozsah je však obmedzený na jednotlivé miery namiesto všetkých ukazovateľov v modeli. Pre viac informácií pozri Výpočtové skupiny - Dynamické formátové reťazce.
Vytváranie reťazcov dynamického formátu
- Na table Údaje vyberte mierku, pre ktorú chcete zadať dynamický formát reťazca.
- Na pásiku nástrojov meraní , v sekcii Formátovanie , vyberte Dynamické v zozname Formátovanie . Naľavo od riadka vzorcov jazyka DAX sa zobrazí nový rozbaľovací zoznam s už vybratou položkou Formát . V tomto rozbaľovacom zozname môžete prepínať medzi výrazom DAX statickej mierky a výrazom jazyka DAX reťazca dynamického formátu. Statický formátový reťazec, ktorý ste použili pred prechodom na Dynamic, je predvyplnený ako reťazec v DAX vzorci.
Použite časť textového poľa s hodnotou
Keď pracujete s textovými políčkami vo svojich reportoch, môžete zobrazovať hodnoty mier s dynamickým formátovaním. Ak použijeme časť textového poľa s hodnotou:
Vyberte textové pole vo svojej správe.
V paneli Formát, v sekcii Hodnoty, vyberte tlačidlo pole (ikona efektov).
Vyberte mieru, na ktorú je aplikovaný dynamický formátový reťazec.
Textové pole zobrazuje hodnotu miery pomocou dynamického formátového reťazca.
Pre viac informácií o textových poliach a dynamickom obsahu pozri Pridať textové polia a tvary do Power BI reportov.
Prepíšte reťazec výrazom DAX, ktorý je výstupom správneho formátu reťazca pre vašu mierku. Napríklad nasledujúci výraz vyhľadáva reťazec formátu meny, ktorý chcete, z tabuľky Country/Region Currency Format Strings :
Overte, či reťazec dynamického formátu funguje vo vizuáli.
Ak chcete odstrániť reťazec dynamického formátu a vrátiť sa k používaniu reťazca statického formátu, v rozbaľovacom zozname Formát v časti >Formátovanie vyberte inú možnosť formátu. Keďže k tejto akcii nedôjde späť, zobrazí sa dialógové okno s otázkou, či chcete pokračovať. Ak sa chcete vrátiť k použitiu reťazca dynamického formátu znova, musíte znova zadajte výraz DAX.
Príklad
Najlepší spôsob, ako sa naučiť o novej funkcii, je vyskúšať si ju sami. Jednoducho to môžete urobiť pomocou vzorového súboru Adventure Works 2020 PBIX , ktorý je k dispozícii v ukážkovom modeli DAX. Pomocou vzorového modelu môžete pridať konverziu meny, aby sa zobrazila skonvertovaná čiastka predaja podľa rokov. Po stiahnutí otvorte súbor v aplikácii Power BI Desktop.
Vytvorenie nových tabuliek
Vzorový model neobsahuje všetky údaje potrebné na vytvorenie a používanie dynamických reťazcov formátu. Na začiatok musíte pridať dve tabuľky.
Na páse s nástrojmi Domov vyberte položku Zadať údaje.
V dialógovom okne Vytvoriť tabuľku zadajte do poľa Názovreťazce formátu meny krajiny alebo oblasti a potom skopírujte a prilepte nasledujúcu tabuľku:
Krajina/oblasť Mena Formát Austrália Dolár AU$#,0.00 Kanada Dolár C$#,0.00 Dánsko Krone kr#,0 Eurozóny Euro € #,0,00 Japonsko Len † #,0 Švédsko Krona kr#,0 Švajčiarsko Frank CHF#,0.00 Spojené kráľovstvo Libra £ #,0 Spojené štáty Dolár US$#,0.00 Skontrolujte, či tabuľka vyzerá správne, a vyberte položku Načítať.
Zopakujte predchádzajúce kroky pre nasledujúcu tabuľku:
Názov tabuľky: Ročné priemerné výmenné kurzy
Krajina/oblasť Mena Rok Ročný priemerný výmenný kurz Austrália Dolár 2022 1.442 Austrália Dolár 2021 1.332 Austrália Dolár 2020 1.452 Austrália Dolár 2019 1.439 Austrália Dolár 2018 1.34 Austrália Dolár 2017 1.358 Kanada Dolár 2022 1.301 Kanada Dolár 2021 1.254 Kanada Dolár 2020 1.341 Kanada Dolár 2019 1.327 Kanada Dolár 2018 1.297 Kanada Dolár 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 Len 2022 131.454 Japonsko Len 2021 109.817 Japonsko Len 2020 106.725 Japonsko Len 2019 109.008 Japonsko Len 2018 110.424 Japonsko Len 2017 116.667 Švédsko Krona 2022 10.122 Švédsko Krona 2021 8.584 Švédsko Krona 2020 9.205 Švédsko Krona 2019 9.457 Švédsko Krona 2018 8.703 Švédsko Krona 2017 8.894 Švajčiarsko Frank 2022 0.955 Švajčiarsko Frank 2021 0.914 Švajčiarsko Frank 2020 0.939 Švajčiarsko Frank 2019 0.994 Švajčiarsko Frank 2018 0.979 Švajčiarsko Frank 2017 1.024 Spojené kráľovstvo Libra 2022 0.811 Spojené kráľovstvo Libra 2021 0.727 Spojené kráľovstvo Libra 2020 0.779 Spojené kráľovstvo Libra 2019 0.784 Spojené kráľovstvo Libra 2018 0,75 Spojené kráľovstvo Libra 2017 0.808
Vytvorenie stĺpca Year (Rok)
Pridajte nový stĺpec Rok do existujúcej tabuľky dátumov.
V zobrazení modelu kliknite pravým tlačidlom myši na tabuľku Dátum a vyberte položku Nový stĺpec.
V DAX riadku formuly zadajte nasledujúci výraz:
Year = YEAR([Date]), a potom stlačte Enter.
Vytvorenie vzťahov
Vytvorte vzťahy medzi novými tabuľkami Ročných priemerných výmenných kurzov a tabuľkami formátov meny krajiny/regiónu, a medzi tabuľkou ročných priemerných výmenných kurzov a existujúcou tabuľkou dátumov.
Ak zapnete Autodetect pre vzťahy (na karte Nástroje stĺpca , vyberte Spravovať vzťahy a potom Autodetect), vzťah medzi reťazcami formátu meny krajiny/regiónu a ročnými priemernými výmennými kurzami v stĺpci Krajina/región môže byť vytvorený pre vás. Ak nie, vytvorte tento vzťah pomocou tlačidla Nový vzťah v nástrojoch> StĺpcovSpravovať vzťahy:
- Tabuľka 1: Priemerné ročné výmenné kurzy
- Tabuľka 1 Stĺpec: Krajina/región
- Kardinalita: Many to one
- Tabuľka 2: Reťazce formátu meny krajiny alebo oblasti
- Stĺpec tabuľky 2: Krajina/región
- Aktivovať tento vzťah: Áno
- Smer krížového filtrovania: Jeden
Vzťah by mal vyzerať takto:
Ak zapnete Autodetect pre vzťahy, môže sa vytvoriť vzťah medzi reťazcami formátu meny krajina/región a územie predaja v stĺpci Krajina/región . Vymažte tento vzťah, pretože nie je správny pre daný model.
Namiesto toho vytvorte vzťah medzi stĺpcom Yearly Average Exchange Rates (Ročné priemerné výmenné kurzy ) a Date (Dátum ) v stĺpci Year (Rok ).
- Tabuľka 1: Priemerné ročné výmenné kurzy
- Stĺpec Tabuľka 1: Rok
- Kardinalita: Many to Many
- Tabuľka 2: Dátum
- Stĺpec Tabuľka 2: Rok
- Aktivovať tento vzťah: Áno
- Smer krížového filtra: Jeden ('Ročný priemerný výmenný kurz' filtruje 'Dátum')
Vzťah by mal vyzerať takto:
Uložte svoj model.
Vytvorenie tabuľky skupiny mierok
Skupina mierok pomáha usporiadať rôzne mierky tak, že ich máte v jednej tabuľke.
- Na páse s nástrojmi Domov vyberte položku Zadať údaje.
- V dialógovom okne Vytvoriť tabuľku ponechajte hodnoty prázdne. Nazvite tabuľku Predajné miery a potom vyberte Načítanie. Táto tabuľka obsahuje vaše nové mierky.
Vytvorenie meraní
V paneli Dáta rozbalte a kliknite pravým tlačidlom na Predajné miery a potom vyberte Nové meranie. Do riadka vzorcov DAX zadajte nasledujúci výraz DAX a potom stlačte kláves Enter:
Sales Amount = SUM(Sales[Sales Amount])Malo by to vyzerať takto:
V časti Mierky predaja kliknite pravým tlačidlom myši na položku Stĺpec1 a vyberte položku Skryť v zobrazení zostavy. Táto zmena robí z mier predaj skupinu mier, ktorá sa teraz zobrazuje v hornej časti panela s ikonou skupiny meraní, takto:
Teraz môžete vytvoriť mierku na výpočet výmenného kurzu. Kliknite pravým tlačidlom myši na mierky predaja, vyberte položku Nová mierka, zadajte nasledujúci výraz do riadka vzorcov jazyka DAX a stlačte kláves 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] ) )Teraz vytvorte ďalšiu mierku na konverziu mierky Čiastka predaja na iné meny. Kliknite pravým tlačidlom myši na mierky predaja, vyberte položku Nová mierka, zadajte nasledujúci výraz do riadka vzorcov jazyka DAX a stlačte kláves Enter:
Converted Sales Amount = SUMX('Date', CALCULATE( [Sales Amount] * [Exchange Rate (Yearly Avg)]))
Vytvorenie zostavy
Prejdite do zobrazenia Zostava. Pridajte do zostavy novú prázdnu stranu.
Pridajte vizuál čiarového grafu na novú stranu zostavy. Tento vizuál použite na zobrazenie mierky pred pridaním reťazca dynamického formátu pre mierky.
predaja vyberte > predaja. Bez toho, aby ste vybrali kdekoľvek inde, vyberte aj Rok v tabuľke Dátum .
Skopírujte a prilepte vizuál, aby ste mali dva vizuály čiarového grafu. Zmeňte vizuál druhého čiarového grafu na tabuľkový a potom ho presuňte pod čiarový graf, takto:
Vizuál rýchleho filtra zoznamu pridajte na stranu zostavy výberom rýchleho filtra zoznamu na table Vizualizácie . Na table Údaje vyberte položku Krajina/oblasť v tabuľke Reťazce formátu meny krajiny/oblasti a pridajte ju do rýchleho filtra.
Zmeňte usporiadanie vizuálov, kým nebudú mať lepšie rozloženie, napríklad takto:
Aj keď sa to nevyžaduje, môžete zmeniť vlastnosti vizuálu, aby ste vytvorili krajšiu zostavu. Pomocou tlačidla Formátovať vizuál na table Vizualizácie vykonajte nasledujúce zmeny:
Krájač
- Karta > Nastavenia >Jeden výber>Zapnuté
- Karta >Vlastnosti>Výplň: 10 px, všetky hrany
- Všeobecná záložka >Efekty>Vizuálny rám:Zapnuté, svetlosivá, 10-px zaoblené rohy
- Karta >Názov: Vypnuté
- Vizuálna karta >Tlačidlá>Okraj: #333333, šírka riadku 6
tabuľky
- Karta >Vlastnosti>Výplň: 10 px, všetky hrany
- Všeobecná záložka >Efekty>Vizuálny rám:Zapnuté, svetlosivá, 10-px zaoblené rohy
- Karta >Mriežka>Vodorovné mriežky: Zapnuté, Biele, 2 šírky
- Karta >Mriežka>Zvislé mriežky: Zapnuté, Biele, 2 šírky
- Karta >Orámovanie mriežky>:biela
- Vizuálna>>: 2 riadkové výplne
- Karta >Hodnoty>Farba pozadia: #F6F4F4
- Karta >Hodnoty>Alternatívna farba pozadia: #F6F4F4
- Karta >Hlavičky stĺpcov>Text: Tučné, Farba textu biela, Farba pozadia #0D6ABF
Čiarový graf
- Karta >Vlastnosti>Výplň: 10 px, všetky hrany
- Všeobecná záložka >Efekty>Vizuálny rám:zapnutý, svetlosivý, 10 px zaoblené rohy
- Karta >Vlastnosti>Názov>: Zapnuté
- Vizuálna karta >Os> YNázov: Vypnuté
- Vizuálna>> Y: Vypnuté
- Značky karty >vizuálu: Zapnuté
- Karta >Označenia údajov: Zapnuté
- Karta >Označenia> údajovHodnota: Tučné, Modré
Plátno (voliteľné)
- Nastavenia >Pozadie plátna: svetlosivé, 85% priehľadnosť
Použitím týchto vizuálnych vlastností vytvoríte stránku reportu, ktorá vyzerá takto:
Vytvorenie reťazca dynamického formátu
Keď v sliceri vyberiete rôzne názvy krajín/regiónov , vizuály zobrazia výsledok miery Converted Sales Amount, ale nie v správnom formáte pre danú krajinu/región.
Na table Údaje v časti Miery predaja vyberte položku Konvertovaná čiastka predaja.
Na páse s nástrojmi Nástroje merania vyberte v rozbaľovacom zozname Formátpoložku Dynamický.
Rozbaľovacie menu vľavo od riadku s formulou teraz ukazuje Formát a formula v riadku má reťazec formátu. Nahraďte formátový reťazec nasledujúcim DAX výrazom a potom stlačte Enter:
SELECTEDVALUE ( 'Country/Region Currency Format Strings'[Format], "\$#,0.00;(\$#,0.00);\$#,0.00" )Malo by to vyzerať takto:
V rýchlom filtri vyberte inú krajinu alebo oblasť. Vizualizácie tabuľky a čiarového grafu teraz ukazujú premenenú sumu v správnom formáte pre danú krajinu/región alebo región. Skúste v rýchlom filtri vybrať inú krajinu alebo oblasť a zistiť, ako sa vizuály menia.
Uložte svoj model.
Dynamické formátové reťazce pre meranie trvania
Keď máte údaje o trvaní uložené v milisekundách, zobrazovanie surových hodnôt ako "3 600 000 ms" nie je užívateľsky prívetivé. Môžete použiť dynamické formátové reťazce na zobrazenie "1.0 h" namiesto toho, pričom základné meranie zostane v milisekundách pre presné výpočty a porovnania.
Vytvorte testovaciu tabuľku
Na vyskúšanie tohto vzoru vytvorte vypočítanú tabuľku s hodnotami trvania vzorky:
Events =
DATATABLE(
"Event", STRING,
"DurationMs", INTEGER,
{
{"Quick click", 500},
{"Page load", 5000},
{"Report refresh", 120000},
{"Data export", 7200000}
}
)
Vytvorte mieru trvania
Vytvorte mieru, ktorá sčíta trvanie a vráti surové milisekundy:
Duration (ms) = SUM(Events[DurationMs])
Pridajte reťazec dynamického formátu
Pridajte dynamický formátovací reťazec, ktorý prevádza a formátuje hodnotu do príslušnej časovej 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'"
)
Ako funguje formátovací reťazec
Nasledujúca tabuľka ukazuje, ako sa surové hodnoty milisekúnd konvertujú do čitateľných formátov:
| Surová hodnota (ms) | Prestavba | Zobrazenie |
|---|---|---|
| 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 |
Funkcia SELECTEDMEASURE() získa skutočnú hodnotu miery, prevedie ju na príslušnú jednotku a potom ju zabalí do reťazca literálneho formátu pomocou jednoduchých úvodzoviek.
Výhody tohto prístupu
- Výpočty zostávajú presné: Vaše meranie vracia milisekundy, takže súčty, priemery a porovnania fungujú správne.
- Displej je čitateľný pre ľudí: používatelia vidia "2,5 s" namiesto "2 500".
- Jeden vzor, veľa taktov: Použite rovnaký formátový reťazec na všetky svoje časové takty.
-
Grafy fungujú správne: Na rozdiel od použitia
FORMAT()priamo v miere, dynamické formátové reťazce zachovávajú číselný dátový typ pre vizualizácie.
Tipy na formátovanie trvania
- Použite
\m\sna únik "ms" ako doslovný text vo formátových reťazcoch. - Jednoduché úvodzovky (
'...') v príkaze return nútia Power BI považovať celý formátovaný reťazec za literál. - Tento vzor funguje aj s výpočtovými skupinami. Aplikuj ho raz a automaticky naformátuj viacero taktov.
Prepitné
Ak máte viacero mier trvania, ktoré potrebujú tento formátový reťazec, zvážte vytvorenie DAX užívateľsky definovanej funkcie na definovanie formátovacej logiky raz a opätovné použitie vo všetkých meraniach.
Známe problémy a úvahy
Vizuály majú možnosti formátovania, ktoré môžu ovplyvniť, ako sa formátovací reťazec zobrazí. Ak sa formátovanie nečakane objaví vo vizuáli, choďte do vizuálnych nastavení Visuals>Format , vyhľadajte Zobrazovacie jednotky a zmeňte ich z Automatického na Žiadne.
Na vypnutie zobrazovacích jednotiek pre všetky vizuály v reporte môžete použiť vlastnú tému reportu. Vytvorte JSON súbor s nasledujúcim obsahom a importujte ho ako tému:
{ "$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 samotnú mieru môžete odkazovať priamo v jej dynamickom formátovom reťazci použitím jej názvu, napríklad [Measure A], alebo nepriamo použitím
SELECTEDMEASURE().Dynamické formátové reťazce pre miery sa vzťahujú iba na modelové miery. Dynamické formátové reťazce nemôžete pridávať pre meranie reportov v live connect reporte.
Použitím DirectQuery pre Analysis Services, keď vyberiete možnosť Urobiť zmeny tohto modelu v živom connect reporte, presuniete spojenie na DirectQuery cez Analysis Services. Vo všeobecnosti môžete vykonávať zmeny reťazcov formátu mierok vzdialeného modelu. Použitím dynamických formátových reťazcov pre miery:
- Mierky vzdialeného modelu s definovanými dynamickými reťazcami formátu nie sú blokované v tom, aby sa reťazcový formát zmenil na statický reťazec formátu alebo na iný dynamický výraz DAX s reťazcom formátu.
- Vzdialené mierky modelu nie je možné zmeniť zo statického formátovacieho reťazca na dynamický formátovací reťazec DAX definovaný v lokálnom modeli.
- Mierky lokálneho modelu nie sú blokované v používaní reťazcov dynamického formátu pre mierky.

