6. února 2025

Field parameters pro dynamické reporty

Nějakou dobu zpátky jsem psal o tom, jak dodat dynamiku reportům pomocí dynamické metriky. Článek si můžete přečíst zde

Ve zkratce šlo o problém, kdy chci zobrazovat uživatelům stejně rozvržený report, ale mít možnost volit metriku. Stejné grafy, tabulky a další vizuály s možností vybrat mezi obratem, marží nebo náklady.

Dnes se podíváme na dynamiku z druhé strany, a sice z pohledu dimenzionálního.

Představte si stejný typ grafu, stejnou metriku, ale s možností zobrazit rozpad podle různých dimenzionálních atributů – například podle produktové kategorie, prodejního kanálu nebo třeba barvy.

A právě k tomu slouží field parameters.

K demonstraci použiju starou dobrou databázi Adventure Works DW, stejně jako u většiny příkladů.

Model obsahuje následující measures a dimenze: 

Tvorba field parametru probíhá na záložce Modeling na pásu karet.


Nejprve nadefinujeme název parametru – zde Split (1), protože budu ovládat rozpad v grafu, matici a dalších vizualizacích. Následně vybereme seznam polí, která vytvoří hodnoty parametru v příslušném pořadí (2), a ponecháme zaškrtnutou možnost vytvoření sliceru (3).
V modelu se vytvoří počítaná tabulka Split, která obsahuje název parametru (1), kód (2) volající popisky nahrazené hodnotou (NAMEOF funkce) a pořadí. Tyto hodnoty se zobrazí ve sliceru (3).
Detail vygenerovaného kódu

Split = {
    ("Category", NAMEOF('DimProduct'[Category]), 0),
    ("FullName", NAMEOF('DimEmployee'[FullName]), 1),
    ("Color", NAMEOF('DimProduct'[Color]), 2)
}

Zde je možné upravit pořadí, změnit popisky a přidat další hodnoty. Například:
Split = {
    ("Category", NAMEOF('DimProduct'[Category]), 0),
    ("FullName", NAMEOF('DimEmployee'[FullName]), 1),
    ("Color", NAMEOF('DimProduct'[Color]), 2),
    ("Currency", NAMEOF('DimCurrency'[CurrencyAlternateKey]),3)
}
Při tvorbě grafu a matice se nejprve zobrazí drill-down v defaultním pořadí.
Pokud ale nejprve vyberu měnu (Currency) a následně kategorii (Category), vizuál se překreslí následovně:

Jaká mají field parameters omezení?

Podle posledního testu v době psaní tohoto článku nejsou field parameters k dispozici v Power BI Desktopu určeném pro on-premises Power BI Report Server.

Stejně tak není možnost tvorby field parameters dostupná u live connection, protože v tomto režimu nelze vytvářet ani počítané tabulky. Pokud chcete použít field parameters, museli byste přepnout do DirectQuery režimu proti SSAS/Semantickému modelu. V takovém případě však může přepnutí do DirectQuery negativně ovlivnit výkon a funkcionalitu reportu.

Závěr
Field parameters rozšiřují arzenál Power BI developera pro tvorbu dynamických reportů.


Žádné komentáře:

Okomentovat