Zabránění převodu prázdných hodnot (BLANK) na hodnoty

Jako modelátor dat můžete při psaní výrazů měr narazit na případy, kdy nelze vrátit smysluplnou hodnotu. V těchtopřípadechch Doporučujeme pečlivě určit, jestli je tento návrh efektivní a praktický.

Představte si následující definici míry, která explicitně převádí výsledky BLANK na nulu.

Sales (No Blank) =
IF(
    ISBLANK([Sales]),
    0,
    [Sales]
)

Zvažte další definici míry, která také převádí výsledky BLANK na nulu.

Profit Margin =
DIVIDE([Profit], [Sales], 0)

Funkce DIVIDE vydělí míru Profit (Zisk ) mírou Sales (Prodej ). Pokud je výsledek nulový nebo PRÁZDNÝ, vrátí se třetí argument – alternativní výsledek (který je volitelný). V tomto příkladu je vzhledem k tomu, že jako alternativní výsledek je předána nula, je zaručeno, že míra vždy vrátí hodnotu.

Tyto návrhy měr jsou neefektivní a vedou k nízkým návrhům sestav.

Když se přidají do vizuálu sestavy, Power BI se pokusí načíst všechna seskupení v kontextu filtru. Vyhodnocení a načtení velkých výsledků dotazů často vede k pomalému vykreslování sestav. Každá ukázková míra efektivně změní řídký výpočet na zhuštěný výpočet, který vynutí Power BI, aby používal více paměti, než je potřeba.

Příliš mnoho seskupení také často zahltí uživatele sestavy.

Pojďme se podívat, co se stane, když se míra Profit Margin přidá do vizuálu tabulky seskupování podle zákazníka.

Screenshot of Power B I Desktop showing table visual of data with one row per customer. Sales values are BLANK and Profit Margin values are zero per cent.

Vizuál tabulky zobrazuje zahlcení počtu řádků. (Ve skutečnosti je v modelu 18 484 zákazníků, takže se tabulka pokusí zobrazit všechny.) Všimněte si, že zákazníci v zobrazení nedosáhli žádného prodeje. Vzhledem k tomu, že míra Profit Margin vždy vrací hodnotu, zobrazí se.

Poznámka:

Pokud je ve vizuálu příliš mnoho datových bodů, může Power BI použít strategie redukce dat k odebrání nebo shrnutí velkých výsledků dotazů. Další informace najdete v tématu Omezení a strategie datových bodů podle typu vizuálu.

Pojďme se podívat, co se stane, když se zlepší definice míry Zisková marže . Teď vrátí hodnotu pouze v případech, kdy míra Sales není PRÁZDNÁ (nebo nula).

Profit Margin =
DIVIDE([Profit], [Sales])

Vizuál tabulky teď zobrazuje jenom zákazníky, kteří v aktuálním kontextu filtru provedli prodej. Vylepšená míra vede k efektivnějšímu a praktičtějšímu prostředí pro uživatele sestavy.

Screenshot of Power BI Desktop showing table visual of data that has filtered content.

Tip

V případě potřeby můžete vizuál nakonfigurovat tak, aby zobrazoval všechna seskupení (které vracejí hodnoty nebo PRÁZDNÉ) v kontextu filtru povolením možnosti Zobrazit položky bez dat .

Doporučení

Doporučuje se, aby míry vracely prázdnou hodnotu, pokud nelze vrátit smysluplnou hodnotu.

Tento přístup k návrhu je efektivní a umožňuje Power BI vykreslovat sestavy rychleji. Vrácení prázdné hodnoty je také lepší, protože vizuály sestav – ve výchozím nastavení – eliminují seskupení, když jsou souhrny prázdné.