Musíte počítat s tím, že někteří zákazníci negenerují tržby každý měsíc a pro zjištění průměru potřebujete počet měsíců, ve kterých se tržby generují.
Příklad. Náhled na přehled tržeb v kontingenční tabulce. Zde je vidět, že někteří zákazníci negenerují tržby pravidelně. Pro výpočet průměrné měsíční tržby potřebujeme zjisti počet měsíců, ve kterých byla realizovaná tržba.
Potřebujeme vytvořit kontingenční tabulku, která zobrazí průměrné měsíční tržby v každém roce. Postup bude následující. Vyberte data a spusťte průvodce, pro vytvoření kontingenční tabulky. V tomto okně zatrhněte volbu Přidat tato data do datového modelu a dokončete průvodce.
V polích kontingenční tabulky zvolte zdroj dat a pravým tlačítkem myši zobrazte kontextové menu. Zde se zobrazí volba Přidat míru.... Klikněte na ni.
Zobrazí se okno pro zadání nové míry (vzorce, podobně jako v excelu). Postupně vložte vzorce pro výpočet počtu měsíců, celkových prodejů a měsíčního průměru. Každý vložený vzorec se pak zobrazí v seznamu polí kontingenční tabulky jako nové pole.
Nová pole (vzorce) vložte do kontingenční tabulky do oblasti hodnot. Výsledná tabulka pak může vypadat takto.
Komentáře
pokud přidáme sloupec se souhrny za více let, bude výsledek ... podivný.
Kromě toho se metoda nehodí pro jiné míry (průměr unikátných zákazníků v měsíci, ...
Podobně, jako v excelu existují *ifs funkce, má datový model *X funkce. V určitém ohledu si jsou podobné, jen verze v datovém modelu je podstatně výkonější.
Pro výpočet průměru čehokoliv můžeme použít funkci AVERAGEX.
Pokud chceme tedy počítat průměry měsíčních sum, je v daxu přirozený zápis:
Definujeme sumu (tady ji máme) : [Total sales]
Spočítáme průměr:
=AVERAGEX(VALUES(tabulka[mesic]);[Total sales])
Toto je ekvivalent měřítka v článku.
Výraz VALUES(tabulka[mesic]) vrátí tabulku s unikátními měsíci v aktuálním výběru. AVERAGEX pro každý takto vybraný měsíc spočte [Total sales] a vrátí průměr spočtených hodnot.
Pokud chceme navíc zohlednit rok (tj. aby výraz fungoval i pro více let) upravíme první parametr:
=AVERAGEX(SUMMARIZE(tabulka; tabulka[rok], tabulka[mesic] );[Total sales])
Výraz, pokud jsou ve výběru data za více let, spočte pro každý rok a měsíc v aktuálním výběru hodnotu [Total sales] a vrátí průměr spočtených měsíčních hodnot.citovat