FIXPARALLEL and EMPTYMEMBERSET – Surprises in Essbase Part IX


There are some issues which you just ignore and there are some where you tell the world that there is an issue.
Well then there is another set where you’ve to prove that you are not wrong 🙂
I really like the way Oracle adds new functionality and I did like FIXPARALLEL.

If you don’t know what it is then have a look at Glenn’s and Cameron’s blog posts.

This post is about a big surprise with FIXPARALLEL!!!!! (Oh FIXPARALLEL is not available in Calc Manager 11.1.2.3.500)

I was writing an allocation script (in BSO) and thought of using FIXPARALLEL to see how much performance gain is there. I was amazed by the results (don’t know the exact numbers, so don’t want to quote it).
I started looking at the results and found that there is an issue with it. The calc did finish however nothing was calculated!!!!!!!
I was running like a chicken without a head. (Well I’m not Mike the headless chicken and I cannot live without my head ;))
I was thinking about all possibilities (I can think without head ;)) – Block creation, everything you can think about when data is wiped out.
Now let’s see what really happened.
I modified Sample Basic to replicate the issue I had and these are the changes I made.
Adjustments made to Sample Basic to reflect our issue.

3 new members added to Measures as Children of Ratios

  • MajorRatio
  • SmallRatio
  • NewRatio

2 new UDAs added to Market

  • Direct – to all members under East
  • New Market – to all members under Central
1 new member added to Market
  • NoMarket
This is how it looks like
Below given is the screenshot of the calc I used.
Now let’s look at what I expect to see
The results

What just happened there, well every member in Market dimension got multiplied with NewRatio.


No pun intended

Oh don’t wonder Why 
The answer is right there in the log.

 

[Thu Oct 02 10:48:22 2014]Local/Sample/BasicM/admin@Native Directory/5932/Warning(1012055)
Expression [@UDA("Market","Direct") AND @UDA("Market","New Market")] evaluates to an empty set. [FIX STATEMENT] is ignored

[Thu Oct 02 10:48:22 2014]Local/Sample/BasicM/admin@Native Directory/6804/Info(1012675)
Commit Blocks Interval for the calculation is [3000]

[Thu Oct 02 10:48:22 2014]Local/Sample/BasicM/admin@Native Directory/6804/Info(1012717)
Remote bitmap cache is [Disabled]

[Thu Oct 02 10:48:22 2014]Local/Sample/BasicM/admin@Native Directory/6804/Info(1012668)
Calculating [ Scenario(Budget)] with fixed members [Year(Jan); Measures(Sales); Product(100-10, 100-20, 100-30); Market(New York, Massachusetts, Florida)]

[Thu Oct 02 10:48:22 2014]Local/Sample/BasicM/admin@Native Directory/6804/Info(1012675)
Commit Blocks Interval for the calculation is [3000]

[Thu Oct 02 10:48:22 2014]Local/Sample/BasicM/admin@Native Directory/6804/Info(1012717)
Remote bitmap cache is [Disabled]

[Thu Oct 02 10:48:22 2014]Local/Sample/BasicM/admin@Native Directory/6804/Info(1012668)
Calculating [ Scenario(Budget)] with fixed members [Year(Jan); Measures(Sales); Product(100-10, 100-20, 100-30); Market(Connecticut, New Hampshire)]

[Thu Oct 02 10:48:23 2014]Local/Sample/BasicM/admin@Native Directory/6804/Info(1012675)
Commit Blocks Interval for the calculation is [3000]

[Thu Oct 02 10:48:23 2014]Local/Sample/BasicM/admin@Native Directory/6804/Info(1012717)
Remote bitmap cache is [Disabled]

[Thu Oct 02 10:48:23 2014]Local/Sample/BasicM/admin@Native Directory/6804/Info(1012668)
Calculating [ Scenario(Budget)] with fixed members [Year(Jan); Measures(Sales); Product(100-10, 100-20, 100-30)]

[Thu Oct 02 10:48:23 2014]Local/Sample/BasicM/admin@Native Directory/6640/Info(1012890)
Calculating in FIXPARALLEL with [3] threads. Task dimension = [Product]. Task size = [1]. Total tasks = [3]

[Thu Oct 02 10:48:23 2014]Local/Sample/BasicM/admin@Native Directory/6640/Info(1012579)
Total Calc Elapsed Time for [fxpar.csc] : [0.328] seconds

 

It says that FIX statement evaluates to an empty set and FIX STATEMENT is ignored.

Then you’ll see three statements which says “Calculating [ Scenario(Budget)] with fixed members”. Why 3? It should have only done 2.

Look at the 3rd statement (there is no Market information there and that is our EMPTYSET.

Now you know what happened here. Now what if NewRatio was missing, (this is what happened earlier in realworld – where you’ll think that it is a block creation or what not) yes you guessed it right all Budget data will be gone. pufffff!!!!!!

Now that I know that I’ve an EMPTYSET I wrote a different calc to prove that it can still work.

I hope that it get fixed soon.


About Celvin Kattookaran

I’m an EPM Consultant, my primary focus is on Hyperion Planning and Essbase. Some of you from Hyperion Support team might recognize me or have seen my support articles, I was with the WebAnalysis Support Team. I'm an Independent Consultant with “Intekgrate Corporation” based out of Aurora office. I’m from God’s Own Country (Kerala, India), lived in all southern states of India, Istanbul and Johannesburg (and of course United States). I’m core gamer :) and an avid reader. I was awarded Oracle ACE Director for my contributions towards EPM community.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.