Přepočet vzorců v PowerPivotu

Platí pro
Excel pro Microsoft 365 Excel 2024 Excel 2021

Když pracujete s daty v doplňku PowerPivot, může být potřeba aktualizovat data z jejich zdroje, přepočítat vzorce v počítaných sloupcích nebo aktualizovat kontingenční tabulky, které používají datový model.

Tento článek vysvětluje rozdíl mezi aktualizací dat a přepočtem, poskytuje přehled o tom, jak se přepočet aktivuje, a popisuje možnosti řízení přepočtu.

Vysvětlení aktualizace dat a přepočítávání dat

Power Pivot používá aktualizaci i přepočet dat:

Aktualizace dat znamená získání aktuálních dat z externích zdrojů dat. Power Pivot automaticky nezjistí změny v externích zdrojích dat. Pokud chcete přinést aktualizovaná data, aktualizujte datový model.

Přepočet znamená aktualizaci všech sloupců, tabulek, grafů a kontingenčních tabulek v sešitu, které obsahují vzorce. Vzhledem k tomu, že přepočet vzorce má vliv na výkon, je důležité znát závislosti spojené s jednotlivými výpočty.

Důležité

Dokud vzorce nepřepočítáte, sešit neukládejte ani nepublikujte.

Ruční vs. automatický přepočet

Ve výchozím nastavení se Power Pivot automaticky přepočítává podle potřeby a optimalizuje čas potřebný ke zpracování. Přepočet sice může trvat delší dobu, ale je to důležitý úkol. Power Pivot při přepočítávání zkontroluje závislosti sloupců a upozorní vás, pokud se sloupec změnil, pokud jsou data neplatná nebo pokud se ve vzorci, který dříve fungoval, objeví chyba. Můžete se ale rozhodnout, že nebudete ověřování provádět a budete výpočty aktualizovat jenom ručně, zvlášť pokud pracujete se složitými vzorci nebo velkými sadami dat a chcete mít kontrolu nad načasováním aktualizací.

Manuální i automatický režim mají své výhody. Použijte však režim automatického přepočtu. Tento režim udržuje metadata Power Pivotu synchronizovaná a zabraňuje problémům způsobeným odstraněním dat, změnami názvů nebo datových typů nebo chybějícími závislostmi. 

Použití automatického přepočtu

Pokud použijete režim automatického přepočtu, jakékoli změny dat, které by způsobily změnu výsledku libovolného vzorce, aktivují přepočet celého sloupce obsahujícího vzorec. Následující změny vždy vyžadují přepočet vzorců:

  • Hodnoty z externího zdroje dat se aktualizují.
  • Definice vzorce se změnila.
  • Názvy tabulek nebo sloupců, na které vzorec odkazuje, se změní.
  • Relace mezi tabulkami jsou přidávány, upravovány nebo odstraňovány.
  • Přidají se nové míry nebo počítané sloupce.
  • V dalších vzorcích v sešitu došlo ke změnám, proto by se měly aktualizovat sloupce nebo výpočty, které na výpočtu závisejí.
  • Řádky se vkládají nebo odstraňují.
  • Použili jste filtr, který vyžaduje provedení dotazu kvůli aktualizaci sady dat. Filtr se dá použít buď ve vzorci, nebo jako součást kontingenční tabulky nebo kontingenčního grafu.

Použití ručního přepočítání

Použijte ruční přepočet, abyste se vyhnuli nákladům na výpočet výsledků vzorce, dokud nebudete připraveni. Ruční režim je užitečný zejména v těchto situacích:

  • Navrhujete vzorec pomocí šablony a před ověřením chcete změnit názvy sloupců a tabulek použitých ve vzorci.
  • Víte, že se některá data v sešitu změnila, ale pracujete s jiným sloupcem, který se nezměnil, takže chcete přepočet odložit.
  • Pracujete v sešitu s mnoha závislostmi a chcete přepočet odložit, dokud nebudete mít jistotu, že byly provedeny všechny potřebné změny.

Pokud nastavíte sešit do režimu ručního přepočítávání, nebude Power Pivot v Excelu provádět žádné ověřování ani kontrolu vzorců. Dojde k následujícím výsledkům:

  • Všechny nové vzorce, které přidáte do sešitu, se označí jako obsahující chybu.
  • V nových počítaných sloupcích se nezobrazí žádné výsledky.

Konfigurace sešitu pro ruční přepočet

  1. V Power Pivotu vyberte Návrhové>výpočty>Možnosti> výpočtůRežim ručního přepočítávání.
  2. Pokud chcete přepočítat všechny tabulky, vyberte Možnosti výpočtů>Přepočítat hned.
    Sešit zkontroluje chyby ve vzorcích a tabulky aktualizuje výsledky. V závislosti na množství dat a počtu výpočtů může sešit dočasně přestat reagovat.

Důležité

Před publikováním sešitu změňte režim výpočtu zpět na automatický. Tato změna pomáhá předcházet problémům při navrhování vzorců.

Řešení potíží s přepočtem

Závislosti

Pokud sloupec závisí na jiném sloupci a obsah tohoto sloupce se nějakým způsobem změní, budete pravděpodobně muset přepočítat všechny související sloupce. Kdykoli v sešitu PowerPivotu provedete změny, Power Pivot v Excelu analyzuje existující data Power Pivotu, aby zjistil, jestli je nutný přepočet, a provede aktualizaci tím nejefektivnějším možným způsobem.

Předpokládejme například, že máte tabulku Sales, která je v relaci s tabulkami Product a ProductCategory; a vzorce v tabulce Prodej závisí na obou ostatních tabulkách. Každá změna v tabulce Produkt nebo ProductCategory způsobí přepočet všech počítaných sloupců v tabulce Prodej . Toto chování dává smysl, když si uvědomíte, že můžete mít vzorce, které shrnují prodeje podle kategorie nebo podle produktu. Aby byly výsledky správné, je nutné vzorce přepočítat na základě dat.

Power Pivot vždy provede úplný přepočet tabulky, protože úplný přepočet je efektivnější než kontrola změněných hodnot. Změny, které aktivují přepočet, můžou zahrnovat větší změny, jako je odstranění sloupce, změna číselného datového typu sloupce nebo přidání nového sloupce. Přepočet ale můžou vyvolat i zdánlivě triviální změny, jako je třeba změna názvu sloupce. K tomuto chování dochází, protože názvy sloupců se ve vzorcích používají jako identifikátory.

V některých případech Power Pivot určí, že může sloupce z přepočtu vyloučit. Pokud máte třeba vzorec, který vyhledává hodnotu, třeba [Barva výrobku] z tabulky Výrobky , a změnili jste sloupec [Množství] v tabulce Prodej , není nutné vzorec přepočítávat, i když tabulky Prodej a Produkty spolu souvisí. Pokud ale máte nějaké vzorce, které spoléhají na vzorec Prodej[Množství], je přepočet nutný.

Posloupnost přepočítávání závislých sloupců

Power Pivot spočítá závislosti před přepočtem libovolných sloupců. Pokud na sobě závisí víc sloupců, bude Power Pivot postupovat podle posloupnosti závislostí. Tímto postupem se zajistí, že Power Pivot zpracuje sloupce ve správném pořadí a maximální rychlostí.

Transakce

Operace, které přepočítávají nebo aktualizují data, probíhají jako transakce. Pokud kterákoli část operace aktualizace selže, zbývající operace se vrátí zpět. Toto chování zajišťuje, že data nezůstanou v částečně zpracovaném stavu. Nemůžete spravovat transakce jako v relační databázi a nemůžete vytvářet kontrolní body.

Přepočet proměnlivých funkcí

Některé funkce, jako třeba NOW, RANDnebo TODAY, nemají pevné hodnoty. Aby nedocházelo k problémům s výkonem, provádění dotazů nebo filtrování obvykle neznamená, že Power Pivot tyto funkce znovu vyhodnotí, pokud je použijete ve výpočtovém sloupci. Power Pivot přepočítá výsledky těchto funkcí jenom v případě, že přepočítá celý sloupec. Mezi tyto případy patří aktualizace z externího zdroje dat nebo ruční úprava dat, která způsobí opětovné vyhodnocení vzorců, které obsahují tyto funkce. Pokud ale použijete proměnlivé funkce, jako třeba NOW, RAND, nebo TODAY v definici počítaného pole, Power Pivot je vždy přepočítá.