Pagina 1 di 2

Scorporo IVA con Misura

Inviato: lun 22 gen 2024, 23:42
da Master
Buonasera,

ho una situazione come quella riportata in allegato (di mera fantasia).
Ho bisogno di una Misura da inserire nella tabella PIVOT che calcoli lo scorporo dell'IVA al prezzo medio
La misura dovrà comparire solo sulla media complessiva e non sulle colonne intermedie.

Avete cortesemete indicazioni ? Io ottengo una misura con errore.

Scorporo IVA con Misura

Inviato: mar 23 gen 2024, 6:09
da Andrea90
@Master,

Allega un file excel con il risultato desiderato scritto a mano (spiegando la logica di calcolo che hai applicato).

Le misure intanto vanno scritte in linguaggio DAX, non stai lavorando con delle pivot normali, ma con power pivot, quindi non puoi prendere i campi e trascinarli semplicemente nell'area valori.

Andrea

Scorporo IVA con Misura

Inviato: mar 23 gen 2024, 7:30
da Master
Grazie mille per la gentile disponibilità
File in allegato

Scorporo IVA con Misura

Inviato: mar 23 gen 2024, 7:35
da Andrea90
@Master,

Hai controllato il file che hai allegato prima di inviarlo?
Hai visto che per come hai impostato il calcolo l'ammontare lordo è sempre 65 in ciascuna riga?

Andrea

Scorporo IVA con Misura

Inviato: mar 23 gen 2024, 18:28
da Master
Eccomi qua per il divertimento del dopo-lavoro!
Si, con la fretta non ci ho fatto caso ...probabilmente perchè la formula esterna alla Pivot a preso come riferimento fisso il valore del campo F5 della pivot. In sintesi, ho una campo nella pivot con il calcolo di un valore medio; tale valore sarebbe il lordo e non riesco a trovare la formula DAX per lo scorporo dell'IVA.Ti ringrazio in anticipo per qualsiasi suggerimento.

Scorporo IVA con Misura

Inviato: mar 23 gen 2024, 18:45
da Andrea90
@Master,

Tu non hai un campo con il valore medio, perché hai semplicemente preso il campo importo e poi lo hai trascinato nell'area valori. Questo è un metodo che va bene per le pivot, ma non per le power pivot. Quindi se vuoi utilizzare quelle ti devi prima creare una misura che calcoli la media dell'importo.

Poi ti devi chiedere come vorrai gestire il valore della media sulla riga di totale, che a te porta 48.3 ma semplicemente perché lui ha preso l'intera colonna degli importi e ne ha fatto la media, ma se tu selezioni gli importi medi che hai dalla riga 5 alla riga 20 vedrai che la media è diversa.

Idem per il valore dell'importo netto, il quale non è altro che una misura che esegua il DIVIDE() tra il valore medio lordo ed il valore dell'IVA % + 1. Anche qui la gestione della riga di totale può o meno complicare le cose. Per questo ho chiesto (ancora una volta, ma sembra difficile ottenerlo) un esempio numerico del dato che vorresti.

Hai allegato un file con un errore (non sarebbe nemmeno dovuto essere mio il compito di controllare la cosa) per la scarsa attenzione, te l'ho fatto notare e tu hai semplicemente risposto senza allegare il calcolo corretto.

Per concludere, o alleghi il file per bene con il calcolo che vuoi ottenere (anche alla luce della gestione dei totali) o è inutile proseguire.

Andrea

Scorporo IVA con Misura

Inviato: mar 23 gen 2024, 21:49
da Master
Scusami se non sono stato chiaro, cerco di spiegarmi meglio.

Carico file "Esempio 3.xlxs"

Nel Foglio 1 c'è il dataset di partenza; dati di vendita di determinate categorie di prodotti suddivisi per area geografica e semestre. Sulla base di questi dati ottengo una sintesi nel Foglio 2 ovvero una pivot in cui per ogni area, ottengo il valore medio semestrale. Questo valore mi va bene, è quello che voglio. Il nodo è che dovrei dividere il valore lordo che compare nella Pivot del Foglio 2 nella colonna F per l'aliquota IVA che compare nella colonna C della pivot del Foglio 2. In questo modo vorrei ottenere un valore netto.

Nel Foglio 3 ho ricopiato i soli valori e formato della Pivot ed eseguito le operazioni con banali formule excel evidenziando in verde il risultato che voglio ottenere. Tale risultato dovrebbe essere inglobato nella Pivot ma non so come fare.
Ho tentato di creare una misura ma non capisco formulare in DAX lo scorporo dell''IVA dal valore lordo ed ottengo errore bloccante.

Come scrivo denominatore (1+(Aliquota/100)) ?
Forse, con il comando DIVIDE ?

Scusandomi per l'imprecisione, ringrazio ancora per la gentile collaborazione e disponibilità

Scorporo IVA con Misura

Inviato: mar 23 gen 2024, 22:15
da Andrea90
@Master

Ripeto per l'ennesima volta, devi costruirti le misure in linguaggio DAX. Anche quella media che hai calcolato, non devi prendere il campo importo e trascinarlo nell'area valori. Devi scrivere una misura DAX che contenga l'AVERAGE() di quel campo.

Una volta fatto questo crei una seconda misura che utilizza due variabili:
1) Variabile 1, esegui il calcolo del MAX() del campo iva (a cui poi dividi 100 e sommi 1) --> cosi da avere il tuo denominatore salvato in una variabile
2) Variabile 2, esegui il calcolo che ti serve con DIVIDE() e al numeratore richiami la variabile che hai creato all'inizio e come denominatore la prima variabile.

Ora, tu non vuoi vedere il valore nella riga di totale quindi devi impostare una condizione IF che verifichi se ti trovi o meno sulla colonna di totale e per farlo devi usarlo in combinazione con ISFILTERED(), una cosa simile:

Codice: Seleziona tutto

=
VAR result = IF (
    ISFILTERED ( Intervallo[Area] ) && NOT ( ISFILTERED ( Intervallo[Semestre] ) ),
    DIVIDE ( [Media], MyIva ),
    BLANK ()
)
[Media] è come ho chiamato la prima misura
MyIva è il nome che ho dato alla prima variabile.

Questo è cosa ottieni:
Immagine

Le due colonne vuote le nasconderai. Ci sono metodi per evitare questa cosa ma devi costruirti dei set di power pivot ed è una cosa avanzata.

Andrea

Scorporo IVA con Misura

Inviato: mer 24 gen 2024, 19:40
da Master
Ti ringrazio nuovamente per la gentile disponibilità.

Ho iniziato a capire ma qualcosa non mi torna con il procedimento descritto.

In allegato il file "Esempio 3" con il Foglio 5.

In questo nuovo foglio ho provato a seguire i pasaggi indicati; ho creato una "misura1" con formula AVERAGE([Importo]) con la media della variabile Importo.

Poi, non ho capito il secondo passaggio ovvero una seconda misura che utilizza due variabili.

Ho creato due misure: "misura2" con formula (MAX([IVA])/100)+1 e "misura3" con formula DIVIDE([misura 1];[misura 2])

Alla fine ho trascinato "misura3" nel riquadro dei valori della pivot e ottengo i tuoi stessi valori sulla colonna "TotalTest"

Tuttavia c'è qualcosa che non mi torna nei valori intermedi. Potresti cortesemente indicarmi dove sbaglio ?

Grazie ancora per la preziosa disponibilità, sono alle prime armi...

Scorporo IVA con Misura

Inviato: mer 24 gen 2024, 22:33
da Andrea90
Master ha scritto: mer 24 gen 2024, 19:40 con formula AVERAGE([Importo])
Quando esegui una operazione su di un dato campo del modello è buona prassi far precedere il nome del campo dal nome della tabella che lo contiene:

Codice: Seleziona tutto

=AVERAGE(Intervallo[Importo])
Poi non devi creare altre due misure. Ti ho scritto:

Una volta fatto questo crei una seconda misura che utilizza due variabili:
1) Variabile 1, esegui il calcolo del MAX() del campo iva (a cui poi dividi 100 e sommi 1) --> cosi da avere il tuo denominatore salvato in una variabile
2) Variabile 2, esegui il calcolo che ti serve con DIVIDE() e al numeratore richiami la variabile che hai creato all'inizio e come denominatore la prima variabile.

Quindi ti crei una misura che dentro utilizza delle variabili (se non sai come si usano le variabili sul forum troverai diversi esempi, idem facendo una breve ricerca su google). Una di queste variabili eseguirà il calcolo del:

Codice: Seleziona tutto

MAX( Intervallo[IVA] )/100 + 1
L'altra eseguirà il codice che ti ho indicato nel precedente messaggio (attenzione al nome che usi per chiamare la variabile, nel mio esempio era MyIva).

Quando in una misura utilizzi delle variabili la struttura è la seguente:

Codice: Seleziona tutto

VAR nome_var_1 = <codice DAX>
VAR nome_var_2 = <codice DAX>
return nome_var_2
In questo caso vuoi che l'esito di questa misura restituisca il valore ottenuto da "nome_var_2".

Andrea