Tento článek je o funkci TREATAS. Ta umožňuje v Power BI a v Power Pivotu vytvářet výpočty, které fungují jako by mezi tabulkami byla relace, i když tam není.

Hodí se tedy v situaci, kdy mezi tabulkami relaci vytvořit nemůžete (třeba abyste se relacemi nezacyklili dokola), ale stejně jí pro výpočet potřebujete.

Jak na to?

Máme dvě tabulky. První je dimenze, která na základě čísla zboží vysvětluje, které zboží se jak jmenuje a jestli je to zelenina nebo ovoce.

Druhá tabulka pak obsahuje mimo jiné tržby, které chceme ve vizuálu sledovat podle rozdělení na ovoce a zeleninu.

S relací (z Goods ID na Goods ID) by to byla hračka, nemuseli bychom ani nic počítat. Bez relace musíme použít funkci TREATAS, spočítat míru a tu použít.

  • REVENUE with treatas = CALCULATE(
       SUM(sales_list[Revenue]);
       TREATAS(
          DISTINCT(goods[Goods ID]);
          sales_list[Goods ID]))

Protože:

  • CALCULATE protože nám spojí dohromady SUM a TREATAS
  • SUM protože sčítáme Revenue
  • TREATAS definuje, které sloupečky ze dvou tabulek spolu tvoří “fiktivní relaci”
  • DISTINCT (nebo VALUES) proto, že tato relace musí mít (jako většina relací) na jedné straně unikátní hodnoty

Pokud jsme takto spočítanou míru použili ve vizuálu, vypadá výsledek takto: