V tomto článku se podíváme na základy vytváření vzorců výpočtů pro počítané sloupce i míry v Power Pivot. Pokud s jazykem DAX začínáte, nezapomeňte se podívat na rychlý start: Seznámení se základy jazyka DAX za 30 minut.
Základy vzorců
Power Pivot poskytuje jazyk DAX (Data Analysis Expressions) pro vytváření vlastních výpočtů v Power Pivot tabulkách a kontingenčních tabulkách Excelu. Jazyk DAX obsahuje některé funkce, které se používají ve vzorcích Excelu, a další funkce, které jsou navržené pro práci s relačními daty a provádění dynamické agregace.
Tady je několik základních vzorců, které je možné použít v počítaném sloupci:
Vzorec |
Popis |
|
Vloží dnešní datum do každého řádku sloupce. |
|
Vloží hodnotu 3 do každého řádku sloupce. |
|
Sečte hodnoty na stejném řádku [Sloupec1] a [Sloupec2] a výsledky se umístí do stejného řádku počítaného sloupce. |
Power Pivot vzorců pro počítané sloupce můžete vytvářet stejně jako vzorce v Microsoft Excelu.
Při vytváření vzorce použijte následující kroky:
-
Každý vzorec musí začínat symbolem rovná se.
-
Můžete zadat nebo vybrat název funkce nebo zadat výraz.
-
Začněte psát několik prvních písmen požadované funkce nebo názvu a automatické dokončování zobrazí seznam dostupných funkcí, tabulek a sloupců. Stisknutím klávesy TAB přidejte do vzorce položku ze seznamu automatického dokončování.
-
Kliknutím na tlačítko Fx zobrazíte seznam dostupných funkcí. Pokud chcete vybrat funkci z rozevíracího seznamu, zvýrazněte ji pomocí kláves se šipkami a kliknutím na OK přidejte funkci do vzorce.
-
Zadejte argumenty funkce tak, že je vyberete z rozevíracího seznamu možných tabulek a sloupců nebo zadáte hodnoty nebo jinou funkci.
-
Zkontrolujte chyby syntaxe: Ujistěte se, že jsou všechny závorky zavřené a že se správně odkazuje na sloupce, tabulky a hodnoty.
-
Stisknutím klávesy ENTER vzorec přijměte.
Poznámka: Jakmile v počítaném sloupci přijmete vzorec, naplní se do sloupce hodnoty. Stisknutím klávesy ENTER v míře uložíte definici míry.
Create jednoduchého vzorce
Vytvoření počítaný sloupec s jednoduchým vzorcem
Hodnoty se pak vyplní v novém počítaném sloupci pro všechny řádky. |
Tipy k použití funkce Automatické dokončování
-
Funkci Automatické dokončování vzorců lze použít uprostřed existujícího vzorce s vnořenými funkcemi. Text bezprostředně před místem vkládání je použit k zobrazení hodnot v rozevíracím seznamu a veškerý text následující za místem vkládání zůstane nezměněn.
-
Doplněk Power Pivot nepřidává pravé závorky funkcí ani je automaticky nepáruje. Musíte se ujistit, že každá funkce je syntakticky správná, jinak vzorec nemůžete uložit ani použít. Power Pivot zvýrazňuje závorky, což usnadňuje kontrolu, jestli jsou správně zavřené.
Práce s tabulkami a sloupci
Power Pivot tabulky vypadají podobně jako excelové tabulky, ale liší se tím, jak pracují s daty a se vzorci:
-
Vzorce v Power Pivot pracovat pouze s tabulkami a sloupci, ne s jednotlivými buňkami, odkazy na oblast nebo maticemi.
-
Vzorce můžou pomocí relací získat hodnoty ze souvisejících tabulek. Načtené hodnoty vždy souvisejí s hodnotou aktuálního řádku.
-
Do listu aplikace Excel nelze vložit Power Pivot vzorce a naopak.
-
Nemůžete mít nepravidelná nebo "nepravidelná" data jako v excelovém listu. Každý řádek tabulky musí obsahovat stejný počet sloupců. V některých sloupcích ale můžete mít prázdné hodnoty. Datové tabulky Excelu a Power Pivot tabulky dat nejsou zaměnitelné, ale můžete je propojit s excelovými tabulkami z Power Pivot a vložit data aplikace Excel do Power Pivot. Další informace najdete v tématech Přidání dat listu do datového modelu pomocí propojené tabulky a Kopírování a vkládání řádků do datového modelu v Power Pivotu.
Odkazování na tabulky a sloupce ve vzorcích a výrazech
Na libovolnou tabulku a sloupec můžete odkazovat pomocí jejího názvu. Například následující vzorec ukazuje, jak odkazovat na sloupce ze dvou tabulek pomocí plně kvalifikovaného názvu:
=SUMA('New Sales'[Amount]) + SUM('Minulé prodeje'[Částka])
Při vyhodnocení vzorce Power Pivot nejprve zkontroluje obecnou syntaxi a pak zkontroluje názvy sloupců a tabulek, které zadáte, s možnými sloupci a tabulkami v aktuálním kontextu. Pokud je název nejednoznačný nebo pokud sloupec nebo tabulku nelze najít, zobrazí se ve vzorci chyba (řetězec #ERROR místo datové hodnoty v buňkách, kde k chybě dochází). Další informace o požadavcích na pojmenování tabulek, sloupců a dalších objektů najdete v tématu Požadavky na pojmenování ve specifikaci syntaxe DAX pro Power Pivot.
Poznámka: Kontext je důležitou funkcí Power Pivot datových modelů, která umožňuje vytvářet dynamické vzorce. Kontext je určen tabulkami v datovém modelu, relacemi mezi tabulkami a všemi použitými filtry. Další informace najdete v tématu Kontext ve vzorcích jazyka DAX.
Relace mezi tabulkami
Tabulky můžou souviset s jinými tabulkami. Vytvořením relací získáte možnost vyhledávat data v jiné tabulce a používat související hodnoty k provádění složitých výpočtů. Počítaný sloupec můžete například použít k vyhledání všech expedičních záznamů souvisejících s aktuálním prodejcem a následnému sečtení nákladů na dopravu pro každý z nich. Efekt je podobný parametrizovanému dotazu: pro každý řádek v aktuální tabulce můžete vypočítat jiný součet.
Mnoho funkcí jazyka DAX vyžaduje, aby mezi tabulkami nebo mezi více tabulkami existovala relace, aby bylo možné najít sloupce, na které jste odkazovali, a vrátit výsledky, které mají smysl. Další funkce se pokusí identifikovat relaci. Pokud však chcete dosáhnout nejlepších výsledků, měli byste vždy vytvořit relaci tam, kde je to možné.
Při práci s kontingenčními tabulkami je obzvláště důležité, abyste připojili všechny tabulky, které se v kontingenční tabulce používají, aby bylo možné správně vypočítat souhrnná data. Další informace najdete v tématu Práce s relacemi v kontingenčních tabulkách.
Řešení chyb ve vzorcích
Pokud při definování počítaný sloupec dojde k chybě, může vzorec obsahovat syntaktickou nebo sémantickou chybu.
Syntaktické chyby se řeší nejjednodušeji. Obvykle jde o chybějící závorku nebo čárku. Nápovědu ke syntaxi jednotlivých funkcí najdete v tématu Referenční informace k funkcím jazyka DAX.
S druhým typem chyby se setkáváme, když je syntaxe správná, ale hodnota odkazovaného sloupce nedává v kontextu vzorce smysl. Tyto sémantické chyby můžou být způsobeny některým z následujících problémů:
-
Vzorec odkazuje na neexistující sloupec, tabulku nebo funkci.
-
Vzorec se zdá být správný, ale když Power Pivot načte data, najde neshodu typu a vyvolá chybu.
-
Vzorec předává funkci nesprávný počet nebo typ parametrů.
-
Vzorec odkazuje na jiný sloupec, ve kterém je chyba, a proto jsou jeho hodnoty neplatné.
-
Vzorec odkazuje na sloupec, který nebyl zpracován. K tomu může dojít, pokud jste změnili sešit do ručního režimu, provedli změny a pak jste nikdy neaktualizovali data nebo neaktualizovali výpočty.
V prvních čtyřech případech DAX označí příznakem celý sloupec obsahující neplatný vzorec. V posledním případě DAX sloupec vyšedne a označí tak, že je sloupec v nezpracovaném stavu.