Pagina 1 di 2

Problema nel calcolo fatturato con tassi di cambio diversi

Inviato: sab 3 ott 2020, 16:39
da Ranius
Buongiorno a tutti!
In un data model riscontro il seguente problema: ho dei valori espressi in divise differenti (es. il fatturato) e avevo creato una tabella con i tassi di cambio (12 mesi per ciascun anno e per ciascuna divisa) in modo da dividere il fatturato in valuta locale per il relativo tasso di cambio e ottenere il fatturato in euro.
Il fatturato è una formula dax, in questo caso una SUM poichè nel database di origine esiste già una colonna in cui viene calcolato; per quanto riguarda il tasso di cambio ho utilizzato la formula AVERAGE poichè il valore è ripetuto 12 volte e quindi non posso utilizzare la SUM.
Arriviamo al problema: la formula funziona su tutte le righe di tutti i mesi ma quando fa il totalone generale non aggrega ma divide per la media dei tassi di cambio, sbagliando il risultato. Tutto piuttosto logico, solo che non ci avevo pensato.
Ho pensato di usare una AVERAGEX per calcolare il valore in euro dividendo direttamente i campi delle 2 tabelle, ma purtroppo non c'è relazione tra le stesse e non può esserci perchè non ho una chiave univoca (essendo ciascun tasso ripetuto per 12 mesi).
Ovviamente potrei inserire nel database la colonna con il tasso di cambio e far moltiplicare direttamente le 2 misure, ma appesantirei il database e poi dovrei fare operazioni manuali ad ogni caricamento.
Conoscete un'altra strada?
Grazie in anticipo a tutti.

Michele

Problema nel calcolo fatturato con tassi di cambio diversi

Inviato: sab 3 ott 2020, 17:34
da Andrea90
Ciao Lanzaro.m,

probabilmente non avrò capito a fondo il problema pertanto scusa se la domanda ti sembrerà ovvia.

Se in una colonna hai il fatturato (immagino che avrai anche l'indicazione della valuta legata a quella relativa riga di fatturato), a questo punto non potresti crearti una chiave univoca con la combinazione di mese_valuta? Così che la colleghi alla tabella che contiene i tassi per valuta per singolo mese (anche li creando la chiave univoca). Così che una vendita di maggio la valuterai con il relativo tasso di cambio di maggio e non più con una media (tramite RELATED).

Se invece vuoi una media per valuta perchè allora non trasformi la tabella dei cambi per valuta (12 righe per ciascuna) in una tabella aggregata dove hai per ciascuna riga il solo dato medio? Così da legare la valuta della tabella fact con la valuta della tabella che contiene i tassi medi.

A presto,

Andrea

Problema nel calcolo fatturato con tassi di cambio diversi

Inviato: sab 3 ott 2020, 17:44
da Ranius
Ciao, intanto grazie per la pronta risposta.
Dunque, potrei utilizzare la prima soluzione, ma dovrei aggiungere una colonna nella fact table poichè in realtà il campo "tasso di cambio" non c'è nella fonte dati (lo conosco perchè ho il campo "società" a cui è abbinato il relativo tasso nella tabella "divise"). Potrei farlo in power query abbinando la divisa alla società con una colonna condizionale e poi creando la chiave con la data come mi hai suggerito, in effetti.
Mi piaceva l'idea di risolverla lasciando il modello invariato, ma non so se è possibile.....

Per quanto riguarda la seconda soluzione devo precisarti che non ho bisogno di una media dei tassi, ma sono costretto ad utilizzarla perchè essendo il tasso ripetuto per 12 volte se utilizzo SUM per rendere la colonna in forma DAX e quindi utilizzarla nelle successive formule lui mi somma il tasso 12 volte....

Michele

Problema nel calcolo fatturato con tassi di cambio diversi

Inviato: sab 3 ott 2020, 18:04
da Andrea90
Ciao Michele,

purtroppo non vedendo il tuo modello dati non sono in grado di entrare nel merito della cosa. Così a prima vista direi che se non è tua intenzione calcolarti una media, ma un valore puntuale del tasso (mensile) allora la prima soluzione non mi sembra male. Si tratta di creare una semplice colonna calcolata che servirà da chiave per il collegamento delle due tabelle.

A quel punto con un semplice RELATED sarai in grado di calcolarti direttamente con una misura il valore desiderato.

Andrea

Problema nel calcolo fatturato con tassi di cambio diversi

Inviato: sab 3 ott 2020, 19:04
da Ranius
Si, ho optato per questa soluzione e funziona perfettamente! Ti ringrazio!
Ero alla ricerca di soluzioni più macchinose e avventurose mentre tutto si è risolto velocemente.
Grazie ancora!

Problema nel calcolo fatturato con tassi di cambio diversi

Inviato: mer 14 ott 2020, 14:17
da Ranius
Ciao!
Ho applicato la soluzione che mi ha suggerito Andrea90 con successo.
Però ho riscontrato un problema. Su di un database funziona perfettamente mentre su di un altro converte correttamente alcuni dati mentre altri no, in quel caso il valore è leggermente superiore o inferiore.
Sono andato in dettaglio e ho individuato i prodotti sui quali si verifica il problema e non hanno nulla di strano.
Premetto che ho già verificato che i tassi di cambio siano sempre uguali ogni mese.
Posto anche la formula utilizzata, ma ripeto in un altro database con le medesime relazioni utilizzo la stessa chiave e la stessa misura dax e tutto funziona perfettamente, riga per riga.
Vi è mai capitato?
Grazie,
Michele

Codice: Seleziona tutto

Sales K€ = SUMX('Budget manufacturing_drop';DIVIDE([Sales];RELATED(Currency_drop[Rate]);0))

Problema nel calcolo fatturato con tassi di cambio diversi

Inviato: mer 14 ott 2020, 15:37
da Ranius
Allego anche uno screen print del data model sperando di aggiungere qualche info utile.
Immagine

Problema nel calcolo fatturato con tassi di cambio diversi

Inviato: mer 14 ott 2020, 16:08
da Enrico Galli
Ciao. Senza file è praticamente impossibile valutare, ma il computer non sbaglia di certo i conti: evidentemente il filter context dentro al quale si muove la tua misura espone qualche riga in più (o in meno) di quelle che ti aspetti, ma intuirne il motivo non è alla mia portata :)

Problema nel calcolo fatturato con tassi di cambio diversi

Inviato: mer 14 ott 2020, 16:47
da Ranius
Si ho pensato anche io alla stessa cosa, ma spulciando le riga non ho rilevato alcunchè purtroppo.
Cmq ti preparo il file esportato in Excel con i dettagli.

Problema nel calcolo fatturato con tassi di cambio diversi

Inviato: mer 14 ott 2020, 20:07
da Ranius
Ecco in allegato un estratto. Il tasso di cambio è 4,3 uguale ogni mese del budget.
Il campo "sales" è un SUM dell'analoga colonna della tabella mentre il campo "sales k€" è quella che ho allegato prima:

Codice: Seleziona tutto

Sales K€ = SUMX('Budget manufacturing_drop';DIVIDE([Sales];RELATED(Currency_drop[Rate]);0)
Poi ho inserito una formula di controllo nel campo "check ex rate sales":

Codice: Seleziona tutto

Check ex rate sales = DIVIDE([Sales];[Sales K€];0)
In quest'ultimo campo si possono vedere subito i casi in cui il calcolo non sta funzionando.
Ci sono dei valori blank nel campo "part number" ma dovrebbero essere ininfluenti sul calcolo.