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 ale nezasahuje za tabulku. Pokud chcete ve vzorci použít odkazy na jiné tabulky, máte dvě možnosti:

  • Pokud tabulky přímo nebo nepřímo souvisejí, můžete použít RELATED funkci nebo RELATEDTABLE jazyka DAX. Funkce RELATED načte hodnotu na straně 1 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 pokud je to možné, zkuste funkci použít RELATED . 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ého sloupce:

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

Definice počítaného sloupce 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 List Price (Ceníková cena ) patří do tabulky Product (Produkt ), RELATED je funkce nutná 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.