Tento článek popisuje, jak se v DAXu liší logika funkcí SUMX a SUM.

Vyjdeme z této tabulky, kde chceme spočítat pro tři druhy produktů celkové ceny.

Např. u Vanila ice cream má tedy vyjít 2880 (= 12 * 110 + 13 * 120).

Máme použít funkci SUM, nebo SUMX?

SUM

Nová míra používající SUM by se zapsala nějak takto:

  • SUM total price = SUM(‘Table'[Pieces])*SUM(‘Table'[Unit price])

Výsledek je špatně. Protože SUM nejprve sečte jeden sloupec, a ten součet pak vynásobí součtem druhého sloupce.

Takže takhle ne.

SUMX

Tak co použít SUMX?

  • SUMX total price = SUMX(‘Table’;’Table'[Pieces]*’Table'[Unit price])

To už je správně. Protože SUMX jde řádek po řádku. Každý řádek spočte zvlášť, a a pak je sečte. Logika je obdobná jako u excelovské funkce SOUČIN.SKALÁRNÍ.