Sunteți pe pagina 1din 35

www.123olap.

com

Future Webinars
We have a large amount of webinar / training
content available related to :

Essbase
FDMEE and Jython
OBIEE
HFM
DRM

If youd like to receive a notification when we


schedule webinars, please notify
bash@epmclarity.com.
www.123olap.com

Introductions

Bernard Ash - EPMClarity.com


EPM Gurus 15+ years and counting

123Olap.com premier Hyperion training provider:


Rudy Zucca, Eric Eriksen, Matthias Wohlen
Experienced and renowned consultants, NOT just trainers.

Konvergence.com

Vendor of choice come see demos at booth #111.


With Essbase or Without. EPM and Beyond.
Come find out about the Save Essbase! revolution.

www.123olap.com

Agenda
Part 1: Trigger Batch/Command File from FDMEE

How to make FDMEE-triggered Essbase calculation and partition


scripts targeted so that they run only for the entities that are
applicable to the current FDMEE load.

Part 2: Run a MAXL script from Smartview

Use an Essbase CDF inside an Essbase calculation script to run a


MAXL script. The calculation script can be run from Smartview.

www.123olap.com

Part 1: Trigger Batch/Command File from FDMEE


To run parameterized MAXL which will
orchestrate TARGETED :
1) Calculation scripts
2) Partition scripts

www.123olap.com

Other applications of this technology


Shell/Batch file to :.

Archive files
Call MAXL
TBD any other ideas?
Etc.

www.123olap.com

Why FDMEE?
End-user Driven data loads
Maintenance of mapping tables driven by end-users
in end-user friendly interface
Managing and remediation of kickouts in end-user
friendly interface
Flexibility with Jython scripting.
How do I get to FDMEE from FDM and how should I?
See other presentation about the migration from FDM to FDMEE

www.123olap.com

Why FDMEE vs. FDM Classic


Sunset
Oracle Enterprise Performance Management System 11.1.2.3 is the
terminal release for FDM Classic.
ODI
FDMEE leverages the power of the go-forward data integration
platform ODI
LCM
Multiple platforms unlike FDM Classic
IE or Firefox support
Workspace integration
64 bit
Jython and access to java libraries.
www.123olap.com

Why still use BSO?


Hybrid not there yet. But we all wait excitedly for
Essbase Cloud/ 12C
ASO has a limitation of no more than 2^64
intersections
Easier to develop and support b/c many more
people have BSO skills than ASO & MDX skills.

www.123olap.com

Intro / Concepts
Subvars may not be best way.
We could use the API
Not only do you want to make your calculation
TARGETED (w/ a fix), you can gain tremendous
performance benefits by TARGETING your partition scripts
as well.
Only level 0 on partition definition, especially if your
target is ASO
Upper level write back dont get me started. How
many of you do upper level write back
www.123olap.com

Major Hacks It shouldnt be this hard ;-)


Not pretty b/c it was a bit complicated to manage double quotes when passing
parameters at the commend line and bypass the potential limit in the length of a
string that could be passed to the command line. At first, I wanted to just pass one
command line string with all the entities but I found out that DOS would limit the length
of that string so I had to resort to looping in DOS. That was a real low point in my life
looping in DOS YUCK! LOL !
It loops through the parameters based on the comma as a separator. It also needs to
reconstruct the list with a certain double quote format so that it would be acceptable
to maxl or Essbase. With that high level explanation in conjunction with liberal
commenting in the code, it should hopefully be understandable.
When we call the command file and pass parameters (the entities) in this format
MAXL_DEV.cmd "France","Switzerland","China", the looping handles the fact that we
dont know how many entities we will receive. It also then reformats that into a format
that will be acceptable to MAXL and Essbase (as a subvar).
www.123olap.com

What is the #1 most important (and easiest) thing


for Calc Performance?
Fix() !
Then why does the FDMEE -> Essbase Calc Script integration not support the
passing of the Entities / Departments, etc. to the Calc Script to narrow down the
fix of a calculation? Also, partitions are not integrated with FDMEE and certainly
not TARGETED partitions.

And we know that, since Hybrid doesnt cure all our ailments yet ;-), we
probably need to use our BSO workhorse to calculate some sub-models and
then partition the results to an ASO reporting cube. Wouldnt it be great if could:

Trigger a calc the second the data is loaded - a calc that is TARGETED/ Fixd on ONLY the incoming Entities
Then automatically push the results to the ASO cube once the calc has finished using a TARGETED parition.

Okay, now that we all agree that this is pretty fundamental (or at least highly
desirable) functionality, lets show you how to implement it.
www.123olap.com

The good, the bad, and the ugly DOS.


Linux shell much better.
We will not cover DOS scripting in this class b/c
a) we dont have time
b) I wouldnt wish that on my worst enemy ;-)

But, if you need to customize the DOS code here,


Google is your friend and so am I. Call / email me
if you get stuck.
www.123olap.com

Exercise Add the magic sauce


You see, FDMEE has events, like FDM did.
Add pre-written script to the AftLoad event in FDMEE.
This script will query the tDataSeg table to get the distinct market
members that were in the previous load file:
"SELECT DISTINCT UD2X FROM [HYPFDMEE].[dbo].[TDATASEG] where
loadid = '" + lid + "'"

Run a load.

www.123olap.com

Exercise - Show me the data Be Sure you have FX Rates


View the Results in BSO (Input member converted into
USD)
Results in ASO
Change fx rates, rerun
Extra Credit add support for another country

www.123olap.com

Advanced Exercise
Add logic to wrap entities / markets (i.e. Brazil) in
double quotes in DOS so that they have double
quotes in the partition script in MAXL. This would
support entities with spaces in them. This requires
some painful DOS coding so proceed at your own
risk or migrate to Linux ;-)

www.123olap.com

Part 2: Trigger MAXL file from Smartview


But watch out, b/c users can hurt
themselves and others if given too many
privileges ;-)

www.123olap.com

Intro / Concepts
Why bother?

Partial Clear
Partition Creation / Refresh
Security
Backups
ASO aggregation (materialize aggregation)
Any other ideas for which you otherwise would need RDP access to run MAXL?
Go In and out of archive mode.
Security?
Can we pass parameters from Smartview? Maybe we could do this in Calc
Manager?
Subvars

Watch out ! Be careful who can run MAXL.


www.123olap.com

Our Sample use-case : FX with ASO


Disclaimers
There is never only one way to get something done and often no
right way. The right way often depends on and can vary with the
requirements. It also depends on the skills of the resources available
and environment youre in.
Cant exceed 2^64 intersections
Improvements to make it better in 11.1.2.4.00x in regards to skipping
over non-existent data
Hybrid will do everything but not in current EPM releases. It will be
Essbase Cloud or 12c.
www.123olap.com

Full Circle back to BSO?


ASO vs. BSO vs. Hybrid.

If :
ASO has a ceiling on the number of intersections
Hybrid has limitations i.e. no cross-dims to upper members
BSO is a great calc engine and we can use parameterized
partition scripts to move data from BSO to ASO. Maybe we should
still count on BSO for calculations?... At least for now.

www.123olap.com

The How
Calc Manager CDFs These handy little java-based
utilities written by the Hyperion Calc Manager team
allow us to, among many other things, launch a MAXL
command from an Essbase calc script / Calc Manager
rule.
How can we get them installed?

TBD come with Essbase and Planning install


If you need to confirm them, to go EAS bottom left of the EAS calc script
editor (see screenshot next page)
@ Functions versus RUNJAVA
Can you write your own?

www.123olap.com

Are CDFs Installed?

www.123olap.com

@ Functions versus RUNJAVA


@ Functions versus RUNJAVA

RunJava allows you to make a one-time call to a CDF


Functions beginning with @ will call the cdf for every iteration through the
loop.
There may be some cases where you would want to do this but way
overkill otherwise. For example, you want to check a variance, find out
what the variance threshold is for that POV by querying Essbase or a
relational database >> and, finally, fire off an email if the variance
exceeds a certain threshold. In this case, you would want to do it inside
a loop so the CDF would be called for multiple variances (i.e. for each
product / customer).
In theory, if you dont want to call a CDF for every iteration of a loop
youre in, you could fix down on one cell and then you would only call
the CDF. But that seems like a lot of trouble when you could just use
RunJava instead.
www.123olap.com

Can you write your own CDF?


Short Answer yes
Longer answer this is a big topic for another lab /
webinar. We unfortunately dont have enough time
for this in this session. However, we are happy to set
up another webinar to go over this after KScope :
bash@epmclarity.com. Or come visit us at the
Konvergence booth #111.

www.123olap.com

Calc Manager
Why not do it in calc manager?

Many users dont want to leave Excel (Smartview)


What if we want to write calc scripts in EAS?
Developing scripts in Calc Manager is still not the most enjoyable
experience.
Can Calc Manager run native Essbase calcs?
Anyone have more reasons why not to use Calc Manager?
Pretty sure You need Planning / HFM to get Calc Manager

Advantages of calc manager?

Pass parameters?
Enter Shuttle which can help you manage parameterized calc scripts.

www.123olap.com

Anatomy of an ASO procedural calc


The Dynamic member formula that does all the
work budUSDx
The budUSD member which will store the results of
the member formula. We do this so that the result is
stored and can then, therefore, aggregate more
quickly.
The copy from budUSDx to budUSD is done with the
maxl on the following slide.
www.123olap.com

Anatomy Screenshot

www.123olap.com

Anatomy of an ASO procedural calc


- This is where we use MAXL to copy from budUSDx to budUSD.
- Yes, this is simply an ASO copy.

www.123olap.com

Show me the data?

www.123olap.com

Test it?
Change FX rates
Rerun MAXL
Validate results have been correctly updated.

www.123olap.com

If time permits, add another currency


1. Add another currency rate (stored in
Measures>>Metrics. See MDX screenshot from earlier.
Dont forget to input the rate!
2. Create and flag another dealer with your new currency.
3. Add another if statement to the budUSDx member
formula to handle your new currency
4. Input money to your new FX dealer.
5. Run the MAXL from Smartview to do the conversion.
6. Validate the result is correct and has landed in budUSD.
www.123olap.com

Encore?
Come see my session tomorrow about FDM -> FDMEE
migration utility. Once you are done using the utility
to migrate an FDM classic app into FDMEE, you can
use Eclipse to write some Jython code and then
integrate that script into FDMEE.

www.123olap.com

Additional Webinars / Classes on request


1. FDMEE Smart Replace for HFM - While HFM clears the entities in your current load, it
will not clear entities that were loaded previously. This could happen if someone
books some transactions incorrectly and they flow through to HFM. SmartReplace
will catch and clear ALL entities, not just current load and by doing so, save
customers from many hours of digging to find why their data doesn't tie.
2. How to use FDMEE data sync.
3. How to write FDMEE custom reports using BI Publishers MS Word plug-in.
4. How to use ODI to load EPMA Interface tables.
5. How to write a Linux Shell Script (Exalytics compatible) to automate :
a) LCM backups
b) file system backups
c) MAXL parallel data exports (for backups and/or defrag)
d) backup of Essbase partitions whose backup is not supported by LCM

www.123olap.com

Reminders

Bernard Ash - EPMClarity.com


EPM Gurus 15+ years and counting

123Olap.com premier Hyperion training provider:


Rudy Zucca, Eric Eriksen, Matthias Wohlen
Experienced and renowned consultants, NOT just trainers.

Konvergence.com

Come find out about the Save Essbase! revolution at booth #111.

www.123olap.com

www.123olap.com

S-ar putea să vă placă și