Sdílet prostřednictvím


Vyhněte se převodu BLANKs 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ěchto případech můžete být v pokušení místo toho vrátit hodnotu—například nulu. Doporučujeme pečlivě určit, jestli je tento návrh efektivní a praktický.

Zvažte 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řevede BLANK výsledky na nulu.

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

Funkce DIVIDE vydělí metriku Profit metrikou Sales. Pokud je výsledek nulový nebo BLANK, vrátí se třetí argument – alternativní výsledek (který je nepovinný). 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 nekvalitním návrhům sestav.

Když je přidáte do vizuálu sestavy, Power BI se snaží 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.

Podívejme se, co se stane, když se ukazatel Profit Margin přidá do tabulkového vizuálu se seskupením podle zákazníků.

Snímek obrazovky Power BI Desktopu s vizuálem tabulky dat s jedním řádkem na zákazníka Hodnoty prodeje jsou BLANK a hodnoty ziskové marže jsou nula procent.

Tabulka zobrazuje ohromující počet řá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 ukazatel Profit Margin vždy vrátí hodnotu, proto se zobrazuje.

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 naleznete v části Limity a strategie datových bodů podle typu vizuálu.

Podívejme se, co se stane, když se zlepší definice míry Profit Margin. Nyní vrací hodnotu pouze v případech, kdy ukazatel Sales není BLANK (nebo nulový).

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é opatření vede k efektivnějšímu a praktičtějšímu zážitku pro uživatele vašich výkazů.

snímek obrazovky Power BI Desktopu s vizuálem tabulky dat s filtrovaným obsahem

Spropitné

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

Doporučení

Doporučuje se, aby vaše opatření vracela BLANK, když nelze vrátit smysluplnou hodnotu.

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