DAX ALLEXCEPT pro součet podle kategorií více dimenzionálních tabulek

Potřeboval bych vypočítat součet podle kategorií. Kategorie je v tabulce dimenzí.

Tady je ukázkový soubor: DAX ALLEXCEPT total by category.pbix

Mám následující model:

zde uveďte popis obrázku

Tyto jsou mé očekávané výsledky. Celkem podle barev:

vložte popis obrázku zde

Myslel jsem si, že očekávaných výsledků dosáhnu následujícím opatřením:

ALLEXCEPT_color =CALCULATE ( , ALLEXCEPT ( FactTable, -- surprisingly 'dim1' table in that place gives wrong results dim1 ))

Nebo alternativně pomocí metody navržené Albertem Ferrarim https://www.sqlbi.com/articles/using-allexcept-versus-all-and-values/:

ALL_VALUES_color = CALCULATE ( , ALL (FactTable), -- again, 'dim1' produces wrong results, has to be FactTable VALUES ( dim1 ) )

Obě tato opatření fungují a vracejí správné výsledky. Zobrazené výsledky však násobí a vytvářejí kartézský součin všech rozměrů. Proč a jak tomu zabránit?

Očekávaných výsledků dosáhnu pomocí opatření:

Expected_Results_Color =IF ( ISBLANK ( ), BLANK (), )

napište sem popis obrázku

Pravděpodobně mi něco chybí ve funkci ALLEXCEPT, takže na první pokus nedostanu to, co chci. Jakou logiku má použití funkce ALLEXCEPT u více tabulek, zejména u vzdálených rozměrů, daleko od středu hvězdicového schématu.

Jaký vzor použít? Tady jsem našel slibné řešení, které vypadá takto:

ByCategories =CALCULATE ( SUM ( FactTable ), ALLEXCEPT ( dim1, dim1 ), ALLEXCEPT ( dim2, dim2 ), ALLEXCEPT ( dim3, dim3 ))

Ale jak jsem to předtím testoval, tak to nefunguje. Neagreguje to podle rozměrů, ale vytváří to tak, jak jsou.

Takže jsem zjistil, že toto je správný směr:

ByCategories =CALCULATE ( SUM ( FactTable ), ALLEXCEPT ( FactTable, -- here be difference dim1, dim2, dim3 ))

Spekuluji, že by mohl existovat i jiný způsob.

Measure = var MyTableVariable = ADDCOLUMNS ( VALUES ( dim1 ), "GroupedSales", ) RETURN ...

Jestli by šlo z MyTableVariable načíst jednu skalární hodnotu GroupedSales a přiřadit jí příslušnou barvu ve vizuálu tabulky.

Byl bych velmi vděčný za jakékoliv další postřehy při výpočtu celkového součtu pro kategorii.