Showing posts with label HFM rules. Show all posts
Showing posts with label HFM rules. Show all posts

Thursday, 30 November 2017

...Restatements



One of the topics that I have spent time on is to understand the most efficient way to restate reported data in HFM.

On one side, there are multiple applications which either do not handle this requirement or the process to maintain and analyse the data is too complicated.

  • The most usual case is to restate the P12 data. To handle this requirement, there are applications with an additional period P13 to handle the late adjustments. I think that this approach has been inherited by the design of the most ERPs.
  •  Another case is to restate the data from all the periods and not only the P12 data in case of a change in the reporting standards or an audit. In this case, there are applications that have a specific scenario which is called RestatementX.
  •  In a similar case of restatement, in order to restate the data of all periods, the application had two sets of accounts. The accounts with the reported data and the accounts with the restated data. The restated accounts had the accounts with the reported data as share members in addition to the unique restating accounts.
  • Finally, there are applications that do not maintain the reported data and before posting the adjustments, the users must run and hardcode all the values in order to keep the reported figures (bad, bad, bad)


On the other side, HFM is a really powerful and flexible tool and we should use it in order to transform the focus of our processes from data intensive to data analysis.

This means that we should be able to restate our numbers without much effort, without having to copy data from one scenario to another or one period to another and at the same time allow us to audit the numbers and trace the flow of the change. The easiest way to implement such change is to introduce a new dimension in the HFM application (HFM version 11 has unlimited number of dimensions) which will allow us to introduce versioning. 

As an example, let’s say that you will use Custom5 as your version dimension. Custom5 will have 3 members: [None], Restatement and AllCustom5. The [None] member will be linked with Phase 1 and the Restatement member will be linked with Phase 2. The process is simple. The users will load all the initial data in the member [None] and you will lock Phase 1. These data are the reported data. When you will need to Restate your numbers, the users will load any adjustments in the member Restatement and you will lock the Phase 2. 

In this way, when you will retrieve data from [None], you will read the reported data and when you will retrieve data from AllCustom5, you will read the restated data.

Disclaimer: The above example is really simple and will not cover all the cases. Allow your phantasy to work and adapt this mechanism in your requirements.

Thursday, 2 November 2017

...CPU utilisation in HFM



There are 3 settings that manage the CPU utilisation.

  •  MaxNumConcurrentConsolidations: The number of concurrent consolidations that can run in a server at one time. This setting will adjust the total number of consolidations that run in one server regardless the number.
  • NumConsolidationThreads: The number of CPU treads that can be used to multi-thread a consolidation. A consolidation with 32 threads will finish quicker than a consolidation with 8 threads but the first one will use all the available CPU.
  • ConsolidationMultiThreadingScheme

Thursday, 26 October 2017

...Memory utilisation in HFM


Since version 11.x, Oracle has released the 64-bit version of HFM. The benefit is that the 64-bit version of HFM can hold more data in memory comparing to the 32-bit version.

Based on Oracle documentation, HFM virtual address space is dictated by the OS. So, if you have an application with large subcubes (large scenarios, dense data, big number of scenario) which struggles in the 32-bit environment,

Thursday, 19 October 2017

...Records & Subcubes in HFM




A few years ago, I decided to spend time to understand how HFM calculation engine works with aim to improve the performance of the rules. The first stop was the HFM manual, the basic design considerations and the section that is referring to subcubes to understand the calculation mechanism.

Saturday, 12 November 2016

...loading APP files in HFM



I have not posted any thoughts recently because I am working on an amazing migration to the Cloud project and I spend most of my time there. However, recently I got in a situation which reminded me of a discussion that I had a few months ago in OTN. The discussion was related with issues that users had with loading APP files in their upgraded applications.

In my case, we were working on upgrading the applications from 11.1.2.1 to 11.1.2.4. We followed the process suggested by Oracle and we upgraded 11.1.2.1 to 11.1.2.3 and then moved the applications to 11.1.2.4. When I started testing the upgraded applications I found that in one out of the three applications it was not possible to extract and reload the extracted metadata without corrupting the application.

Wednesday, 15 June 2016

...Calculation status: OK SC


     A few weeks ago, I was working on an application update. I started the update on Friday afternoon and thankfully everything went well. I loaded the new metadata and new rules without any problem, completed the "Clear Invalid data" task in 20minutes and then I started the overnight consolidation in order to reconsolidate the whole application and get the status OK in all scenarios/years/periods. I was home before 7pm

Sunday, 3 April 2016

...the consolidation functionality

It is two days before the end of the year-end reporting period and at 4:50 pm the helpdesk receives a new ticket with title “Consolidation of subsidiaries and NCI query”.

Silence in front of my screen… the subject of the ticket is quite worrying for such a week and as I read further down the situation becomes even worst.  The request of the user was to explain how the system calculates the NCI for specific subsidiaries, why the closing balance was 150.000$ and what the movement consolidation movement represents. A lot of questions….

Proem

Until today, I have seen four approaches in consolidating the values of an entity to the parent entity.
  • The first approach is to create manual journals at "Entity Curr Adjs". This journal will be posted both at the subsidiary and at the consolidation entity of the group.
  • The second approach is to use the Sub Calculate and the function HS.Exp in order to populate specific members or consolidation accounts at the value dimension members "Entity Currency" / "Entity Curr Adjs".
  • The third approach is to use the Sub Calculate and the function HS.Exp in order to populate specific members or consolidation accounts at the value dimension members [Proportion] / [Elimination].

Tuesday, 8 September 2015

...Debugging HFM rules

Hi all,

I hope you are doing well. I just came back from a 3-weeks holidays ready for a new year hopefully full with Hyperion projects and consolidation challenges.

Proem
Last night I was discussing in the OTN forum on how to debug a complex set of rules. This discussion brought into my mind the multiple times during the last project that I was in the same situation and I was trying to find a problem in a mechanism that includes triggers, variables and multiple HFM expressions.

Unfortunately when you are working on a complex set of rules with different cases and different statements, it is really easy to make a mistake and misread or misinterpret the existing rules.

For this reason, I believe that the easiest way to find the solution to your problem is

...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...