DAX ALLEXCEPT do sumy według kategorii z wielu tabel wymiarów

Chciałbym obliczyć sumę według kategorii. Kategoria znajduje się w tabeli wymiarów.

Tutaj jest przykładowy plik: DAX ALLEXCEPT total by category.pbix

Mam następujący model:

enter image description here

Takie są moje oczekiwane wyniki. Total by Color:

enter image description here

Myślałem, że mogę osiągnąć oczekiwane wyniki za pomocą następującego środka:

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

Albo alternatywnie za pomocą metody sugerowanej przez Alberto Ferrari 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 ) )

Oba te środki działają i zwracają prawidłowe wyniki. Jednak mnożą one wyświetlane wyniki tworząc iloczyn kartezjański wszystkich wymiarów. Dlaczego tak się dzieje? Jak temu zapobiec?

Osiągam oczekiwane wyniki za pomocą działania:

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

enter image description here

Prawdopodobnie brakuje mi czegoś w funkcji ALLEXCEPT, więc nie dostaję tego, co chcę za pierwszym razem. Jaka jest logika używania funkcji ALLEXCEPT z wieloma tabelami, szczególnie z odległymi wymiarami, z dala od centrum schematu gwiazdy.

Jakiego wzoru użyć? Tutaj znalazłem obiecujące rozwiązanie, które wygląda tak:

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

Ale jak testowałem to wcześniej nie działa. Nie agreguje według wymiarów, ale produkuje tak jak są.

Więc dowiedziałem się, że to jest poprawny kierunek:

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

Spekuluję, że może być też inny sposób.

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

Jeśli tylko moglibyśmy pobrać pojedynczą wartość skalarną GroupedSales z MyTableVariable i dopasować ją do odpowiedniego koloru w tabeli wizualnej.

Będę bardzo wdzięczny za wszelkie dalsze spostrzeżenia dotyczące obliczania sumy dla kategorii.