trigger maxl from fdmee

35
www.123olap.com

Upload: bernard-ash

Post on 16-Apr-2017

494 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Trigger maxl from fdmee

www.123olap.com

Page 2: Trigger maxl from fdmee

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 you’d like to receive a notification when we

schedule webinars, please notify

[email protected].

Page 3: Trigger maxl from fdmee

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.

Page 4: Trigger maxl from fdmee

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.

Page 5: Trigger maxl from fdmee

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

Page 6: Trigger maxl from fdmee

www.123olap.com

Other applications of this technology

Shell/Batch file to :…. Archive files

Call MAXL

TBD – any other ideas?

Etc.

Page 7: Trigger maxl from fdmee

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

Page 8: Trigger maxl from 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.

Page 9: Trigger maxl from fdmee

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.

Page 10: Trigger maxl from fdmee

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 – don’t get me started. How many of you do upper level write back

Page 11: Trigger maxl from fdmee

www.123olap.com

Major Hacks – It shouldn’t 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

don’t 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).

Page 12: Trigger maxl from fdmee

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 doesn’t 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. Wouldn’t it be great if could: Trigger a calc the second the data is loaded - a calc that is TARGETED/ “Fix’d” 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, let’s show you how to implement it.

Page 13: Trigger maxl from fdmee

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 don’t have time

b) I wouldn’t 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.

Page 14: Trigger maxl from fdmee

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.

Page 15: Trigger maxl from fdmee

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

Page 16: Trigger maxl from fdmee

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 ;-)

Page 17: Trigger maxl from fdmee

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 ;-)

Page 18: Trigger maxl from fdmee

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.

Page 19: Trigger maxl from fdmee

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 you’re in.

Can’t 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.

Page 20: Trigger maxl from fdmee

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.

Page 21: Trigger maxl from fdmee

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?

Page 22: Trigger maxl from fdmee

www.123olap.com

Are CDFs Installed?

Page 23: Trigger maxl from fdmee

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 don’t want to call a CDF for every iteration of a loop you’re 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.

Page 24: Trigger maxl from fdmee

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 don’t have enough time

for this in this session. However, we are happy to set

up another webinar to go over this after KScope :

[email protected]. Or come visit us at the

Konvergence booth #111.

Page 25: Trigger maxl from fdmee

www.123olap.com

Calc Manager

Why not do it in calc manager? Many users don’t 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.

Page 26: Trigger maxl from fdmee

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.

Page 27: Trigger maxl from fdmee

www.123olap.com

Anatomy Screenshot

Page 28: Trigger maxl from fdmee

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.

Page 29: Trigger maxl from fdmee

www.123olap.com

Show me the data?

Page 30: Trigger maxl from fdmee

www.123olap.com

Test it?

Change FX rates

Rerun MAXL

Validate results have been correctly updated.

Page 31: Trigger maxl from fdmee

www.123olap.com

If time permits, add another currency

1. Add another currency rate (stored in Measures>>Metrics. See MDX screenshot from earlier. Don’t 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 currency4. 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.

Page 32: Trigger maxl from fdmee

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.

Page 33: Trigger maxl from fdmee

www.123olap.com

Additional Webinars / Classes – on request1. 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 Publisher’s 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 backupsc) MAXL parallel data exports (for backups and/or defrag)

d) backup of Essbase partitions whose backup is not supported by LCM

Page 34: Trigger maxl from fdmee

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.

Page 35: Trigger maxl from fdmee

www.123olap.com