• Non ci sono risultati.

Nasce l’esigenza di dover gestire la valuta delle aziende per transazioni finanziare estere per future analisi previsionali globali.

Ad esempio è possibile ipotizzare aziende internazionali e non che presentato diverse filiali in tutto il mondo o hanno stipulato accordi aziendali con altre società in aree geografiche differenti.

A partire dalla definizione del "Multidimensional Data Model", l’utente

amministratore di una “entità” definisce in fase di inizializzazione della propria applicazione la "valuta aziendale" ovvero la valuta locale della sede principale. Il calcolo della conversione di importi registrati in una valuta differente

avviene mediante l’accesso all'elenco dei tassi di conversione periodicamente aggiornati.

L'applicazione, grazie a tale calcolo, restituisce tutti gli importi finanziari esteri convertiti nella propria valuta locale, offrendo un'efficiente capacità di gestione Multi-Currency che include calcoli multipli del tasso di cambio per ogni

specifico scenario di riferimento.

Per questi motivi, è necessario implementare una soluzione/flusso ETL nel modello per la gestione della valuta in fase di progettazione tabulare, che permetta in generale, di convertire tutti gli importi da una valuta di origine ad una di destinazione.

Per far ciò, è utile conoscere il coefficiente moltiplicativo di conversione definito “FX-Rate” (Foreign Exchange Rate) memorizzati nella Tabella 6.2 rinominata “Rate_Table”, sorgente dati relazionale utilizzata in fase di data entry, contenente per ogni scenario e periodo differente le informazioni sui vari FX-Rate definiti “Medio”, “Periodico” e “Finale”, periodicamente

(rappresentata in Tabella 6.2 dal campo “Cod_Valuta”). Un esempio di

immissione dati nella “Rate_Table” per una istanza applicativa, è evidenziabile in Tabella 6.3.

Tabella 6.2: Struttura della “Rate_Table” contenente i vari FX-Rate (Medio, Periodico e Finale) ottenuti a partire dalla valuta transazionale USD verso qualsiasi valuta differente.

Tabelle 6.3: FX-Rate presenti all’interno della Rate_Table, per un esempio di istanza applicativa, ottenuti a partire dalla valuta transazionale verso un set di valute, per uno specifico scenario e periodo pre-selezionato (“,##” indica la presenza all’interno della cella di valori decimali).

6.6.2 IMPLEMENTAZIONE DELLA SOLUZIONE

Gli FX-Rate variano a seconda dello scenario, del periodo e della tipologia di conto (per importi relativi a conti di tipo Balance&Sheet si applicano FX-Rate finali, mentre per importi relativi a conti Profit&Loss si applicano FX-Rate medi).

Poiché il metodo per la conversione deve essere compatibile per qualsiasi cambio a partire da una valuta (non esclusivamente valuta transazionale USD), nasce l’esigenza di definire un metodo generale per la gestione Multi-Currency.

RATE_TABLE CHIAVE COLONNA FK COD_SCENARIO FK COD_PERIODO FK COD_VALUTA - CAMBIO_MEDIO - CAMBIO_PERIODICO - CAMBIO_FINALE VALUTA TRANSAZIONALE RATE_TABLE USD

COD_VALUTA CAMBIO_MEDIO CAMBIO_PERIODICO CAMBIO_FINALE

USD 1,00 1,00 1,00 EUR ,## ,## ,## CAD ,## ,## ,## YEN ,## ,## ,## JPY ,## ,## ,## AUD ,## ,## ,##

Tabella 6.4 riassume i vari elementi utilizzati in fase di definizione del calcolo di conversione.

Qualora nasca l’esigenza di dover gestire importi relativi ad una entità, registrati in una valuta differente da quella locale, il metodo di conversione dovrà inizialmente recuperare dalla “Rate_Table” i rispettivi FX-Rate definiti: 1. “Rate2” recuperato indirettamente, corrispondente dalla valuta originaria

alla valuta transazionale.

2. “Rate3” recuperato direttamente, corrispondente dalla valuta transazionale alla valuta di destinazione.

Successivamente il calcolo di conversione avviene mediante il prodotto dell’importo da convertire, con i rispettivi valori “Rate2” e “Rate3”.

Tabella 6.5: Definizione degli FX-Rate e del calcolo di conversione per ogni coppia di valute (origine, destinazione)

ELEMENTI (Importi & Valute) DESCRIZIONE

IMPORTO ORIGINARIO Importo finanziario da convertire per la contabilizzazione in una valuta differente VALUTA ORIGINARIA Rappresenta la valuta relativa dell’importo finanziario locale

IMPORTO DI DESTINAZIONE Importo finanziario convertito in valuta di destinazione VALUTA DI DESTINAZIONE Rappresenta la valuta di riferimento dell’importo di destinazione.

VALUTA DI ORIGINE

VALUTA DI

DESTINAZIONE FX - RATE RECUPERO FX-RATE

Valuta Transazionale

(USD) Valuta Originaria RATE1

Diretto 
 (presente nella “Rate_Table”) Valuta Originaria Valuta Transazionale (USD) RATE2 = 1/RATE1 Indiretto

Valuta

Transazionale(USD) Valuta di Destinazione RATE3

Diretto 
 (presente nella “Rate_Table”)

Valuta Originaria Valuta di

Il metodo di conversione, come riassunto in Tabella 6.5, non è un procedimento diretto, ma è opportuno definire il recupero di Fx-Rate intermedi (Rate2 e Rate3) a causa dell’assenza degli stessi da/verso una qualsiasi valuta nella “Rate_Table”.

Il valore del tasso di cambio “Rate2”, come mostrato in Tabella 6.5, è facilmente ottenibile dal valore dell'FX-Rate definito “Rate1"inverso recuperato a partire dalla valuta transazione alla valuta originaria. Viene proposto il seguente esempio di istanza, per focalizzare meglio il metodo utilizzato per le conversioni degli importi finanziari.


Si ipotizza una certa istanza applicativa cliente di una società controllante, la cui contabilizzazione degli importi finanziari aziendali avviene in valuta locale EUR e l’esistenza di una società collegata che gestisca i propri importi

finanziari in dollari canadesi CAD.

Nel contesto corrente, bisogna convertire tutti gli importi finanziari della società controllata, contabilizzati in dollari canadesi, nella valuta locale in euro della società controllante, per avere un quadro finanziario completo per la visualizzazione di report sugli andamenti aziendali interni ed esterni.

Come detto precedentemente, poiché non è possibile recuperare direttamente dalla “Rate_Table” i vari FX-Rate per qualsiasi coppia di valute da convertire, in questo specifico esempio, il modello dovrà gestirà la rispettiva conversione da CAD a USD, tramite l’utilizzo di FX-Rate intermedi:

• “Rate2” di riferimento per il cambio dalla valuta CAD a USD ottenibile da quello inverso da USD a CAD già presente nella “Rate_Table”;

• “Rate3” di riferimento per il cambio da USD a EUR già presente nella “Rate_Table”.

Infine ogni importo finanziario della società controllata sarà moltiplicato per l’Fx-Rate ottenuto dal prodotto del Rate2 (da CAD a USD) per il Rate3(da

USD a EUR) per la completa gestione e contabilizzazione degli importi nella valuta locale della società controllante.

Il seguente calcolo generalizzato per qualsiasi coppia di valute (origine, destinazione) viene implementato, a partire dalla “Rate_Table” mediante operazioni di ETL, ottenendo una tabella rinominata “Dati_Cambio” che conterrà, per ogni coppia di valuta (origine, destinazione), scenario, periodo e tipologia di conto, i vari FX-Rate relativi per la gestione multi-currency degli importi finanziari.

Le modifiche che saranno effettuate, dal punto di vista progettuale nel modello tabulare sono:

-

La definizione di una relazione tra tra la tabella dei fatti e tabella

“Dati_Cambio”, modificando la struttura del modello tabulare, in modo tale da incorporarne la gestione multi-currency.

-

La definizione di una misura espressa in linguaggio DAX che permetta di

generare la corretta conversione e aggregazione degli importi finanziari contabilizzati in una valuta differente da quella locale espressamente definita in fase di reporting.

Tabella 6.6: Rappresenta la tabella “Dati_Cambio” utilizzata in modellazione tabulare per la gestione Multi-Currency degli importi finanziari.

La tabella “Dati_Cambio” utilizzata per la gestione degli importi sarà

logicamente legata con la tabella dei fatti con relazione NaN (molti a molti) sul campo “Cod_Scenario_Cod_Periodo_Cod_Conto_Cluster_Cod_Valuta”,

COLONNA TIPO DESCRIZIONE

COD_SCENARIO_COD_PERIODO_COD_

CONTO_CLUSTER varchar(255)

Informazioni sullo scenario, periodo e tipologia di conto relativi ad un dato importo finanziario COD_SCENARIO_COD_PERIODO_COD_

CONTO_CLUSTER_COD_VALUTA varchar(1000)

Visto come concatenazione tra l’attributo COD_SCENARIO_COD_PERIODO_COD_C

ONTO_CLUSTER e la valuta locale aziendale COD_VALUTA varchar(2) Valuta di Destinazione

RATE varchar(2)

coefficente moltiplicativo di conversione (FX- Rate) di riferimento per coppia (valuta locale,

raffigurato in Tabella 6.7, poiché più record della tabella importi sono associati a più record nella tabella “Dati_Cambio”.

Tabella 6.7: Tipologia di relazione presente tra la tabella dei fatti e la tabella appena definita “Dati_Cambio”.

Anche in questo caso, come precedentemente per la gestione della lunghezza del periodo, ci si trova a dover gestire relazioni di tipo “molti a molti” che risultano incompatibili da implementare in versione tabulare.

Per evitare tale problema è necessario suddividere la tabella in due relazioni "uno a molti" distinte come in Figura 6.8. Il problema sarà discusso in modo dettagliato nel capitolo successivo 6.7.

Figura 6.8: Relazione tra tabella dei fatti e tabella “Dati_Cambio” in SSAS Tabular.

6.7 GESTIONE DELLE RELAZIONI MOLTI A MOLTI

Documenti correlati