DAX ALLEXCEPT för att summera per kategori i flera dimensionstabeller

Jag vill beräkna summan per kategori. Kategorin finns i dimensionstabellen.

Här är en exempelfil: Jag har följande modell:

Inför bildbeskrivning här

Detta är mina förväntade resultat. Totalt efter färg:

inför bildbeskrivning här

Jag trodde att jag kunde uppnå förväntade resultat genom följande åtgärd:

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

Och alternativt genom att använda den metod som Alberto Ferrari https://www.sqlbi.com/articles/using-allexcept-versus-all-and-values/ föreslog:

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

Båda dessa åtgärder fungerar och ger korrekta resultat. De multiplicerar dock de visade resultaten genom att göra en kartesisk produkt av alla dimensioner. Varför? Hur kan man förhindra det?

Jag uppnår förväntade resultat med åtgärden:

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

inför bildbeskrivning här

Förmodligen saknar jag något om ALLEXCEPT-funktionen så jag får inte det jag vill ha i första taget. Vad är logiken bakom att använda ALLEXCEPT-funktionen med flera tabeller, särskilt med långt ifrån dimensioner, bort från centrum av stjärnschemat.

Vilket mönster ska man använda? Här hittade jag en lovande lösning som ser ut så här:

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

Men som jag testat det tidigare fungerar det inte. Den aggregerar inte efter dimensioner utan producerar som de är.

Så jag kom fram till att detta är rätt riktning:

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

Jag spekulerar i att det också kan finnas ett annat sätt.

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

Om vi bara kunde hämta ett enda skalärt värde av GroupedSales från MyTableVariable och matcha det med lämplig färg i tabellens bild.

Jag skulle vara mycket tacksam för ytterligare information om hur man beräknar totalsumman för kategori.