Want to know The Truth About CPM?

08 July 2014

What's coming in Planning

Before I begin

Like many of the oh-so-cool previews at Kscope14, this session by Shankar Viswanathan (Planning Product Manager) and Prasad Kulkarni (Planning Development Manager) was prefaced by a slide that looked quite a bit like this:
That’s from the Thursday Planning Deep Dive but the text is (I am 100% sure because I got it from the Essbase PM) Oracle’s.  

Mentioning this is just my way of warning you that everything I saw, and everything I am going to relate, and the super cool demo that you can see all may come true.  Maybe.  Or it may not.  Oracle are very clear that this is what they would like to see happen but as always with plans, Planning PSU4 (aka Planning may not occur, Planning PSU4 may not occur when they hope, Planning PSU4 may cause Redwood Shores to sink into the sea, etc.  In other words, enjoy the below but no more.  I certainly hope it all comes true.

The key takeaways

I was pretty much blown away by what I saw both because many of the papercuts have been resolved and because Oracle have added so many new bits of functionality.  

Looking at my notes from Shankar and Prasad’s session, I see the following coming for Patch Set Update (PSU) 4:
  • Improved performance
  • Sandboxing
  • Client side calculations
  • Valid Combinations



Performance in Planning forms has been an issue for just about as long as there has been a Hyperion Planning.  As of and a usable version of Smart View with Planning, I’ve recommended that clients who want speed (and in general just want decent functionality) to go the Planning/Smart View route.  Now I may have to rethink that.

From a performance perspective, Oracle are now claiming that a form with over 100,000 cells now loads in about five seconds.  Hmm, that’s pretty darn quick.  How do they do it?

The difference now is that Oracle are now using ADF to pull data on demand very quickly.  I think that means that they aren’t really and truly pulling all 100,000 cells into the browser when a planner opens a form but instead they are paging it very quickly and intelligently prefetching the data as required.  From a human perspective, it seems instantaneous.  How many retrieves from Essbase actually occur (is it just one and Planning caches it or is it multiple quick retrieves – I don’t know and Oracle didn’t say) is difficult to tell but with performance like that, who cares?

What about the sends?  Surely there is an issue with that 100,000 cell send back to Essbase?  Nope, only the changed data is sent from Planning back to Essbase.  Cool, eh?

You can see it all here in this video.  Check out the form open (about 120,000 cells) from 00:21 to 00:26 and then near-instant aggregation from 00:35 to 00:37.  

Also check out the following screenshots from the video for those of you too lazy to watch a video.


Entering the data at 00:35

Immediate updates to Period at 00:36

Big deal you say – dense intra-block calculations are always fast.  And so they are.

Fully aggregated at 00:37

But a fraction of a second later the entire Market dimension is aggregated as well.  That is not what you would expect from BSO Planning, is it?

Something you should look at

Look at the numbers in green.  That’s the top of the house sparse Market dimension.  Calculated instantly, thanks to Hybrid Essbase.

Speaking of Hybrid Essbase

What’s the number one thing (way beyond form performance) that drives customers, admins, and consultants nuts about Planning?  Calculation performance is the answer.  What if calculation performance was just about instantaneous?  And the calculated results were also intelligently updated from Essbase back to Planning?  Say hello to Hybrid Essbase as part of Planning.  Yes, the same Hybrid Essbase that Tim German and I presented on at Kscope14 (not as part of Planning) will now be certified for Planning.  With the improvements that are coming in Hybrid Essbase (hey, you were at Gabby Rubin’s Essbase Kscope14 roadmap session, right?) you know how D-T-S and Time Balance will be supported along with ASO-like dynamic calculation speeds.


This new speed in form retrieval, scrolling, entering, sending, and now calculating means that a lot of formerly impossible Planning applications may become commonplace.  

I am emphasizing the may part of this because I think the last thing the world really needs is a 400,000 Entity dimension with 2,000 planners entering bottom up budgets and then watching Essbase/Planning quickly calculate/aggregate the numbers.  Sometimes just because you can do something doesn’t mean you should.

But what I am anticipating is an end to separate ASO Essbase reporting databases built off of Planning applications.  They existed because there was no way to support Actuals reporting in the BSO Plan Types that make up (most of – see the ASO Planning Kscope14 presentation Tim German and I did) Planning.  That is a complete pain and cost unnecessary dollars. Why would anyone go through that if Planning can just support the data depth and complexity?  Look for this concept to be hotly debated but I think the writing on the wall is pretty clear – Planning can be everything you need in a budgeting application, including reporting.  

I also think that driver-based applications that allocate down to a very detailed level will also be possible.  Again, this is a question of scaling that wasn’t possible before with BSO Planning (although ASO Planning can do the job quite nicely).

Totally different kinds of applications, non-financial ones in particular, could very well become commonplace where before they were rejected because Planning couldn’t scale.  Now it can.

Last thought – ASO Planning, which is really a fairly awesome bit of kit, is in sort of an ambiguous situation.  It has the advantage of extraordinarily fast allocations and level zero calculations (even rate calcs – watch this blog for a future post on the power of ASO procedural calcs with Planning), but what will its role be in the face of Hybrid that does so much of the same thing?  Only time will tell but I hope ASO Planning gets a chance as it is a fantastic tool and it is available today.


But performance isn’t the only thing Oracle have on offer – they have a sandbox.  No, not the one you played in as a kid, I mean the ones that planners use to do what-if tests.  I have implemented kludgy ways around this at just about every Planning implementation I have been on (and since I’ve been doing Planning since 2002, that is quite a few) but that was always because the tool didn’t have it natively.  Now it does.

What this means is that planners have private what-if slices of their data that they can play with.  That part is obvious.  What is not obvious is how Planning handles this.

Again, from what I saw and heard (and so I am noting that I may have this wrong), Planning shows base data in a planner’s sandbox but doesn’t copy it to that sandbox.  The planner modifies data, runs calcs, etc. in the sandbox and Planning handles the merge of the base data that didn’t change and the updates to those changes.  

Think of the slice as really only containing the delta between the existing data and the new data – when a planner looks at his Sandbox, he is seeing the merge of the unchanged base data and his adjustments to those numbers.  The UI handles the difference and Essbase (I think) only has to temporarily store a subset of data – this is fast.  This is also an awful lot like an ASO slice.

When the planner is happy with his numbers he publishes them back to Planning (they are private until then) and again Planning only updates the new numbers into Essbase.

Custom members on the fly

This feature that again, just about every Planning client I have ever worked with has wanted, was mentioned as part of the Sandbox feature.  Planning has this today as part of Workforce and Capex and it will now be available in general Planning as well.  If you think about it, this makes sense from a Sandboxing perspective and the fact that it can get published from the Sandbox back to the base Planning app…well, that’s pretty cool.

Client side calculations

This one blew me away – it’s a feature that allows Planners (I’m not totally sure what role does this – Planners, Interactive Users, Administrators, or some new role) to create client-side only calculations that feed their results back to Essbase.

Planners can create these calculations using something that looks an awful like Excel/Smart View (but I believe this is all on the web) and, using Excel formula syntax and cell references, create logic that is posted back to Planning forms and is then calculated on the client side only with the results written back to Essbase.  Whew.  It is, finally, a breaking of the lock that administrators have on calculations.  Again, this will have to be managed, but within the correct context, this is a hugely empowering move for Planners.

In keeping with the spreadsheet UI, Oracle claim they have replicated almost all of Excel’s formulas (so a huge boost over current form calculations).  While developing the client side calculations Excel cell references are used; when posted back to Planning it maps those cell references back to member names.  OMG so cool.

Valid Combinations

The best has been saved for last.  I have personally asked Oracle for this for at least the last four years at Kscope.  Perhaps the annoyed glances I thought I got from Shankar during his Planning roadmap presentations were really his way of saying, “You know, Cameron is a complete PITA, especially since he asks me the same question again, and again, and again at every conference,  but maybe, just maybe, this is something worth looking into, if only to shut him up.”  Perhaps.  And I am almost certainly a complete PITA to all sorts of people at Oracle.  So double perhaps is likely appropriate.

No matter the motivation (many have wanted this functionality for a long time so the above is artistic license/insanity on my part), we will now be able to define valid combinations (get it?) of dimensions for form navigation.  By that I mean, if Entity A is only valid with Products 1, 2, and 3 and Entity B is only valid with Products 3 and 27, those will be the only possible combinations of member selection within the forms, e.g., A can never select 27 and B can never select 1 or 2.  The workarounds we have all done in the past (hard coded forms by user type, more attribute dimensions that you can shake a stick at and still lots of semi-hard coded forms) will all now be a thing of the past.  

There’s even more functionality in this – in addition to the expected form dropdown filtering, it will also be driven by what’s in the POV (think dynamic user variables and it gets quite interesting), and it will be applicable to Calculation Manager rules.  There will even be a report mode that gives us all of the places that people have somehow (could be Essbase, could be forms that don’t use Valid Combinations) gotten data into invalid locations.  

Finally, Valid Combinations will fire first and then user security comes into play.  This is perfect because it’s exactly the way access should work.  First the admin decides what member combinations are valid.  Then planners, who may only see a very small slice of a given valid member combination set, have their security applied.  The result is data where it needs to go and only there.

When can we see all of this?

As I noted way back in the beginning of this post, with luck we will see this on on-premises Planning by the fall.  It will then move to the cloud.  This sort of leapfrogging between PBCS and on-premises Planning is actually occurring today and will continue in future.  

What does this all mean?

Well, one thing it means is I am not going to be able to whine about:
  • Planning being soooo slow
  • How do I stop people from entering data into invalid combinations of members?
  • My super-lame kludges that supported (kind of) sandboxing

Nor will I be able to whine about client-side calculations.  Oracle introduced this before I could even conceive of whining about it.  Shall we call it preemptive counter whining?  Or just a way to get me to shut up?  You decide.

What all of this really means is quite interesting – Oracle are ramping up the performance, adding much-wanted functionality, and doing it all at a super-fast cadence.  I’m really very excited (in case it isn’t obvious from all 2,000+ words above this sentence) about where Oracle are taking the product.  I haven’t seen this much innovation from Oracle since Planning first came out.  Hopefully Oracle will be able to continue the great work and sometime this fall we’ll all be going through the act of installing in our development environments.  A big thanks to Oracle for previewing this at Kscope14.  

What oh what oh what will Oracle preview at Kscope15 in beautiful Hollywood, Florida?  The only way to know is to sign up.

Be seeing you.


Daniel Willis said...

Thanks a lot for this write-up Cameron.

Unknown said...

I'm not sure whether the custom calculation goes back to Essbase. It was saved as a different type of form (forgot the name).
Or are they using members on fly for this one too?

Unknown said...

You forgot to update about the cloud features coming to on-premise.
Running performance tests on forms and business rules,....

Cameron Lackpour said...


To your two points:
1) I don't know how the custom calculations (I am thinking unique members that don't exist in Planning) work -- are they relational only, are they some form of member-on-the-fly? Dunno and I don't think Oracle stated how that worked at the session.
2) Re the cloud stuff -- I get a little fuzzy on what was discussed and what is NDA'd, so I erred on the side of caution.


Cameron Lackpour

Cameron Lackpour said...


I have reached out to Oracle on several of these questions -- I will update the post as I hear back from them.


Cameron Lackpour

Cameron Lackpour said...

I can confirm that the members in user side calculations are stored in the Planning relational data store. This makes sense to me as I, conceptually at least, think of custom user calculations just like Supporting Details.


Cameron Lackpour

John A. Booth said...

Technically this isn't PSU 4 -- they call it PS4 -- in the context not sure what it means. Obviously not Play Station 4 ;). Perhaps Product Set?

Jeff MCAhren said...

Thanks for the writeup.

The "custom members on the fly" feature has really piqued my interest since I first heard about "Dynamic Planning" in Workforce and CapEx last year.

This would be a huge hit in my organization if/when it makes it to regular (non-module) Planning. It would greatly simplify our current process of handling TBA-xxxxx organizational members. I would love to see a demo of how this works if anyone finds themselves tinkering around with it. Does it work with EPMA apps, or classic only? Exactly how do users add the members?

Steph said...

Essbase is released and nothing about hybrid enhancement in the readme :-(

Unknown said...

PS(4) = Patch Set (4)