Informace o kontextu řádku

Dokončeno

Vytvořili jste počítané sloupce. Teď se dozvíte, jak se jejich vzorce vyhodnocují.

Vzorec počítaného sloupce se vyhodnotí pro každý řádek tabulky. Vyhodnotí se také v kontextu řádku, přesněji aktuálního řádku. Vezměme si třeba definici počítaného sloupce Due Fiscal Year (Fiskální rok splatnosti):

Due Fiscal Year =
"FY"
    & YEAR('Due Date'[Due Date])
        + IF(
            MONTH('Due Date'[Due Date]) <= 6,
            1
        )

Při vyhodnocení vzorce každého řádku vrátí odkaz na sloupec 'Due Date'[Due Date] hodnotu sloupce pro daný řádek. Zjistíte, že stejný princip používá i Microsoft Excel při práci se vzorci v excelových tabulkách.

Kontext řádku se ale nezasahuje za tabulku. Pokud chcete ve vzorci použít odkazy na jiné tabulky, máte dvě možnosti:

  • Pokud jsou tabulky přímo nebo nepřímo související, můžete použít funkci nebo RELATEDTABLE jazyka RELATED DAX. Funkce RELATED načte hodnotu na jedné straně relace, zatímco RELATEDTABLE načte hodnoty na straně N. Funkce RELATEDTABLE vrátí objekt tabulky.
  • Pokud tabulky nesouvisejí, můžete použít LOOKUPVALUE funkci DAX.

Obecně platí, že se pokuste použít RELATED funkci, kdykoli je to možné. Obvykle bude fungovat lépe než LOOKUPVALUE funkce, protože se data relací a sloupců ukládají a indexují.

Teď do tabulky Sales přidejte následující definici počítaný sloupec:

Discount Amount =
(
    Sales[Order Quantity]
        * RELATED('Product'[List Price])
) - Sales[Sales Amount]

Definice počítaný sloupec přidá sloupec Discount Amount (Částka slevy ) do tabulky Sales (Prodej ). Power BI vyhodnotí vzorec počítaného sloupce pro každý řádek tabulky Sales . Hodnoty Order Quantity (Objednané množství) a Sales Amount (Částka prodeje) se načítají v kontextu řádku. Vzhledem k tomu, že sloupec Ceníková cena patří do tabulky Product( Produkt ), RELATED je funkce povinná k načtení hodnoty ceníkové ceny prodejního produktu.

K vyhodnocení vzorců v počítaných sloupcích se používá kontext řádku. Používá se také, pokud je použitá třída funkcí označovaná jako iterační funkce. Iterační funkce umožňují pružně vytvářet složité souhrny. Funkce iterátoru jsou popsané v pozdějším modulu.