Subtotali di un visual matrice come somma

Il software per la BI di Microsoft, leader nel mercato

Raf1988
Messaggi: 83 | Topic creati
Iscritto il: sab 29 ago 2020, 13:18
Ringraziato: 7 volte

Subtotali di un visual matrice come somma

Messaggio da Raf1988 »

ciao Andrea90, ho letto la soluzione che ha suggerito e volevo chiederti perchè è importante mettere il SUMX prima dell'IF e non come espressione dell'IF (in pratica prima del DIVIDE).
Effettivamente da risultati diversi, ma mi sfugge il motivo teorico.
Grazie



Autore del topic
alenove
Messaggi: 10 | Topic creati
Iscritto il: ven 26 ago 2022, 12:20
Ringraziato: 1 volta

Subtotali di un visual matrice come somma

Messaggio da alenove »

Grazie mille Andrea90 per l'ulteriore spiegazione e ora molti dubbi si stanno risolvendo, anche se alcune cose non rimangono oscure.

Scusami il ritardo nella risposta ma mi sono preso un giorno per approfondire il materiale didattico presente sul sito.

Avendo preso fiducia ho provato a produrre un visual con i valori progressivi, ma sono ricascato nello stesso problema.
Qui sotto trovi la misura creata:

Codice: Seleziona tutto

V Volume Progr = 
VAR MaxDate =
    max(Periodo[periodo])
VAR FTEB22tot =
    CALCULATE (
        [FTE B22],
        FILTER (
           ALL( Periodo ),
            Periodo[Periodo] <= MaxDate
        )
    )
VAR FTEB22Avg = 
    divide(FTEB22tot , MaxDate)
VAR PayB22Prog = 
    CALCULATE (
        [Payroll B22],
        FILTER (
           ALL( Periodo ),
            Periodo[Periodo] <= MaxDate
        )
    )
VAR FTEA22tot =
    CALCULATE (
        [FTE A22],
        FILTER (
           ALL( Periodo ),
            Periodo[Periodo] <= MaxDate
        )
    )
VAR FTEA22Avg = 
    divide(FTEA22tot , MaxDate)
VAR PayB22ProgAvg = 
    divide(PayB22Prog, FTEB22Avg)
VAR FTEA22vsB22Avg = 
    FTEA22Avg-FTEB22Avg
RETURN
    if( or (FTEA22Avg = 0 , FTEB22Avg = 0), [Payroll Progr vs B22] , PayB22ProgAvg*FTEA22vsB22Avg)
Sicuramente può essere semplificata e soprattutto corretta, ma ho messo tutti i passaggi per renderla più esplicativa possibile.

Ho pensato che in questo caso non posso avvalermi di Sumx in quanto la tabella su cui dovrei iterare è influenzata dal filtro e quindi non saprei come esplicitarla (ho provato anche a fare la prova empirica, ma non lo dico troppo forte altrimenti mi becco una seconda volta del trafficone... :lol: ma effettivamente non sembra funzionare)

Allego anche il file demo, quello che vorrei è sempre avere i subtotali che corrispondano alla somma dei singoli elementi.

Grazie in anticipo se mi potete dare ancora una mano
Allegati
prova.pbix
(68.74 KiB) Scaricato 10 volte
Avatar utente

Enrico Galli
Messaggi: 890 | Topic creati
Iscritto il: dom 28 giu 2020, 19:03
Luogo: San Giovanni in Persiceto (BO)
Ringraziato: 325 volte
Contatta:

Subtotali di un visual matrice come somma

Messaggio da Enrico Galli »

Raf1988 ha scritto: mar 30 ago 2022, 18:53 ciao Andrea90, ho letto la soluzione che ha suggerito e volevo chiederti perchè è importante mettere il SUMX prima dell'IF e non come espressione dell'IF (in pratica prima del DIVIDE).
Effettivamente da risultati diversi, ma mi sfugge il motivo teorico.
Grazie
Ciao, SUMX è un iteratore, ovvero attiva un row context all'interno della tabella su cui agisce. In altre parole, l'espressione (in questo caso il calcolo contenuto nell'IF, inclusa la condizione stessa) viene valutata per ogni riga della tabella che viene iterata da SUMX, e i singoli risultati vengono infine sommati. Se metti la condizione all'esterno, essa sarà valutata una sola volta nel filter context, e a seconda del risultato viene o meno iterata l'intera tabella con la somma del calcolo impostato. In pratica, la differenza sta nel fatto che in un caso la condizione viene valutata per ogni riga della tabella iterata, nell'altro viene valutata una sola volta a monte
Enrico Galli
Link utili: I nostri tutorial | Come inserire: Immagini - Codice - Risolto
Se il forum ti è stato utile, considera di supportarlo con una libera donazione

Raf1988
Messaggi: 83 | Topic creati
Iscritto il: sab 29 ago 2020, 13:18
Ringraziato: 7 volte

Subtotali di un visual matrice come somma

Messaggio da Raf1988 »

Grazie Enrico Galli, sei stato molto chiaro, in effetti non avevo mai riflettuto su questa differenza pensando che in realtà se la condizione la metto fuori o dentro non cambi nulla.

Autore del topic
alenove
Messaggi: 10 | Topic creati
Iscritto il: ven 26 ago 2022, 12:20
Ringraziato: 1 volta

Subtotali di un visual matrice come somma

Messaggio da alenove »

Ciao,
scusate se vi disturbo ancora sul tema, ma sono due giorni che mi sto rompendo la testa per trovare una soluzione, ma non riesco proprio ad uscirne.

L'unica soluzione che ho trovato per aggirare il problema è costruire il progressivo anche delle misure "V Price" e V Volume" così come ho fatto per le misure dei costi (es. "Payroll A22") che ho costruito così:

Codice: Seleziona tutto

V Volume2 Progr = 
VAR MaxDate =
    max(Periodo[periodo])
VAR VVolumeProgr =
    CALCULATE (
        [V Volume],
        FILTER (
           ALL( Periodo ),
            Periodo[Periodo] <= MaxDate
        )
    )
RETURN
    VVolumeProgr
(piccola nota...se inserisco questa misura nel modellino semplificato che avevo mandato un paio di giorni fa nel Visual trovo -erroneamente- esattamente gli stessi valori che derivano dalla misura che avevo postato sempre un paio di giorni fa-riallego il file. E questo mi risulta ancora più misterioso, perché sul file di lavoro con i dati reali che sto usando, questa misura funziona come mi aspettavo, cioè facendo la somma della misura "V Volume" di ogni mese. Controllate ad esempio il cdc "X", mi aspettavo che "V Volume2 Progr" fosse -18.086,04)

Usando misura (nel file originale) i subtotali sono corretti, ma personalmente trovo sbagliato questo approccio non ovviamente dal lato tecnico, ma per la significatività del dato. Infatti facendo la somma dei singoli mesi si distorce un po' il valore della variante "Volume", soprattutto quando in un dato centro di costo capita che non ci siano HC in uno specifico mese (sicuramente si può aprire una discussione filosofica sul tema).

Spero possiate darmi una mano, grazie ancora!
Allegati
prova_v2.pbix
(82.12 KiB) Scaricato 10 volte

Autore del topic
alenove
Messaggi: 10 | Topic creati
Iscritto il: ven 26 ago 2022, 12:20
Ringraziato: 1 volta

Subtotali di un visual matrice come somma

Messaggio da alenove »

Ciao a tutti,
scusate se scrivo ancora....ma volevo solo un riscontro...a vostro avviso c'è una soluzione? sto cercando di capire come risolvere il problema, ma se anche per voi non c'è possibilità di uscirne lascio perdere...mi basta avere un segnale di speranza...

Grazie e scusate ancora il disturbo
Rispondi