Errore riga totale con misura SUMX L’argomento è risolto

Il software per la BI di Microsoft, leader nel mercato
Avatar utente

alex77
Messaggi: 160 | Topic creati
Iscritto il: sab 24 ott 2020, 23:04
Luogo: Treviso
Ringraziato: 11 volte

Errore riga totale con misura SUMX

Messaggio da alex77 »

Buongiorno a tutti,
devo calcolare il costo totale della merce venduta, moltiplicando la qta venduta per un costo di listino. Per chi segue le mie avventure con il dax in questo forum ( :D ) avrà visto qualcosa di simile in precedenti post, infatti ho "riciclato" una misura già sperimentata. Funziona "quasi" tutto bene, il problema è la riga del totale. "Perdendo" il contesto di filtro della data, considera come data di listino il 31/12 e valorizza la merce venduta durante l'anno tutta con listino 31/12 (nell'altro report in cui usavo la misura, tutto funzionava perchè si trattava di giacenza di magazzino, quindi la logica è diversa) e non so come risolvere il problema.
Di seguito la misura e allego un file excel di esempio (se vedete, nella pivot, la somma dei due valori per data non corrisponde al totale, per il motivo che spiegavo sopra).

Codice: Seleziona tutto

DAX.Costo Totale = 
VAR vDataMax =
    MAXX ( ENDOFMONTH ( dimcalendario[Data] ), [Data] )
VAR vValore =
    SUMX (
        ADDCOLUMNS (
            VALUES( dimArticolo[Codice Articolo]),
            "_CostoTotale",
                [DAX.Volume Vendite]
                    * CALCULATE (
                        MAX ( factListino[Prezzo Listino] ),
                        dimCalendario[Data] = vDataMax
                    )
        ),
        [_CostoTotale]
    )
RETURN
    vValore
Grazie per un eventuale aiuto
Allegati
Esempio.xlsx
(465.86 KiB) Scaricato 14 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:

Errore riga totale con misura SUMX

Messaggio da Enrico Galli »

Ciao prova così:

Codice: Seleziona tutto

DAX.Costo Totale =
VAR vValore =
    SUMX (
        ADDCOLUMNS (
            VALUES ( dimArticolo[Codice Articolo] ),
            "_CostoTotale",
                [DAX.Volume Vendite]
                    *
                    VAR vDataMax =
                        MAXX ( ENDOFMONTH ( dimcalendario[Data] ), [Data] )
                    RETURN
                        CALCULATE (
                            MAX ( factListino[Prezzo Listino] ),
                            dimCalendario[Data] = vDataMax
                        )
        ),
        [_CostoTotale]
    )
RETURN
    vValore
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
Avatar utente

Autore del topic
alex77
Messaggi: 160 | Topic creati
Iscritto il: sab 24 ott 2020, 23:04
Luogo: Treviso
Ringraziato: 11 volte

Errore riga totale con misura SUMX

Messaggio da alex77 »

Ciao Enrico Galli ,
grazie della risposta.
Mi pare però non funzioni. Mi dà lo stesso risultato (sbagliato) di prima.

A.
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:

Errore riga totale con misura SUMX

Messaggio da Enrico Galli »

Prova sostituendo nel mio codice
MAXX ( ENDOFMONTH ( dimcalendario[Data] ), [Data] )
con
CALCULATE ( MAXX ( ENDOFMONTH ( dimcalendario[Data] ), [Data] ) )
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
Avatar utente

Andrea90
Messaggi: 2240 | Topic creati
Iscritto il: dom 28 giu 2020, 19:41
Luogo: Bologna
Ringraziato: 672 volte
Contatta:

Errore riga totale con misura SUMX

Messaggio da Andrea90 »

Prova questa misura:

Codice: Seleziona tutto

=IF( ISFILTERED( dimCalendario[Data] ); [DAX.Costo Totale]; [# DAX.CostoxSubTotale])
Dove DAX.CostoxSubTotale è una misura ad hoc che ha questa formula:

Codice: Seleziona tutto

=VAR TempTab =
    CALCULATETABLE (
        ADDCOLUMNS (
            VALUES ( dimCalendario[EofMonth] );
            "@TotQty"; [DAX.Volume Vendite];
            "@ListinoPrice"; CALCULATE ( MAXX ( factListino; factListino[Prezzo Listino] ) )
        );
        KEEPFILTERS ( dimArticolo[Codice Articolo] )
    )
VAR Result =
    SUMX ( TempTab; [@ListinoPrice] * [@TotQty] )
RETURN
    Result
Per funzionare ho aggiunto una colonna nel tuo calendario con EofMonth

Andrea
Se hai gradito l'aiuto che hai ricevuto considera di contribuire alle spese per il mantenimento del forum facendo una libera DONAZIONE --> Link

Ricordarsi di segnare come "RISOLTE" le discussioni per le quali si è ricevuto un feedback positivo. Per vedere come fare --> Link
Avatar utente

Autore del topic
alex77
Messaggi: 160 | Topic creati
Iscritto il: sab 24 ott 2020, 23:04
Luogo: Treviso
Ringraziato: 11 volte

Errore riga totale con misura SUMX

Messaggio da alex77 »

Grazie Andrea90 ed Enrico Galli per le risposte.
Ho utilizzato la soluzione di Andrea, quella di Enrico non sembra funzionare.
Ho provato la soluzione di Andrea sul file esempio e tutto bene. Nel modello in PBI però mi torna un errore, presumo dipenda da come sono fatti i codici nella nostra anagrafica articoli. L'errore:

MdxScript(Model) (799, 9) Calculation error in measure 'DAX Costo'[DAX.Costo Totale Somma]: Non è possibile convertire il valore '043029. 001' di tipo Text nel tipo True/False.

Che dipenda dal fatto che nell'articolo in questione ci sono degli spazi tra il punto e il finale 001? (presumo dia l'errore su quel codice perchè sarà il primo che incontra...)

Grazie per un eventuale aiuto
Avatar utente

Autore del topic
alex77
Messaggi: 160 | Topic creati
Iscritto il: sab 24 ott 2020, 23:04
Luogo: Treviso
Ringraziato: 11 volte

Errore riga totale con misura SUMX

Messaggio da alex77 »

Aggiungo: danno fastidio anche alcuni codici che iniziano con lettere, tipo "CA000". Ho provato a prendere le prime mille righe della dimArticoli, sono solo codici fatti da numeri, senza lettere punti e spazi, e tutto funziona
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:

Errore riga totale con misura SUMX

Messaggio da Enrico Galli »

Ma l'avevi messo fin dall'inizio il file di esempio? Io ti sgrido perché non lo metti, e poi quando lo metti non lo guardo neanche :lol:
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
Avatar utente

Autore del topic
alex77
Messaggi: 160 | Topic creati
Iscritto il: sab 24 ott 2020, 23:04
Luogo: Treviso
Ringraziato: 11 volte

Errore riga totale con misura SUMX

Messaggio da alex77 »

Enrico Galli certo che l'avevo messo, quando prendo ceffoni cerco di migliorare :D
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:

Errore riga totale con misura SUMX

Messaggio da Enrico Galli »

E infatti hai visto che ti ha risposto anche Andrea, che in quanto MOLTO più bravo di me, ha trovato una strada giusta ;)
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
Rispondi