Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Now to add a wrinkle: let’s look at the idea of adjustments being put into the
application via journal entries. The HFM journal process is a topic for a future
blog, but understand that journal data is stored in a specific Value dimension
member called “Entity Currency Adjust.” Here we see that journal entries have
their own home because the Value dimension acts like an audit trail!
The simple mathematical formulas to keep in mind are as follows:
Entity Currency + Entity Currency Adjust = Entity Currency Total
Entity Currency Total x foreign currency rate (which in this example is 0.9758) =
Parent Currency
Below we see journal entry data in the amount of 100.00 in Entity Curr Adjs (the
system abbreviation of Entity Currency Adjust). This 100.00 gets added to the
2,500.00 in Entity Currency to give us 2,600.00 in Entity Curr Total. The 2,600.00
is then translated to 2,537.08 at Parent Currency by the system.
Clients often want to know why a journal posted to Entity Currency Adjust does
not show up as a translated value in Parent Currency Adjust. The Value
dimension does not work that way. Entity Currency and Entity Currency Adjust
are first added together in the Entity Currency Total triplet. The Entity Currency
Total value is then translated to produce a value in Parent Currency. Parent
Currency Adjust is reserved for journals that are posted in the currency of an
entity’s parent. Parent Currency combined with Parent Currency Adjust equals
Parent Currency Total in this triplet.
The mathematical formula to would be:
Parent Currency + Parent Currency Adjust = Parent Currency Total
Building on our previous example, below we have added a Parent Curr Adjs (the
system abbreviation for Parent Currency Adjust) in the amount of
200.00. Combined with the translated value of 2,537.08 in Parent Currency, the
amount in Parent Currency Total is calculated at 2,736.08.
There will be more to come on the other members of the Value Dimension, but
if you can grasp what I have covered so far you are well on your way to
understanding the intricacies of HFM dimensionality.
Author: Joseph Francis, Performance Architects
http://www.performancearchitects.com/wp/2015/05/27/oracle-hyperion-
financial-management-hfm-the-value-dimension-explained/
HFM - Value Dimension and Rules
Maybe the complex part of HFM is the value dimension and rules, after you
understand these two parts of HFM elements I am sure you will get a better
understand of HFM's consolidation logic. So let me introduce the value
dimension first.
Actually, you will find the dimension shows in HFM system as below, depending
on how many currencies you have set up for the application. (5 currencies in this
example.)
Technically, <EC>, <ECA>, <ECT>, <PC>, <PCA> and <PCT> are the pointers to the
currency members. For example, if the entity and its parent's local currencies
are HKD, the data will be stored in "HKD" member when input data in <EA> or
translate data to <PA>.
For the sub group rollup logic in Entity dimension, you can find the picture
below. Sub Group's <EC> = Sum of the children Subsidiaries/Associates/Joint
Ventures' [Contribution Total]
After the understanding the value dimension, we can move to the HFM rule's
calculation logic. Actually, the HFM admin guide describes very clearly about the
rules so I just copy some of the contents here.
Calculate data entry level amounts for a specific entity, scenario, and
period.
Prevent data entry for a specific cell in a specific entity, scenario, and
period.
Allow input at the Parent entity level.
Calculate data that cannot be calculated through a hierarchical
aggregation, such as ratios or variance analysis.
Perform allocations from a parent entity to a list of base entities.
Perform complex currency conversions, calculate exchange rate
differences, or perform other calculations necessary for your consolidation.
Define formulas to dynamically calculate accounts.
Specify the accounts in the application that support intercompany
transactions.
HFM provides the following rule types
Calculation
Translation
Consolidation
Allocation
Input
NoInput
Dynamic Calculation
Transactions
Equity Pickup
OnDemand (From version 11.1.2.3)
During the consolidation process, rules are executed in a pre-defined sequence.
For each base child of a specific parent, the calculation sequence for the various
elements in the Value dimension takes place in this order:
1. Accounts defined as IsCalculated in the metadata are cleared in
EntityCurrency.
2. Accounts defined as IsCalculated in the metadata are cleared in
EntityCurrAdjs.
3. The Sub Calculate() routine is executed on EntityCurrency.
4. The Sub Calculate() routine is executed on EntityCurrAdjs.
5. The ParentCurrency data is cleared.
6. Default translation is applied to all accounts defined as Revenue,
Expense, Asset, Liability for the total amount of EntityCurrency and
EntityCurrAdjs. For accounts with the Flow or Balance attribute,
translation is not applied by default, the total amount of EntityCurrency
and EntityCurrAdjs is rolled up into Parent Currency.
7. The Sub Translate() routine is executed.
8. The Sub Calculate() routine is executed on ParentCurrency.
9. Accounts defined as “IsCalculated” in the metadata are cleared in
ParentCurrAdjs.
10. The Sub Calculate() routine is executed on ParentCurrAdjs.
11. Accounts defined as “IsCalculated” in the metadata are cleared in
ParentAdjs
12. The Sub Calculate() routine is executed on ParentAdjs.
13. Proportion and Elimination data are cleared.
14. Default consolidation and eliminations are performed for the total
amount of Parent and ParentAdjs.
15. The Sub Calculate() routine is executed on Proportion and
Elimination.
16. Accounts defined as “IsCalculated” in the metadata are cleared in
ContributionAdjs.
17. The Sub Calculate() routine is executed on ContributionAdjs.
After the previous steps have been repeated for each base child, this sequence
takes place for the parent entity:
1. The EntityCurrency data is cleared.
2. The sum of the total of Proportion, Elimination, and
ContributionAdjs for every child is written into EntityCurrency of the
parent entity.
3. The Sub Calculate() routine is executed on EntityCurrency.
4. Accounts defined as “IsCalculated” in the metadata are cleared in
EntityCurrAdjs.
5. The Sub Calculate() routine is executed on EntityCurrAdjs.
Note: If a parent is further consolidated into another parent, this sequence
continues with step 5 from the child consolidation sequence.
http://hyperioncenter.blogspot.in/2014/12/hfm-value-dimension-and-
rules.html
DEFINING THE SUBCUBE HFM stores data in one of three table types: • DCE
(Currency subcube)—Stores Entity Currency and Parent Currency values and
their adjustments. These are often referred to as the currency triplets in the
Value dimension: o The triplets are formed by the entity default currency,
journal adjustments posted in the entity’s default currency, and the total
aggregated value of the two. o If the entity’s parent has a different default
currency, a second triplet of data is provided for the parent currency. o It is also
possible for a user to force a translation into another currency in addition to the
. The result of this forced translation is a set of stored data in the additional
currency. • DCN (Parent subcube)—Stores the remaining Value dimension
members. o All data in the Parent cube is specific to a parent-child combination,
and as such can only be stored or retrieved by specifying this relationship. DCN
tables are structurally similar to DCE tables, with one exception: DCN tables
contain an additional field for the parent entity ID (LPARENT). • DCT (Journal
transactions)—Stores the journal transactions, which when posted, transfer
data values to DCE (for and ) or DCN tables (for [Parent Adjs] and Contribution
Adjs]). The following graphic shows the Value dimension and which members
are grouped into each subcube:
http://charlescbeyer.com/ccb_wp/wp-
content/uploads/2013/05/Hyperion_System_9_Financial_Management_Subcub
e_Architecture_0406.pdf
About Subcubes
Year
Scenario
Entity
Value
There are two types of subcubes—currency subcubes and node subcubes. These
types of subcubes differ in how they use Entity and Value dimension members:
Note: The non-node Value dimension members that point to parent entities’
default currencies—<Parent Currency>, <Parent Curr Adjs>, and
<Parent Curr Total>—are irrelevant to currency subcubes.
Parent Currency
Next up the chain is Parent Currency. This member takes total local currency
(Entity Curr Total)and translates it to the currency of its immediate parent in
the entity hierarchy.
Back to our good old friends across the pond in the London sales office, since
they roll up to a Euro parent company, the system will translate from GBP to
EUR when the consolidation goes from Entity Curr Total to Parent Currency.
The above shows a translation from GBP to EUR using a currency rate of €1.25
to £1.00
Parent Currency Adjustments
Up from Parent Currency is Parent Curr Adjs.
Elimination
Elimination. The one word that can make anyone cringe when it comes to
data tie out or passing of data between systems. Eliminations are necessary
when two entities that belong to the same organization have activity with one
another. Though it is important to be able to see that activity at the entity
level, it has to be zeroed out at the appropriate consolidation point. After all,
a company can’t make money off of itself (we’re not running a Ponzi scheme
here).
Contribution
Contribution represents what ultimately gets passed from child to
parent. Keeping it simple, it is equal to Parent Curr Total +
Elimination. This total then gets sent up the chain to its parent’s Entity
Currency member.Seen below, Entity Currency for the parent entity (Total
Europe) is the sum of the Contribution amounts from each of its children
(London & Zurich).
Now, putting it all together, hopefully you should be able to make some sense
of Oracle’s diagram of the Value dimension, seen below.
http://platformspecialists.com/2015/03/30/the-real-value-of-consolidations-in-
hfm/