What Would Happen If I Did… In Hyperion Financial Management? Part 3 Jonathan Berry Rob Poirier
What Would Happen If I Did… In Hyperion Financial Management?
Part 3
Jonathan Berry
Rob Poirier
Hyperion Solutions: HFM Development Team – 1998
Oracle: Director of Engineering HFM / FDM – 2008
Accelatis: Founded in 2008
Jonathan Berry Founder / CEO
Development and
Support Team 80 Years of Combined Hyperion Experience
Rob Poirier 20 Years of Hyperion / EPM Experience Director of Client Services
Who are We?
Provide you the needed
insight & control
into Oracle EPM / Hyperion to
efficiently & consistently
manage your system to deliver
maximum user benefit….
Our Focused Mission
Our Solution
Enterprise Systems
Manage All Moving
Parts
Monitor Across All
Environments
Resolve More Quickly
Simulate User
experience
Optimize Eliminate
Bottlenecks
Support Streamline
Process
1. Empower Business
Users & IT
2. Broad Approach to
APM
3. Deep Look into
Underlying Systems
© 2014 Accelatis, LLC
What happens when a rule generates Zeros in database?
Performance:
• Performance would generally degrade.
• Load times for cubes from the database would increase.
• HFM will ignore Zero values during load but extra time is taken to filter those
zeros out. Usually when zeros are saved into HFM they are saved as soft zeros
(ie: zero is in the DB with NODATA status removed). In this case it is treated as
a real value. The only time that HFM can remove a record that contains zeros is
if the entire period contains zeroes and NODATA as the status. Otherwise that
record stays and is loaded and used as part of the consolidation process. So,
writing Zeros to the record is a bad thing. It will use more memory when the
cube is loaded and take more time to load/save the records to the database.
Integrity:
No effect is made to the application integrity.
Database:
Extra database storage space is required to persist the rows of data containing
zeros. © 2014 Accelatis, LLC
© 2014 Accelatis, LLC
What happens if I increase number of CPUs on an HFM App Server box?
Performance:
1. Performance would generally improve.
2. Performance for non-consolidation tasks would benefit from the increased
CPU capacity.
3. Performance for consolidation tasks would increase only if the setting for
the number of threads for consol is increased as well.
4. *We have seen that sometimes performance would decrease on SQL
server when increasing the CPUs and the number on consol threads due to
potential deadlocks on SQL server.
Integrity:
No effect is made to the application integrity.
Database:
Increased performance on an Application server may
increase database requests.
© 2014 Accelatis, LLC
What happens if I increase number of CPUs on an HFM Web Server?
Performance:
• Performance may improve.
• Increasing the number of CPU’s may allow more client requests to be
processed.
• *Allowing more client requests will create a larger load on the Application
server(s).
Integrity:
No effect is made to the application integrity.
Database:
Increased performance on a web server should
not have a noticeable effect on the database.
© 2014 Accelatis, LLC
What happens I called HFM financial functions inside a nested loop?
Performance:
Nested loops calling HFM financial functions will affect rules performance. This
can occur when multiple OpenDataUnits are opened or member lists are
retrieved, then a nested for loop is created in order to iterate over the
data/metadata to perform some financial calculations. The problem worsens when
the number of iterator elements is dynamic and only known at runtime. If possible
attempt to eliminate nested loops or decrease the number of iterators.
Integrity:
No effect is made to the application integrity.
Database:
Performance implication may occur depending on the
number of records that is being generated by rules and
saved to the database.
© 2014 Accelatis, LLC
Performance:
1. Similar grid sizes may have drastically different effects on the app server.
2. HFM loads data as a slice and is made up of the following dimensions
(Scenario, Year, Entity, and Value).
3. If multiple members of any of the prior dimensions are on the rows and/or cols,
then HFM has to load multiple slices or subcubes from the database into
memory.
4. If parent level members of the account and/or customs dimensions are on the
rows and/or cols then HFM needs to calculate the totals of those parents.
5. Effect can be seen in PagerStats in System Messages
Integrity:
No effect is made to the application integrity.
Database:
Performance implication may occur depending on the number of records that is
being loaded from the database and or calculated on the fly if it is aggregated
value.
What happens if I change my Grid POV?
1. All data is coming from 1 subcube.
2. Data for every row is a subcube. (16 Subcubes are loaded)
3. Every cell is coming from a subcube. (112 Subcubes are loaded)
What happens if I change my Grid POV (cont)?
© 2014 Accelatis, LLC
What happens if I delete an account or a custom member?
Performance:
1. Once an account or custom member is deleted the data is still in the HFM
database.
2. Since HFM loads data based on slices or subcubes, the entire subcube is
loaded into memory including the ones with the deleted accounts or customs
members.
3. HFM will not use those data records but it needs to filter out those records
which is a time consuming task.
4. In the later releases of HFM, those records are not loaded, but HFM needs to
pre-scan a data slice and not load those intersections.
Integrity:
No effect is made to the application integrity.
Database:
Data is stored in the database that will never be used.