@mvoltolini
Prima nota:
Codice: Seleziona tutto
SUMMARIZE(
factVenditeCorpo,
dimArticoli[nomeArticolo],
"Totale Venduto", SUM(factVenditeCorpo[totaleRiga]),
"Totale Volume", SUM(factVenditeCorpo[qtaVenduta])
)
Non si usa SUMMARIZE() per creare delle colonne calcolate nella tabella virtuale, si usa ADDCOLUMNS() in aggiunta a SUMMARIZE().
Seconda nota:
Codice: Seleziona tutto
FILTER(
factVenditeTesta,
factVenditeTesta[dataVendita] IN DATESBETWEEN(dimCalendario[data], "01/01/2022", "05/01/2022")
)
Non si filtrano intere tabelle, non è performante ed è inoltre incline ad errori perché passerai un intera tabella (e tutte le sue colonne) come argomenti filtro. Inoltre devi essere consapevole del fatto che se passi "factVenditeTesta" alla funzione FILTER() questa utilizzerà solo le righe visibili nel contesto filtro attivo al momento del calcolo e questa cosa può cambiare tantissimo l'output ottenuto.
Terza nota:
Codice: Seleziona tutto
DATESBETWEEN(dimCalendario[data], "01/01/2022", "05/01/2022")
Sai come verrà letto dal sistema quel "05/01/2022" ? Per te dovrebbe essere il 5 Gennaio ?
Per essere sicuri io non utilizzo le stringhe testuali, bensì sfrutto la funzione DATE() ad esempio: DATE ( 2022, 01, 05 ) per indicare che si parla del 5 di gennaio.
Se la tabella factVenditeTesta filtra la tabella factVenditeCorpo con una relazione 1 a molti e se la tabella factVenditeTesta è legata alla tua tabella Calendario puoi filtrare direttamente la factVenditeCorpo che utilizzerai dentro SUMMARIZE() cosi da passare alla formula una tabella già filtrata secondo le tue richieste.
Detto questo per maggior supporto è necessario avere un file demo (non serve identico all'originale, basta un modello dati caricato con qualche riga presa a caso delle sole colonne che utilizzerai ed il risultato desiderato scritto a mano).
Andrea