HPCM 11.1.2.2 - Detailed Profitability
2 Weeks back, EPM 11.1.2.2 released with a lot of new features. The number of new features are so much so that it will take at least 8 to 10 posts to go over all them in detail. I thought i will start off with writing about a new feature that is relevant to a project we are executing currently i.e. HPCM Detailed profitability. If you had looked at my previous post on HPCM here(which i will refer to as Standard Profitability), i would have walked through how HPCM works and how Essbase plays a vital part in the functioning of HPCM. Though it is & was a great product, there were certain drawbacks in using Standard Profitability. I will list them below
-
Use of Essbase added un-necessary complication in data loads & reporting
-
Essbase though was very good, the calculation scripts generated by HPCM warranted minimal exception based driver assignments (single-cell driver assignments) as that can slow down the calculations
-
Though the concept of stages was very good, to me for simple models exposing a lot of stages to end users was not only confusing but also results in a bloated Essbase cube.
-
In a 8 stage model with intra stage allocation enabled (and each stage having 3 dimensions), the Essbase database will have a total of 16*3=48 dimensions. A block storage cube with so many such dimensions generally does not scale well at all.
-
Using BI EE to report out of a HPCM cube requires carefully applied filters. It requires a very good understanding of not only Essbase & BI EE but also how HPCM stores data within Essbase.
-
There was no easy way to do a direct integration from relational tables - So all data before getting loaded into HPCM had to be processed externally to fit into Essbase formats.
-
Standard Profitability had a restriction of 3 dimensions per source stage. In many cases we might need more than 3 source dimensions per stage.
With the introduction of Detailed Profitability, Oracle has tried to address all the issues above by moving away & using relational databases for storing input & calculated data, instead of Essbase. According to the docs, this results in extremely high scalability as it supports unto 5 source stage dimensions & upto 25 target stage dimensions. Also, Detailed Profitability supports only 2 stages instead of the standard 8 stages. More importantly, Detailed Profitability is not a replacement for Standard Profitability. Rather it is another way of doing Profitability & Cost Management as Standard Profitability has its own advantages as well. In this post, we shall look at how Detailed Profitability works and how it is different from Standard Profitability.
Concepts of allocation, driver etc remain the same in both types of applications. But the key difference is in the architecture. At a high the architecture for Detailed Profitability is given below
-
There are a couple of new features like Model Data Registration, Stage Object Calculation etc which will take a look later in the article
-
Manage Database option is still there though Essbase is not there - Manage Database is used to deploy the reporting views (that supersede Essbase in Detailed Profitability)
The first step in defining the Model is to associate the Model Data Schema to the model. I was sort of expecting a profile to be created to point to a specific database schema, That is not the case. Instead, we will have to create a separate database schema and then create all our necessary source/target tables within that schema. Grant select/update access on all these tables to the main product schema. Once the grant is done, the schemas will start appearing in the Model Summary as shown below
-
Source Tables - Vertical Or Horizontal
-
Destination Tables - Horizontal
-
Lookup Table - Horizontal
A vertical table means the measures are stored in a separate dimension instead of separate table columns (similar to Essbase measure dimension). Horizontal table means all measures are represented as columns. This designation is needed as Essbase is now superseded by Relational Tables.