Structure of Currency Applications
In currency conversion application, the main database (cube) is divided into at least two slices. One slice handles input of the local data, and another slice holds a copy of the input data converted to a common currency.
Essbase holds the exchange rates required for currency conversion in a separate currency cube. The currency cube outline, automatically generated by Essbase from the main cube after you assign the necessary tags, typically maps a given conversion ratio onto a section of the main cube. After the currency cube is generated, it can be edited like any other Essbase cube.
![Market dimension in the main cube is mapped to Currency Name in the currency cube. Measures dimension in the main cube is mapped to Currency Category in the currency cube. Scenario dimension in the main cube is mapped to Currency Type in the currency cube. Market dimension in the main cube is mapped to Currency Name in the currency cube. Measures dimension in the main cube is mapped to Currency Category in the currency cube. Scenario dimension in the main cube is mapped to Currency Type in the currency cube.](img/accurapp.png)
Main Cube
To enable Essbase to generate the currency cube outline automatically, you modify dimensions and members in the main outline. In the Sample currency application, the main cube is Interntl.
The main cube outline can contain from 3 to n dimensions. At minimum, the main cube must contain the following dimensions:
-
A dimension tagged as time. Tagging a dimension as time generates a dimension in the currency cube that is identical to the time dimension in the main cube. In the Sample_Currency.Interntl cube, the time dimension is Year.
-
A dimension tagged as accounts. Tagging a dimension as accounts and assigning currency categories to its members creates a dimension in the currency cube that contains members for each of the individual currency categories. Category assignment enables the application of different exchange rates to various accounts or measures. In the Sample_Currency.Interntl cube, the accounts dimension is Measures.
Each descendant of a member inherits the currency category tag of its ancestor. A member or sub-branch of members also can have its own category.
For example, profit and loss (P&L) accounts may use exchange rates that differ from the rates used with balance sheet accounts. In addition, some accounts may not require conversion. For example, in the Sample_Currency.Interntl cube, members such as Margin% and Profit% require no conversion. You tag members not to be converted as No Conversion. The No Conversion tag is not inherited.
-
A market-related dimension tagged as country. Tagging a dimension as country and assigning currency names to individual countries creates a member in the currency cube for each currency. In the Sample_Currency.Interntl cube, the Market dimension is tagged as country. The currency name for this dimension is USD (U.S. dollars), because all local currencies must be converted to USD, the company’s common currency.
Because multiple members can have the same currency name, the number of currency names is typically less than the total number of members in the dimension. As shown below, the Sample_Currency.Interntl cube uses only six currency names for the 15 members in the Market dimension. Each of the children of the member Europe uses a different currency and, therefore, must be assigned an individual currency name. However, the U.S. dimension and its four regional members all use the same currency. The same is true of the Canada member and its three city members. When the children of a given member share a currency, you must define a currency name for only the parent member.
Dimensions and Members | Currency Name |
---|---|
Market - Country U.S. East West South Central |
USD (US Dollar) |
Canada Toronto Vancouver Montreal |
CND (Canadian dollar) |
Europe UK Germany Switzerland Sweden |
GBP (British pound) EUR (Euro) CHF (Swiss franc) SEK (Swedish krona) |
When preparing a main cube outline for currency conversion, you can create an optional currency partition to tell Essbase which slice of the cube holds local currency data and which holds data to be converted. The dimension that you tag as currency partition contains members for both local currency values and converted values. Local currency data is converted to common currency data using currency conversion calculation scripts. In the Sample.Interntl cube, the Scenario dimension is the currency partition dimension.
Currency Cube
By assigning currency tags to members in the main cube outline, you enable Essbase to generate the currency cube automatically. In the Sample_Currency application, the currency cube is Xchgrate.
In the currency cube, all level 0 members must be stored, non-dynamic-calc members. This means that the cube the currency cube is generated from must also have all level 0 members as stored, non-dynamic-calc members.
A currency cube always consists of the following three dimensions, with an optional fourth dimension:
-
A dimension tagged as time, which is typically the same as the dimension tagged as time in the main cube. This allows the currency cube to track currency fluctuations over time and to accurately convert various time slices of the main cube. In the Sample.Xchgrate cube, the dimension tagged as time is Year.
Each member of the time dimension in the main cube must be defined in the currency cube. Values by time period in the main cube usually are converted to the exchange rates of their respective time period from the currency cube (although you can convert data values against the exchange rate of any period).
-
A dimension tagged as country, which contains the names of currencies relevant to the markets (or countries) defined in the main cube. Each currency name defined in the main cube must also exist in the currency cube. The currency names define the country-to-exchange rate mapping when conversion occurs.
In the Sample_Currency.Xchgrate cube, the country dimension is CurName. The following table lists the currency names in the CurName dimension:
Dimensions and Members Alias Name CurName - Country
USD
CND
GBP
EUR
CHF
SEK
U.S. dollar
Canadian dollar
British pound
Euro
Swiss franc
Swedish krona
-
A dimension tagged as accounts, which enables the application of various rates to members of the dimension tagged as accounts in the main cube. The categories defined for the accounts dimension in the main cube are used to form the members in the accounts dimension of the currency cube. For example, it may be necessary to convert Gross Profit and Net Profit using one category of rates, while other accounts use a different set of rates.
In the Sample_Currency.Xchgrate cube, the dimension tagged as accounts is CurCategory, and the account categories included are P&L (Profit & Loss) and B/S (Balance Sheet).
-
A currency cube, which typically includes an optional currency type dimension, which enables different scenarios for currency conversion. Typically, an application has different exchange rates for different scenarios, such as actual, budget, and forecast. To convert data between scenarios, select which type of rate to use.
The currency type dimension is created when you generate the currency outline and is not directly mapped to the main cube. Therefore, member names in this dimension need not match member names of the main cube.
In the Sample_Currency.Xchgrate cube, the currency type dimension is CurType. CurType includes actual and budget scenarios.