Want to know The Truth About CPM?

30 December 2015

Do you know who runs the ODTUG EPM Community?

Probably not, but you should

Have you ever wondered who makes the ODTUG EPM Community initiatives come off?  I don’t mean Kscope (there’s a Conference Committee for that) but instead the webinars, the Kscope EPM Monday Night EPM event, the Technical Journal articles, the regional meetups, and the quarterly newsletter?

In large part, you do Oh Gentle reader do when you present a webinar, or have fun on Monday night, or write a whitepaper, or help out with the newsletter, or attend a meetup.  But who organizes those initiatives?  Why do they even exist?


These initiatives exist, and engage you, and succeed because of volunteers.  Volunteers who are just like you or yr. obt. svt. only crazier more dedicated.  They’re ODUTG volunteers that serve everyone in the EPM community within and without ODTUG.  That’s right – ODTUG is the foundation of these enterprises but they serve all EPM practitioners everywhere.  It sounds kind of awesome and it is.

They (and yes, I’m going to get to them in a moment so please bear with me) recruit webinar speakers (hey, if you’re interested in presenting an ODTUG webinar, sign up here), organize the Monday Night Kscope event, recruit Technical Journal writers, appleseed EPM meetups, and recruit writers, write articles themselves, and edit the quarterly newsletter.  None of this happens by magic and all of it happens for “free” to your benefit.  Have you noticed how these activities have picked up over the last year?  That’s not a happy accident but instead the outcome of a group of talented and hardworking individuals.

We happy few

This is the first in a series of posts on ODTUG’s EPM community and in future posts I’ll highlight each of the volunteers, but for this first go round I shall leave the panegyrics to a simple listing of the volunteers and their roles and responsibilities.  As promised, more detail will follow.

*A note and a happy one about GaryC (two Gary’s overwhelm my limited mind so I refer to them as GaryC and GaryA, probably to their intense annoyance):  GaryC is a recently elected ODTUG board member and as the EPM community is run by EPM community members, not the Board of Directors, he had to find a replacement.  I’m glad to note that GaryC has a namesake colleague GaryA just as interested in the EPM community.  Also, the almost-the-same names keeps my level of naming confusion to a minimum.  Sort of.

What about yr. obt. svt.?

I’m very happy to report that I am entering my last year on the board (not actually happy about that) and thus my last year as the EPM community liaison to the BoD (Hmm, not happy about that either but such are term limits.  That’s the way she goes.).  What does that title mean?  While I would love to tell you that it means I expend an enormous amount of hard work, that the success of these initiatives are due to my sterling efforts, etc. the role really is only keeping an eye on what the EPM community does and bringing any requests for funding or direction to the attention of the BoD.  It’s an easy billet.

More coming

As noted, you’ll see more on the EPM community, what we’re doing, and how you can contribute as well as benefit from these volunteers’ hard work.

Be seeing you.

18 December 2015

The Compleat Idiot's Guide to PBCS, No. 2. – Philip Hulsebosch's blog

Yeah, I’m stealing the content

Well, not really, more like giving a little publicity to a blog that most of this particular blog’s readers do not read.  

It’s by Philip Hulsebosch.  For those of you who don’t know Philip, he’s an accomplished EPM practitioner who has presented multiple times at Kscope as well as a prolific writer of white papers.

For some odd reason (Dear non-anglophone readers, please enjoy the following example of cultural arrogance) this blog is written in German instead of English.  Given that my German mostly consists of types of beers and descriptions of delicious meat dishes, I have been happy to turn to Google translate to get a rather good account of Philip has been up to.  

For the record, I understand that people not in the States speak other languages.  Once upon a time, even yr. obt. svt. could speak Vlaams.  Disuse has ended whatever I could communicate in something other than English.  Although some would argue that even my native tounge isn't something I've really mastered.

For those of you who are not fully monolingual, here’s Philip’s post in the original German:

And here it is in the Queen’s English:

Or to shorten that:  PBCS for a week.

What’s it all about, Alfie?

Do I have to put in that Michael Caine reference again?  Just listen to Cilla Black sing.  What a fantastic movie.  But I digress.  Again.

Moving beyond British movies from the 1960s, Philip covers:
  • Data center location
  • Planning user roles
  • Reports
  • Data export (quite a bit on this)

What I particularly like about Philip’s approach is that he is coming at these functions as someone who has experience in on-premises Planning but is a Cloud n00b.  Sort of just like me and perhaps you as well.

I have high hopes for many more posts from Philip.  You should too.

Be seeing you.

17 December 2015

One of these Smart Views is not like the other, one of these things does not belong

You must look for the clew

A hat tip must be given to Gary Adashek aka @GADASHEK for it is his hard work and (apparently) incessant nagging that got this superduper feature.  See, mega multinational colossus software companies do listen to their customers.

Have a looky loo at the below two screenshots.

More than one red herring

Things you should discount:
  • Excel 2013 versus Excel 2010
  • Slightly different formatting styles (I used the bold red for data to show that I could write to an intersection via a ugly filter)
  • Cell C3 versus B5

Do you see it?


Something new has been added

Still can’t see it?  That’s not very Holmesian.  


Perhaps the subtle visual hints below help.

Going walkies
Let’s clear out that grid.

Click on “Insert Attributes” and the magic occurs.  

There they are, the five attribute dimensions from Good Old Sample Basic aka MVFEDITWWD.  No more guesing or going into the Member Selection dialog.  Finally!

There is one teensy weensy problem

That Insert Attributes selection?  It performs a retrieve.  Sample.Basic retrieves the top of the house on 0.016 seconds but for all of my love of this database, it isn’t exactly a real world example.

How do I know that Insert Attributes does this?  I know because I tried this out on an ASO database with 15 attribute dimensions (I swear, not my design) and Smart View…went away for a while.  Bummer.

Imagine that retrieve against a BSO database.  Double bummer.

Could Oracle fix this?  Absolutely – just turn off the retrieve when the dimensions are on the sheet.  It isn’t as though the data value would be any different and the function would be faster, much faster.  Also that would give the user a chance to remove the attributes he doesn’t want.  Surely this is possible, says the geek who actually has zero idea how hard this is.  Never let it be said that I let my ignorance get in the way of my wishes.  Oops, wait…

How do you get this?  It’s as easy as pi.

Simply download the latest version of Smart View.  For those of you reading this in December 2015, that’s release  What could be easier?

Again a big thanks

Gary Adashek is the one to thank, not yr. obt. svt. as I would have figured this out in approximately eleventy billion years.

This is pretty cool and proof that Smart View’s progress continues apace.

Be seeing you.

08 December 2015

Want to read the official word about Hybrid? You’re probably missing this.

A note

Before I torpedo sales of Developing Essbase Applications:  Hybrid Techniques and Practices, what I’m about to relate does not replace it, but instead supplements the Hybrid chapter Tim German and I wrote.  Keep on buying the book, hopefully in lot cases of 100 so I can sooner or later make back my fairly exciting legal fees.  For real and for true, the Hybrid chapter covers a bunch of very practical as well as theoretical (I have yet to hear from anyone at Oracle that we goofed) concepts.  What you’re about to read has some of the practical orientation but nothing currently in the way of architecture.  Thank goodness for that, say my six coauthors.  And me.

I whine, Oracle listens

The above title  is likely not a 100% accurate statement.  Probably something like, “Yr. obt. svt. whines, in desperation and despair Oracle does its very best to make me shut up and go away,” is quite a bit more likely.  Regardless of motivation, Oracle’s EPM documentation team read my last post on PBCS documentation and that documentation’s general awesomeness (and it really is awesome – miles better than the traditional documentation) and caught my whine (whinge for those of you formerly or currently in the British Empire) about the dearth of Hybrid documentation.  It turns out that there is documentation about Hybrid, and some of it is quite interesting.

The catch is not to read the but instead to read the 12c documentation.  One might have thought that, having written all about EssCS which is after all a Cloud version of Essbase 12c, I might have given a thought to reading that release’s documentation but nope.  Read on, gentle reader so that you may not sin as I did.

The seventh son of the seventh DBAG son

In the 12c DBAG, there are no further than tweleve references to Hybrid.  This is a Good Thing.  Also, I can’t count but couldn’t resist the temptation to use that line.  Maybe 12c always means twelve points?  You decide.

The bits in bold are my emphasis.

Using Hybrid Aggregation

There are a few interesting suggestions here and a rather important one.

The following are some scenarios where hybrid aggregation is likely to improve calculation performance:
  • A block storage database has sparse members that are not level 0, and are calculated according to hierarchy (rather than by calculation scripts).
  • A sparse Dynamic Calc member has more than 100 children.
  • You are using a transparent partition between an empty aggregate storage target and a block storage source. If the formulas on the aggregate storage target are simple and translatable to block storage formula language, you can achieve fast results on block storage using hybrid aggregation.
  • You are using a transparent partition between two block storage databases, and calculation performance is a concern.
The really interesting
Minimize the size of blocks, if possible. Consider adjusting the Create Blocks on Equations setting, or in the case of calculation scripts, using the SET CREATEBLOCKONEQ ON|OFF command.

And there we have it – Hybrid design advice, suggesting that smaller is better.  True or not?  Only benchmarking can answer that question, but it’s one I plan on trying out.  You should too.

Working with Attributes

If hybrid aggregation mode is enabled, you can set the solve order for attribute dimensions and their base dimensions, eliminating the need to tag members as two-pass. In hybrid aggregation mode, the default calculation order (also known as solve order) matches that of block storage databases, with some enhancements. If you wish to use a non-default solve order, you can set a custom solve order for dimensions and members.

Solve order in Hybrid is here.  Note that this is not supported in, but it is a sign of things to come.

More about Hybrid Aggregation Mode and custom solve order

Can attribute dimensions in ASO have their own solve order?  I don’t think so.

Per the DBAG:
When hybrid aggregation mode is enabled, the default calculation order (also known as solve order) matches that of block storage databases, with some enhancements. If you wish to use a non-default solve order, you can set a custom solve order for dimensions and members in hybrid aggregation mode.

The default solve order in hybrid aggregation mode is easier to decipher than standard block-storage calculation order, for these scenarios:
  • Forward references, in which a dynamic member formula references a member that comes later in the outline order. There is no outline order dependency in hybrid mode.
  • Aggregation of child values based on outline order more closely matches aggregation using equivalent formulas.
  • Dynamic dense members as dependencies inside sparse formulas. If a sparse formula references a dense dynamic member, the reference is ignored in hybrid mode, because by default, sparse dimensions are calculated first. You can change this behavior by assigning a custom solve order to the sparse dimension that is higher than (calculated later than) the dense dimension’s solve order.

Optimizing Calculations

Not all that much going on here, but it’s there regardless.
Hybrid aggregation mode is available for block storage databases. Hybrid aggregation for block storage databases means that wherever possible, block storage data calculation executes with efficiency similar to that of aggregate storage databases. See Using Hybrid Aggregation.

See also the ASODYNAMICAGGINBSO configuration setting topic in the Oracle Essbase Technical Reference.

Essbase Features No Longer Supported or Deprecated in Previous Releases

Want to know what’s deader than disco before 12c aka  See the ReadMe for what’s in 12c.

This one is a red herring as it refers to XOLAP, not the Hybrid query processor.  I thought that XOLAP was a deprecated feature but no, it’s Hybrid Analysis that’s dead as a doornail.  

The Tech Ref

This is where I spend most of my time with Essbase documentation.  If I knew MDX, BSO calc scripts, or MaxL better, I wouldn’t need to refer to this quite so much but I’m never going to be called Mr. Memory so I’m glad it exists.  Here’s the gen on the interesting Hybrid bits.


This is the same as but it contains an intriguing note:
Alter Application set cache_size and Query Application get cache_size, for managing the size of block- storage application cache.
Does this mean that the aggregate cache can now be changed?  It sure suggests it although the setting was there in and and it had no actual effect.  Fingers crossed that this actually works.

Functions Supported in Hybrid Aggregation Mode

There are lots of functions listed here, too many to count.  What’s interesting is that only 19 out of all of those functions are noted as not supported.  Yet.


These subdirectories are similar to those found in aggregate storage application directories. When the application stops, the directories are removed, and when the application restarts, they are replaced.

This one seems to go back and forth.  I think that in this was the behavior and in the folders persisted.  Gentle Reader, this one is for you to find out.

Alter Application

Want to set the aggregate cache?  Use alter application’s set cache_size to do so.

Again, let’s hope that it can actually be set to greater than 32 MB.

Query Application

Want to know how big that aggregate cache actually is?  Use query application sample get cache_size;


Formula cache sizing applies to both BSO and Hybrid as the latter is a superset of the former so no surprise there.

So there you have it, so long as you know where to look

It’s a bit confusing and confounding to have to look at something other than the current release’s documentation but I’m really just glad it exists at all.  Hopefully we’ll see the relevant bits make it to the documentation code stream but beggars can’t be choosers.

Again, my thanks to the Oracle EPM documentation team for helping us all out with this.  I’d have been looking at the 12c documentation about when 12c hits on-premises so this is huge, huge, huge.

Be seeing you.

01 December 2015

The Compleat Idiot’s Guide to PBCS, No. 1 – Documentation

No, this isn’t my series on Volkswagens

Although I do come from a family members who were smart/crazy enough to own a 1953 VW Zwitter Bug (so long ago the color is unknown, but probably white), a 1966 and 1971 Squareback (a combination of awesome and rust and occasional fires but overall awesome), and a 1976 Dasher Wagon (apparently such a lemon no one actually seems to have a video of it and this snap doesn’t share the horrific 70s brown color), I am without doubt a Compleat Idiot when it comes to Planning Budgeting and Cloud Service.

My goal with this series, so long as I have access to a PBCS instance, is to bring the non-PBCS customer and consultant along with me as I explore the tool and compare and contrast it to on-premises Planning.

Fwiw, I don’t think on-premises is going away any time soon, but PBCS is the vanguard of Planning functionality.  See it in PBCS and soon (hopefully) it’ll be there on-premises.  Looking at PBCS is a time machine into the future for us in on-premises land.

Reading all about it

The first and most obvious place, even for we geeks who think we know Planning is the documentation.  Yeah, yeah, I know, real geeks don’t read the docs but I’ve learnt to do it because I’ve been burnt too many times, cf this post on security within dimensions.  Also, without the Tech Ref I think my career would be over.  There are gems in the docs if you know where to look.

That’s probably my greatest complaint about EPM documentation.  How do I know where to look?  Why does the documentation (I’m looking at you, DBAG.) look like it’s a refugee from 1994?  As an example, the DBAG really hasn’t changed much since I first laid eyes on it last century and is still strangely BSO-oriented.  I like BSO.  In fact I love BSO.  Within Planning, it’s where I earn my living.  But where’s the detail on ASO?  There is one chapter on ASO in the DBAG.  One.  Hybrid?  514 words. Rant over.  

Planning isn’t much better.  Except it is in PBCS.   Oracle have taken a very different and welcome approach to documentation.  The key differences are organization and the tutorial orientation.

Task versus subject

From an organizational perspective, instead of a monolithic administrator’s guide, the documentation is broken down by task:  building applications, data integration, different ways to plan (task lists, browser forms, Smart View, predictive planning), creating applications, etc.  

Here’s the PBCS standard interface landing page.  Note the word “Tasks” in great big type.

And the simplified interface.  Again, Tasks are the focus.

Contrast that with on-premises’ standard interface landing page:

And the simplified:

NB – I checked with Oracle and the below is NOT correct.  One day, maybe.  Unless I can’t read (eh, you see how I write so likely my reading is just as bad), there’s nothing that says it’s PBCS only but Oracle have stated that Sandboxing and Valid Intersections are PBCS only at this time.  Bummer.

Not terribly informative.  If you don’t click on contents, you’ll miss this little bombshell:

You are looking at sandboxing in on-premises Planning!  Talk about finding stuff out by reading the docs.  Who knew that was there?

That was hard, too hard.  And I just found it through sheer luck.   

Mistake or no mistake, contrast that with PBCS’ simplified interface docs:

A bit easier to find, isn’t it?

Video killed the radio star

Sometimes a picture is worth a thousand words.  Sometimes a video is worth a thousand pictures.  So that means that a video is worth a million words?  Maybe, because there really is nothing like actually seeing something being done.  And PBCS has it in spades.

You can watch videos within the docs:

Or just directly in YouTube.  There’s an entire library of videos there but I’d avoid the temptation of looking at cat videos if you value your job.

Teach me, teach me teacher

The other difference is the heavy tutorial orientation.  Want to create a Planning app?  Here it is, step by step:

Want to see how to do something step by step by step in a task-oriented manner?  It’s there.

So what does this mean for on-premises?  

The PBCS documentation is awesome.  Good grief.  All of it:  the task orientation, the ease of finding information, the videos, the tutorials, everything really is amazingly good.  Did I mention it is awesome?  It is.

And it isn’t there for on-premises Planning.  

Having said that, there is nothing, absolutely nothing stopping you from jumping over to the PBCS documentation site and having a gander at the tasks.  Creating a form?  It’s there.  Task lists?  It’s there.  What’s stopping you from going there and stealing getting ideas for your custom training?  Or just learning how to do something?  Most but not all of the functionality is the same.

There are differences.

But they’re easy to see.  And avoid.

Where will Oracle go with this?

I don’t work for Oracle, a fact that the Oracle Corporation is undoubtedly profoundly grateful for, but I can take a couple of guesses as to why the documentation differs so and what will maybe happen in future.

The Cloud is a huge focus and emphasis at Oracle.  OOW was awash in Cloud and in our world, it was omnipresent with Essbase Cloud Service (EssCS) and just about everything else.  Where there’s an organizational push, there’s funding, and where there’s funding there’s product.  PBCS’ documentation Is part of that product.

What about on-premises?  A fantastic question because the current version doesn’t seem to have changed since approximately the Year Dot other than getting updated with new functionality.  My hope would be that Oracle copies the PBCS documentation (it is after all largely the same) and makes an on-premises version of it.  Or perhaps a more desirable approach is to take the PBCS documentation and somehow note that Smart Forms or whatever are PBCS only.  That latter approach would mean that as on-premises Planning picks up PBCS functionality that does-not-work-yet flag is removed.  Should the existing on-premises documentation remain as an alternate tool?  In an ideal world sure, but that would mean Oracle have to support two documentation lines.

The great news about this all is that PBCS has given the EPM team a chance to rethink and rewrite their documentation.  It’s really good.  And because so much of it is applicable to both on-premises, those of us not in the PBCS world can use much of it.  That is exactly what I’m going to do for both myself (I told you I actually RTM) and my customers.

But all of this post is one geek’s opinion.  What do you think?  What would you like to see?  Send me your thoughts, whether by email (the unlucky ones know it) or comments to this blog (you can hide behind anonymity if you wish) and I’ll pass it on to the Oracle documentation team.  They really do want to hear your opinion and it does drive their decision making.  

Be seeing you.