DAX ALLEXCEPT para soma por categoria das tabelas de múltiplas dimensões

I gostaria de calcular o total por categoria. A categoria está na tabela de dimensões.

Aqui está o arquivo de amostra: DAX ALLEXCEPT total por categoria.pbix

Eu tenho o seguinte modelo:

enter a descrição da imagem aqui

Estes são os meus resultados esperados. Total por Cor:

enter a descrição da imagem aqui

Pensei que poderia alcançar os resultados esperados pela seguinte medida:

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

Or alternativamente usando o método sugerido por 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 ) )

Bambas estas medidas funcionam e retornam os resultados apropriados. No entanto, eles multiplicam os resultados exibidos tornando o produto cartesiano de todas as dimensões. Porquê? Como prevenir?

A atingir os resultados esperados com a medida:

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

enter a descrição da imagem aqui

Provavelmente estou a perder algo sobre a função ALLEXCEPT para não obter o que quero para a primeira foto. Qual é a lógica por trás do uso da função ALLEXCEPT com múltiplas tabelas, especialmente com dimensões distantes, longe do centro do esquema estelar.

Que padrão usar? Aqui encontrei uma solução promissora que se parece com isto:

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

Mas como eu testei antes não funciona. Ele não agrega por dimensões, mas produz como elas são.

Então eu descobri que esta é a direção correta:

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

Especulo que também possa haver outra forma.

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

Se apenas pudéssemos recuperar um único valor escalar de GroupedSales do MyTableVariable e combiná-lo com a cor apropriada na tabela visual.

Estaria muito grato por qualquer outra forma de calcular o total para a categoria.