Saturday 2 November 2013

..Value dimension

Hi all,

In 2008, I was asked to train the admin users of a financial group and explain them how their future application will work. Everything was really simple until I started thinking on how to present the Value dimension… since then I keep on trying to find the best way to present the Value dimension. So, I will start with the basics and then try to present my understanding on more complicated points.

Purpose

The Value dimension is not used for a single purpose. The three purposes that I have identified are:

  1. It is used to store and identify the different types of data within HFM (data and journals).
  2. It is used to translate the values from local currency to parent currency and eventually calculate the contribution to the parent entity.
  3. Finally, it is used to maintain all the foreign currencies that the application can support.

Structure

The Value dimension is a system defined dimension. The Value dimension members are
:


  • The member Entity Currency (EC)  is used to input data in local currency.
  • The member Entity Curr Adjs (ECA) is used to post journals in local currency. 
  • The member Entity Curr Total (ECT) is used to aggregate the previous members.

  • The member  Parent Currency (PC) is used to translate the data from the default currency to the parent currency. This means that if the parent entity has a different currency from the child, the value of ECT will be translated into Parent Currency. In order to trigger the calculation of the PC, the entity should be active in the ownership management.
  • The member  Parent Currency Adjs (PCA) is used to post journals in parent currency of the entity. The journals in PCA are not linked with the parent entity but with the currency of the parent entity. This means that in case that you have a base entity with two different parent entities which have the same currency, when the users post a journal in the PCA, the journal will affect both the parent entities. If there is a parent with a different currency, the specific parent will not be affected.
  • The member Parent Currency Total (PCT) is used to aggregate the previous members.

  • The member [Parent] is used in a similar way with PCT. The difference is that technically, the [Parent] member is related with the node and not with the entity.
  • The member [Parent Adjs] is used to post journals on top of the [Parent] member for the specific node only. Parent adjustments are available only for parent entities for which the AllowAdjFromchildren application setting is selected. Consider two members in the entity dimension "A" and "B" now both these members have a child as "C". Where "C" is the shared member. Now if you pass a Journal at of "C" then this journal entry has an effect on both the parents "A" and "B". Whereas if you pass an entry at of"C" then you can also select the parent which you want to get affected by the same.
  • The member [Parent Total] is used to aggregate the previous members.

  • The member [Propotion] is used to store the contribution of the entity to the parent entity before the elimination. At this point, consolidation rules apply. Depending on the set of consolidation rules, the application can store the whole number of the [Parent Total] or only a proportion of the [Parent Total] in [Proportion] member.
  • The member [Elimination] is used to store the data that will be eliminated during the calculation of the entity’s contribution to the parent entity. If the application does not support any consolidation rules, the [Elimination] member will only store the intercompany data that should be eliminated at the first common parent level with the intercompany partner entity. However, if the application supports more complex consolidation rules (like calculation of minority interest), the [Elimination] member can also store any data that will be used for calculating the consolidation journals.
  • The member [Contribution] is the sum of the previous members. 
  • The member [Contribution Adjs] is used to post journals for the specific node in order to change the data after the completion of the consolidation rules. These adjustments are available only for parent entities for which the AllowAdjFromchildren application setting is selected.
  • The member [Contribution Total] is used to aggregate the previous members. This is the value that will be aggregated to the parent entity. The data from [Contribution Total] of all the parent’s children entities will be aggregated to the of the parent entity and the process will start again


  • Finally for every currency that is added in the system, the system will create 3 value dimension members. If the currency has the label ABC, the system will create the members ABC, ABC Adjs and ABC Total.


Mechanism



The data in the Value dimension can be either related with the entity or with the node or can be calculated on the fly. 

  • The data stored at members EC, ECA, PC and PCA  are related with the entity and are common for all the parents with the same currency. 
  • On the other hand the members, the data stored at members [Parent], [Parent Adjs], [Proportion], [Elimination], [Contribution], [Contribution Adjs] and are related with the node of the parent entity and the entity and are not common for all the parents. This means that a value stored in any of these members is unique for the combination of the parent entity and the entity. If an entity has two parents, the user must consolidate both the parents in order to populate the value members [Parent], [Parent Adjs], [Parent Total], [Proportion], [Elimination], [Contribution], [Contribution Adjs] and [Contribution Total].
  • Finally, the data presented at members ECT, PCT, [Parent Total], [Contribution Total] are not stored at the entity or node level but these are calculated on the fly. 

In order to visually identify the different levels of storing the data, the value members that present the data on entity level are marked with angle brackets “< & >” while the members that present the data on node level are marked with square brackets “[ ]”


In the graphs, the black circles represent value dimension member in which data can be inputed, posted or created by calculation and consolidation rules, the grey circle represent the value dimension member in which translation rules are applied and finally the white circles represent aggregation of previous members.


Summary

Special thanks to Kostas Nikolakopoulos for sending me the pictures of the value dimension.


This is post is just a summary of how I consider that the Value dimension works… 

As usual, please challenge my thoughts, post your comments, or just leave a message to say "Hi" after reading the post…



12 comments:

  1. Hi

    Very good explanation about the HFM value dimension.

    Regards
    Devaraj

    ReplyDelete
  2. Thanks Devaraj,

    It is an attempt to put my thoughts in the correct order… any specific comments or points?

    Regards,

    Thanos

    ReplyDelete
  3. Hi Very nice and crisp blog, a small suggestion is that if you could also include the reason on why certain members of value dimension are represented by blank circles and some by colored circles would help.

    ReplyDelete
  4. Hi Prachi,

    I have updated the text with the description.

    Thank you,

    Regards,

    Thanos

    ReplyDelete
  5. Hi Thanos,

    I am new to the HFM and would like to understand in detail about value dimension as it is the heart of HFM.

    I am not satisfied with the example which you provided for Parent adjs. Could you please explain me for better understanding.

    Thanks,
    Swapna

    ReplyDelete
  6. Hi Swapna,

    Sorry for this. Do you have any specific questions regarding the Parent adjs?

    For additional info, the admin guide is actually pretty cool source of information: http://docs.oracle.com/cd/E40248_01/epm.1112/hfm_admin.pdf

    Cheers,

    Thanos

    ReplyDelete
  7. Hi Thanos,

    Thanks for your reply. The way u have described for Value dimension is actually commendable but I could not understand the example you provided for Parent adjs.

    Could you please provide me any example for Parent adjs.

    Thanks in advance,

    Swapna

    ReplyDelete
  8. This comment has been removed by the author.

    ReplyDelete
  9. Hi Swapna

    In HFM there might be alternative hierarchy, in such cases if you want to post a journal to a particular entity, then you need to post in the [Parent Adjs] member.

    This kind of journals will be posted in Orgbyperiod enabled applications.
    Orgbyperiod application will have alternative Hierarchy.

    1. Alternative hierarchy: One child entity is having 2 parents (Entities).

    Normally one child entity will have one parent entity only.

    2. [Parent Adjs] are used to post a journal to the single parent in an alternative hierarchy.

    Please read admin guide for Alternative Hierarcy and Orgbyperiod concepts to get better understanding

    Regards
    Devaraj

    ReplyDelete
  10. Thanks Dev,

    I am currently on a project, so time for blogging is limited.

    The good thing is that I gather experiences for future posts....

    ReplyDelete
  11. Thank you Thanos for this blog.

    ReplyDelete

...using SmartView

Last week I was chatting with an ex-colleagues about our HFM experiences. After 10 years, we both have a lot of stories to share but a...