DAX ALLEXCEPT per sommare per categoria di più tabelle di dimensione

Vorrei calcolare il totale per categoria. La categoria è nella tabella delle dimensioni.

Ecco un file di esempio: DAX ALLEXCEPT totale per categoria.pbix

Ho il seguente modello:

inserire qui la descrizione dell'immagine

Questi sono i miei risultati attesi. Totale per colore:

inserire qui la descrizione dell'immagine

Pensavo di poter ottenere i risultati attesi con la seguente misura:

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

O in alternativa usando il metodo suggerito da 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 ) )

Entrambe queste misure funzionano e restituiscono risultati adeguati. Tuttavia moltiplicano i risultati visualizzati facendo il prodotto cartesiano di tutte le dimensioni. Perché? Come evitarlo?

Io ottengo i risultati attesi con la misura:

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

inserire qui la descrizione dell'immagine

Probabilmente mi manca qualcosa della funzione ALLEXCEPT per cui non ottengo ciò che voglio al primo colpo. Qual è la logica dietro l’uso della funzione ALLEXCEPT con più tabelle, specialmente con dimensioni lontane, lontano dal centro dello schema a stella.

Quale schema usare? Qui ho trovato una soluzione promettente che assomiglia a questa:

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

Ma come ho provato prima non funziona. Non aggrega per dimensioni ma produce come sono.

Così ho scoperto che questa è la direzione corretta:

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

Ipotizzo che ci potrebbe essere anche un altro modo.

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

Se solo potessimo recuperare il singolo valore scalare di GroupedSales da MyTableVariable e abbinarlo al colore appropriato nella tabella visiva.

Sarei molto grato per qualsiasi ulteriore approfondimento nel calcolo del totale per categoria.