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.
Vizuální výpočet je výpočet DAX definovaný a spuštěný přímo na vizuálním prvku. Vizuální výpočty usnadňují vytváření výpočtů, které byly dříve obtížné vytvořit, což vede k jednoduššímu jazyku DAX, snadnější údržbě a lepšímu výkonu.
Tady je příklad vizuálního výpočtu, který definuje průběžný součet pro Sales Amount. Všimněte si, že požadovaný DAX je jednoduchý:
Running sum = RUNNINGSUM([Sales Amount])
Výpočet může odkazovat na všechna data ve vizuálu včetně sloupců, měr nebo jiných vizuálních výpočtů. Tato schopnost eliminuje složitost sémantického modelu a zjednodušuje proces psaní jazyka DAX. Pomocí vizuálních výpočtů můžete provádět běžné obchodní výpočty, jako jsou průběžné součty nebo klouzavé průměry.
Vizuální výpočty se liší od ostatních možností výpočtů v jazyce DAX:
- Vizuální výpočty nejsou uloženy v modelu a místo toho jsou uloženy ve vizuálu. To znamená, že vizuální výpočty můžou odkazovat jenom na to, co je ve vizuálu. Cokoli v modelu musí být přidáno do vizuálu, aby na něj mohl odkazovat výpočet vizuálu, čímž se vizuální výpočty oprostí od složitosti filtru kontextu a modelu.
- Vizuální výpočty kombinují jednoduchost kontextu z počítaných sloupců s flexibilitou výpočtů na vyžádání z měr.
- Ve srovnání s mírami fungují vizuální výpočty s agregovanými daty místo úrovně podrobností, což často vede k výhodám výkonu. Pokud lze výpočet dosáhnout buď pomocí nové míry, nebo vizuálního výpočtu, druhá možnost často vede k lepšímu výkonu.
- Vzhledem k tomu, že vizuální výpočty jsou součástí vizuálu, můžou odkazovat na vizuální strukturu, což vede k větší flexibilitě.
Podrobnější porovnání způsobů přidávání výpočtů v Power BI najdete v tématu Použití možností výpočtů v Power BI Desktopu.
Pomocí vizuálních výpočtů můžete:
- Přidejte vizuální výpočty do sestav
- Skrytí určitých polí
- Rychlé vytváření vizuálních výpočtů pomocí šablon
- Provádění flexibilních vizuálních výpočtů pomocí odkazů na osy vizuálu
Následující části obsahují podrobnosti o tom, jak jednotlivé prvky popsané v předchozích odrážkách pracují s vizuálními výpočty.
Přidání vizualizace výpočtu
Pokud chcete přidat vizuální výpočet, vyberte vizuál a poté v pásu karet vyberte tlačítko Nový vizuální výpočet:
Okno vizuálních výpočtů se otevře v režimu Upravit. Obrazovka režimu úprav se skládá ze tří hlavních částí, jak je znázorněno shora dolů na následujícím obrázku:
- Náhled vizuálního prvku, se kterým pracujete
- Řádek vzorců, ve kterém můžete přidávat vizuální výpočty
- Vizuální matice
, která zobrazuje data ve vizuálu a zobrazuje výsledky vizuálních výpočtů při jejich přidávání. Styly a motivy, které použijete pro vizuál, se neuplatní na vizuální matici.
Pokud chcete přidat vizuální výpočet, zadejte výraz do řádku vzorců. Například ve vizuálu, který obsahuje Částku prodeje a Celkové náklady na produkt podle fiskálního roku, můžete přidat výpočet, který vypočítá zisk za každý rok zadáním:
Profit = [Sales Amount] – [Total Product Cost]
Ve výchozím nastavení se většina vizuálních výpočtů ve vizuálu vyhodnocuje řádek po řádku, jako je počítaný sloupec. V předchozím příkladu se pro každý řádek matice vizuálu od aktuální prodejní částky a celkových nákladů na produkt odečtou a výsledek se vrátí ve sloupci Zisk. I když je to možné, není potřeba přidávat agregační funkci, jako je SUMA, stejně jako byste to udělali v metrice. Ve skutečnosti je lepší nepřidávat takové agregáty, když nejsou nutné, abyste mohli snadněji rozlišovat mezi opatřeními a vizuálními výpočetními výrazy.
Při přidávání vizuálních výpočtů se zobrazují v seznamu polí ve vizuálu:
Kromě toho se na vizuálu zobrazí vizuální výpočet.
Ve vizuálních výpočtech můžete použít mnoho existujících funkcí DAX. K dispozici jsou také funkce specifické pro vizuální výpočty. Vzhledem k tomu, že vizuální výpočty fungují v rámci omezení matice vizuálu, nelze použít funkce, které spoléhají na relace modelu, jako je USERELATIONSHIP, RELATED nebo RELATEDTABLE .
Skrytí polí z vizuálu
V režimu úprav vizuálů můžete pole ve vizuálu skrýt stejně jako sloupce a tabulky v zobrazení modelování. Pokud například chcete zobrazit pouze vizuální výpočet Zisk, můžete skrýt prodejní částku a celkový zisk ze zobrazení.
Skrytí polí neodebere z vizuálu nebo z matice vizuálu, takže vaše vizuální výpočty na ně budou moct dál odkazovat a pokračovat v práci. Skryté pole se stále zobrazuje ve vizuální matici, ale ve výsledném zobrazení se nezobrazuje. Doporučuje se zahrnout jenom skrytá pole, pokud jsou potřebná k tomu, aby vaše vizuální výpočty fungovaly.
Použití šablon
Vizuální výpočty zahrnují šablony, které usnadňují psaní běžných výpočtů. Šablony najdete tak, že vyberete tlačítko šablony a zvolíte šablonu, se kterou chcete pracovat:
Na pásu karet můžete také vytvořit šablonovaný vizuální výpočet kliknutím na dolní část tlačítka Nový vizuální výpočet.
K dispozici jsou následující šablony:
- Průběžný součet. Vypočítá součet hodnot a přičte aktuální hodnotu k předchozím hodnotám. Použije funkci RUNNINGSUM.
- Klouzavý průměr. Vypočítá průměr sady hodnot v daném okně tak, že vydělí součet hodnot podle velikosti okna. Použije funkci MOVINGAVERAGE.
- Procento rodiče Vypočítá procento hodnoty vzhledem k nadřazené hodnotě. Použije funkci COLLAPSE.
- Procento celkového součtu Vypočítá procento hodnoty vzhledem ke všem hodnotám pomocí COLLAPSEALL funkce.
- Průměr dětí. Vypočítá průměrnou hodnotu sady podřízených hodnot. Použije funkci EXPAND.
- Proti předchozímu Porovná hodnotu s předchozí hodnotou pomocí PREVIOUS funkce.
- Proti dalšímu. Porovná hodnotu s následnou hodnotou pomocí NEXT funkce.
- Proti prvnímu. Porovná hodnotu s první hodnotou pomocí funkce FIRST.
- Proti poslednímu Porovná hodnotu s poslední hodnotou pomocí funkce LAST.
- Vyhledejte hodnotu s kontextem. Pomocí funkce najděte hodnotu nebo vyhodnoťte výraz ve vizuální matici v aktuálním kontextu LOOKUP .
- Vyhledejte hodnotu včetně součtů. Pomocí funkce LOOKUPWITHTOTALS najděte hodnotu nebo vyhodnoťte výraz ve vizuální matici se součty.
Výběrem šablony vložíte šablonu do řádku vzorců. Tyto šablony můžete použít jako výchozí body. Můžete také přidat vlastní výrazy, aniž byste museli spoléhat na šablony.
Výběr parametrů
Výběry parametrů usnadňují výběr hodnot pro parametry ve funkcích vizuálních výpočtů. Například jsme zde načetli šablonu Vyhledání hodnoty s výsledky.
Výběry parametrů můžete aktivovat také pomocí klávesové zkratky CTRL+MEZERNÍK .
Axis
Mnoho funkcí má volitelný Axis parametr, který lze použít pouze ve vizuálních výpočtech. Axis ovlivňuje, jak vizuální výpočet prochází vizuální maticí. Parametr Axis je ve výchozím nastavení nastavený na první osu ve vizuálu. U mnoha vizualizací je prvním osou ROWS, což znamená, že výpočet vizualizace se provádí řádek po řádku v matici vizualizace shora dolů. V následující tabulce jsou uvedeny platné hodnoty parametru Axis :
| Axis ikona | Axis Jméno | Popis |
|---|---|---|
|
ROWS | Vypočítá vertikálně přes řádky shora dolů. |
|
COLUMNS | Vypočítá vodorovně napříč sloupci zleva doprava. |
|
ROWS COLUMNS | Vypočítá svisle přes řádky shora dolů a pokračuje po sloupcích zleva doprava. |
|
COLUMNS ROWS | Vypočítá vodorovně napříč sloupci zleva doprava a pokračuje řádky po řádcích shora dolů. |
Poznámka:
Pokud zadáte osu, která není ve vizuálu, bude tato osa ignorována.
Reset
Mnoho funkcí má volitelný Reset parametr, který je k dispozici pouze ve vizuálních výpočtech. Reset ovlivňuje, zda a kdy funkce resetuje svou hodnotu na 0 nebo přepne do jiného oboru při procházení vizuální maticí. Provede to rozdělením cílového sloupce. Při provádění výpočtů v rámci části rozhoduje způsob, jakým je sloupec rozdělen do částí, zda se výpočet resetuje.
Výchozí hodnota parametru Reset je nastavena na NONE, což znamená, že výpočet vizuálu se nikdy nerestartuje.
Parametr Reset přijímá různé typy hodnot:
- celá čísla
- odkazy na sloupce
- Zvláštní synonyma: HIGHESTPARENT, LOWESTPARENTNONE
Určuje jednu úroveň v hierarchii vizuálních výpočtů, kterou budeme nazývat cílovou úrovní. Způsob interpretace této úrovně ve výpočtu se však může lišit.
Chování Reset funguje ve dvou různých režimech: absolutní a relativní.
Při použití celočíselné hodnoty pro parametr nebo jejich ekvivalenty NONE, HIGHESTPARENT a LOWESTPARENT můžete zvolit mezi těmito dvěma režimy pomocí signálu celého čísla: kladné hodnoty provádějí resetování v absolutním režimu a záporné hodnoty provádějí resetování v relativním režimu (a nula vůbec neprovádí resetování, což je výchozí chování).
Pokud zadáte odkaz na sloupec, pracujete také v absolutním režimu. Tyto hodnoty určují, jakým způsobem se cílový sloupec rozděluje, a zda se tím pádem resetuje. Tyto dva režimy jsou popsány v následující části:
Absolutní režim
Tento režim označuje, že výpočet by měl být rozdělený podle cílového sloupce a všech výše uvedených hodnot a to platí na všech úrovních výpočtu. Na úrovních nad cílem (kde cílový sloupec není k dispozici a případně i další) se výpočet rozdělí podle zbývajících dostupných sloupců. Kladná celočíselná hodnota identifikuje cílový sloupec od začátku (horní sloupec je 1, další je 2 atd.). Dosáhne hodnoty N (počtu sloupců v hierarchii) a všechny vyšší hodnoty se oříznou. Případně můžete sloupec zadat přímo.
Představte si například vizuální výpočet s těmito úrovněmi hierarchie: Rok, Čtvrtletí, Měsíc a Den. Následující tabulka ukazuje, jak bude výpočet rozdělen na každou úroveň v závislosti na hodnotě Reset:
| Úroveň /hodnota | Reset = 1 nebo Rok | Reset = 2 nebo čtvrt | Reset = 3 nebo měsíc | Reset = 4 nebo Den |
|---|---|---|---|---|
| Denní úroveň | Rok | Čtvrtletí a rok | Měsíc, Čtvrtletí a Rok | Den, Měsíc, Čtvrtletí a Rok |
| Měsíční úroveň | Rok | Čtvrtletí a rok | Měsíc, Čtvrtletí a Rok | Měsíc, Čtvrtletí a Rok |
| Úroveň v rámci čtvrtletí | Rok | Čtvrtletí a rok | Čtvrtletí a rok | Čtvrtletí a rok |
| Ročník | Rok | Rok | Rok | Rok |
| Celková úroveň | Žádné | Žádné | Žádné | Žádné |
Relativní režim
Vzhledem k záporné celočíselné hodnotě -X, na každé úrovni je výpočet rozdělen podle všech sloupců, které jsou o X úrovní či více nad ní v hierarchii (nebo není rozdělen vůbec, pokud taková úroveň neexistuje). Platné hodnoty pro tento režim jsou mezi -1 a -N+1 (kde N je počet sloupců v hierarchii) a všechny nižší hodnoty se oříznou. Znovu zvažte dříve popsaný vizuální výpočet. Následující tabulka ukazuje, jak se výpočet rozdělí na jednotlivých úrovních v závislosti na hodnotě Reset:
| Úroveň /hodnota | Reset = -1 | Reset = -2 | Reset = -3 |
|---|---|---|---|
| Denní úroveň | Měsíc, Čtvrtletí a Rok | Čtvrtletí a rok | Rok |
| Měsíční úroveň | Čtvrtletí a rok | Rok | Žádné |
| Úroveň v rámci čtvrtletí | Rok | Žádné | Žádné |
| Ročník | Žádné | Žádné | Žádné |
| Celková úroveň | Žádné | Žádné | Žádné |
Synonyma
Reset poskytuje také následující synonyma:
- NONE je výchozí hodnota. Nevynuluje výpočet a odpovídá hodnotě 0.
- HIGHESTPARENT provede absolutní reset na nejvyšší úrovni a je ekvivalentní hodnotě 1.
- LOWESTPARENT provede relativní resetování okamžitým nadřazeným objektem a odpovídá hodnotě -1.
Příklady použití Reset
Zvažte například dříve popsaný vizuální výpočet. Vizuální výpočty jsou ekvivalentní a vracejí součet Prodejní částky, které se restartují pro každý rok, bez ohledu na úroveň, na které je výpočet vyhodnocen (viz absolutní režim):
RUNNINGSUM([Sales Amount], HIGHESTPARENT)
RUNNINGSUM([Sales Amount], 1)
RUNNINGSUM([Sales Amount], [Year])
Naproti tomu následující vizuální výpočty vrátí součet částka prodeje, která začíná od nuly pro každého bezprostředního nadřazeného prvku, což závisí na tom, na jaké úrovni se výpočet vyhodnotí (viz relativní režim).
RUNNINGSUM([Sales Amount], LOWESTPARENT)
RUNNINGSUM([Sales Amount], -1)
Nakonec se tento grafický výpočet neobnoví a pokračuje v postupném přidávání hodnoty Sales Amount pro každý den k předchozím hodnotám, aniž by se znovu začínalo.
RUNNINGSUM([Sales Amount])
Axis, ResetOrderBy a PartitionBy
Parametry Axis, Reset (přijímá OrderBy), ORDERBY a PartitionBy (přijímá PARTITIONBY) lze použít k ovlivnění způsobu vyhodnocení výpočtu. Nemusí být všechny zadány a je možné je použít v kombinaci s ostatními. Ne všechny funkce je poskytují, protože funkce exkluzivní pro vizuální výpočty neposkytují parametr PartitionBy. Funkce okna poskytují Reset parametr pouze v případě, že se používají ve vizuálním výpočtu. Parametr Relation funkcí okna je k dispozici bez ohledu na to, jestli se používá ve vizuálním výpočtu nebo ne, ale přijímá pouze parametr Axis , který se používá ve vizuálním výpočtu.
Axis a Reset odkazují na vizuální strukturu. Parametry OrderBy a PartitionBy lze použít v počítaných sloupcích, mírách a vizuálních výpočtech a odkazují na pole. I když provádějí stejnou funkci, liší se na úrovni poskytované abstrakce; odkazování na vizuální strukturu je flexibilnější než explicitní odkazování na pole používající OrderBy nebo PartitionBy.
Reset očekává, že na ose bude více úrovní. V případě, že na ose nemáte více úrovní, protože na ose je jenom jedno pole nebo více polí na jedné úrovni, můžete použít PartitionBy.
Můžete si OrderBy a PartitionBy představit jako odkazy na pole pevně přiřazené tím, že explicitně zadáte pole, zatímco Axis a Reset jsou na polích nezávislá – odkazují na strukturu a na jakékoli pole, které se zrovna v této struktuře používá.
Dostupné funkce
Ve vizuálních výpočtech můžete použít mnoho existujících funkcí DAX. Vzhledem k tomu, že vizuální výpočty fungují v rámci omezení matice vizuálu, nejsou funkce, které spoléhají na relace modelu, jako USERELATIONSHIP, RELATED nebo RELATEDTABLE, dostupné.
Vizuální výpočty také představují sadu funkcí specifických pro vizuální výpočty. Mnoho z těchto funkcí je snadnější používat díky klávesovým zkratkám pro okenní funkce v jazyce DAX.
| Funkce | Popis | Příklad | Zkratka k |
|---|---|---|---|
| COLLAPSE | Výpočet se vyhodnotí na vyšší úrovni osy. | Procento rodiče = DIVIDE([Sales Amount], COLLAPSE([Sales Amount], ROWS)) | – |
| COLLAPSEALL | Výpočet se vyhodnotí na celkové úrovni osy. | Procento celkového součtu = DIVIDE([Částka tržeb], COLLAPSEALL([Částka tržeb], ROWS)) | – |
| EXPAND | Výpočet se vyhodnotí na nižší úrovni osy. | Průměr dětí = EXPAND(PRŮMĚR([Částka prodeje]); ROWS) | – |
| EXPANDALL | Výpočet se vyhodnotí na úrovni listu osy. | Průměr úrovně listu = EXPANDALL(PRŮMĚR([Částka prodeje]), ROWS) | – |
| FIRST | Odkazuje na první řádek osy. | ProfitVSFirst = [Zisk] – FIRST([Zisk]) | INDEX(1) |
| ISATLEVEL | Udává, zda je zadaný sloupec přítomen na aktuální úrovni. | IsFiscalYearAtLevel = ISATLEVEL([Fiskální rok]) | – |
| LAST | Odkazuje na poslední řádek osy. | ZiskVSPoslední = [Zisk] – LAST([Zisk]) | INDEX(-1) |
| LOOKUP | Vyhodnoťte výraz v matici vizuálu pomocí aktuálního kontextu. | LookupSalesFor2025WithContext = LOOKUP(SUM([Prodeje]) [Rok], "2025") | – |
| LOOKUPWITHTOTALS | Vyhodnocení výrazu ve vizuální matici s celkovými součty | LookupSalesFor2025WithTotals = LOOKUPWITHTOTALS(SUMA([Prodej]), [Rok], "2025") | – |
| MOVINGAVERAGE | Přidá klouzavý průměr na ose. | MovingAverageSales = MOVINGAVERAGE([Částka prodeje], 2) | WINDOW |
| NEXT | Odkazuje na další řádek osy. | ProfitVSNext = [Profit] – NEXT([Profit]) | OFFSET(1) |
| PREVIOUS | Odkazuje na předchozí řádek osy. | ProfitVSPrevious = [Profit] – PREVIOUS([Profit]) | OFFSET(-1) |
| RANGE | Odkazuje na řez řádků osy. | AverageSales = AVERAGEX(RANGE(1), [Sales Amount]) | WINDOW |
| RUNNINGSUM | Přidá průběžný součet na ose. | RunningSumSales = RUNNINGSUM([Částka prodeje]) | WINDOW |
Formátování vizuálních výpočtů
Výpočet vizuálu můžete naformátovat pomocí datových typů a možností formátování. Můžete také nastavit řetězec formátování úrovně vizuálu na míru. V části Obecné podokna formátování vizuálu použijte možnosti formátu dat k nastavení formátu:
Příklad 1: Použití grafického výpočtu k vrácení šestnáctkového barevného kódu pro podmíněné formátování
Krok 1: Vyberte vizuál, ve který chcete použít podmíněné formátování:
Krok 2: Vyberte tlačítko Nový vizuální výpočet v záložce Domů
Krok 3: Napište svůj vizuální výpočet. Tady je příkaz KDYŽ, který vrátí zelenou nebo červenou hodnotu na základě míry větší než 0,5:
Conditional Hex Code = IF ( [Progress] > .5, "#5BA300", "#E91C1C" )
Krok 4: Rozbalte podokno Formátování a vyberte Vlastnosti:
Krok 5: Rozbalte sekci Formát dat, vyberte vizuální výpočet a nastavte datový typ i formát na Text:
Krok 6: Před ukončením editoru výpočtů vizuálu vyberte ikonu skrytí vedle výpočtu vizuálu v části sestavení a skryjte ji:
Krok 7: Použijte ho v oddílu podmíněného formátování:
Krok 8: Ukončete vizuální editor výpočtů kliknutím na tlačítko Zpět na sestavu:
Krok 9: Užijte si podmíněný formátovaný vizuál!
Úvahy a omezení
Nepodporované typy vizuálů
Vizuální výpočty a skrytá pole nefungují s následujícími vizuály:
- Řezačka, vizualizace jazyka R, vizualizace Pythonu
- Klíčové vlivové faktory, rozkladový strom, Q&A, Inteligentní vyprávění
- Metriky, stránkovaná sestava, Power Apps, Power Automate
- Malé násobky, osa přehrávání v bodovém grafu
- Vlastní vizuály
Nepodporované funkce
Ve vizuálních výpočtech nejsou k dispozici následující funkce:
- Filtrování, řazení nebo změna agregací
- Odkazování na sebe (výpočet nemůže odkazovat sám na sebe)
- Kopírování a vkládání nebo opakované použití napříč vizuály
- Kategorie dat, limity dat nebo zobrazení položek bez dat
- Řetězce dynamického formátu (nelze nastavit nebo použít jako formátovací řetězec)
- Přizpůsobení vizuálních výpočtů nebo skrytých polí
- Procházení záznamy
- IntelliSense v Power BI Embedded
Omezení publikování a sdílení
- Nelze připnout na řídicí panely
- Nelze použít Publikovat na webu
- Export dat vylučuje výsledky vizuálních výpočtů; skrytá pole se zobrazují pouze v exportech podkladových dat.
Další omezení
- Parametry polí pracují s vizuálními výpočty, ale mají určitá omezení.
- Živá připojení ke službě SQL Server Analysis Services vyžadují verzi 2025 nebo novější.
Související obsah
Další informace o používání vizuálních výpočtů najdete v následujících zdrojích informací: