Want to know The Truth About CPM?

08 February 2011

A great deal for ODTUG members

A great deal for ODTUG members

Those of you who follow the insane rambling that is this Essbase blog (my mother reads it because I nag her about it and Glenn does it because he loves to heckle me and correct my manifold technical errors before I corrupt the world) know that I had a fun old time trying to run Oracle EPM 11.1.2 on my what-I-thought-was-quite-the-powerful-laptop.  Unfortunately, that dream assumed room temperature some time ago.

I ended up going with Full360 as they have the most complete Oracle EPM 11.1.2 product and their pricing model seemed to work best for me.

And now the deal gets better

I’ve been paying $99/month for the EPM 11.1.2 stack (I am a loyal ODTUG individual member so I get this low price) plus all of my Amazon Web Services costs.  It’s about $150/month and some of you may choke on that but if I were to compare it to buying that $14,000 laptop it really doesn’t seem bad at all.

But you don’t have to spend the way I do, and actually, even I don’t have to the way I do (huh?).  I am in the silent and vocal majority that likes to lower costs, and I suspect you are too.

Full360 has a limited time offer that will lower your monthly cost to…nothing.  

How do I (and you) save $350?

This is so easy.
  1. Contact Full360 via the web or on email
  2. Sign up for Amazon Web Services at http://aws.amazon.com.  Yes, that same id that you use to buy those awesome Tintin books can get you into the cloud and into 11.1.2 lickety-split.
  3. Use this great tutorial to get your feet wet.
  4. Pay a one-time setup fee of $49.99 and then until 30 May 2011, pay Full360 exactly…nothing.

Even I can do the math

My current Full360 charges

Number of months between February to May = 4
Current monthly cost = $99
Full360 charges = 4 * $99 = $396

And the future

Number of months between February to May = 4
Current monthly cost = $0
One time set up fee = $49.99
Full360 charges = (4 * $0) + $49.99  = $49.99

When I do the math, that’s $396 - $49.99 = $346.01.  Okay, I rounded up, but that’s still a lot of dosh and a pretty penny all at the same time.

What are you waiting for?

An invitation from the Queen?  You’ve got an invitation from a geek (that would be me, HRH is unfortunately unlikely to request and require your participation).  Go for it and dive deep into the goodness that is Oracle EPM 11.1.2.  The price and effort level is low.  What are you waiting for?

Shameless plug

And oh yes, come to my presentation at ODTUG Kaleidoscope 2011 at Long Beach.  Rohit Amarnath of Full360 and I will walk you through the awesomeness that is EPM in the cloud if you haven’t already figured it out thanks to this great deal.

05 February 2011

Top 10 Quotes for Coders

And now for something completely different

I have Dave Farnsworth to thank for a really funny link.  Yes, it is related to our beloved Essbase, at least tangentially.

Some of these are old saws; others are fresh to my ears.

The Spartan helmet is…odd.  But hey, this is an industry that attracts odd people.

You can either click on the embedded video below or here:   Larry The Rejected Spartan's Top 10 Quotes For Coders Countdown




What’s your favorite?  I am a particular fan of number six and they are words I conduct my life by.

Top 10

19 January 2011

Introducing Data Detective

Introduction

Sometimes working on this blog is a nightmare, other times it’s a joy, and when I’m really lucky, someone else does all the work; this is one of those times. 

Several (well, like two) people have told me that they can't find the link to this tool.  Never let it be said that I stand in the way of disseminating cool stuff.  Download Data Detective RIGHT HERE and enjoy Dave’s generosity.

No test like production

What do you do when you change a formula, calculation, data source, etc. in your superduper Essbase database?  Never check for correctness and pray for the best?  Create a copy of the app and make the changes there (there is this concept called development, quality, and production) and then spend endless hours recursion testing?

I’m guessing you do the latter as my readers are smart, intelligent, and continuously employed.  And when you do that testing, I’m going to bet that you compare the existing database against the new one.  I do this all the time, setting up retrieve sheets for the original and the new databases and then creating a variance sheet.  This is an acceptable approach, but every time I find a difference, I invariably drill into it, and then have to replicate the modified retrieve in the other database and then manually rewrite the variance formulas, ad infinitumHeretofore, this has been the only way to do this kind of compare, but it is an inefficient and error prone process.

Dave Farnsworth has a solution to this problem with one of his great utilities – this man knows Excel.

In his own words

Data Detective is one of those programming ideas that hang around in my head. I intended to write the utility if I ever had the time and motivation. Finally after many years I’ve put pen to paper and this utility is the result.

Commonly consultants and Essbase administrators engage themselves in the tedious task of comparing two Essbase databases checking that the values are equivalent. After too many years of retrieving from two databases, creating a delta sheet and then pivoting the original report and doing it all again I said enough! Delta Detective is my new favorite tool.

Very simply, Delta Detective is an Excel based macro that uses the classic Essbase add-in tool kit. As the user, you open Delta Detective.xlsm, connect to Essbase using the normal Add-in dialog, Format your first query. Next, start the macro using ctrl+q which brings up a dialog where you enter the connection information for both database that you want to compare. Hit the run button and the macro creates exact duplicates of your original sheet, retrieves data from the second database, computes the delta’s and colorizes the mismatching cells. Returning to the original report sheet you can drill, pivot, or whatever using the classic menu and then rerun the delta report. Excel formats from the original report carry over to the others and you can always be sure that the sheets are connected to the proper databases.

Please look at the ReadMe particularly if you are using an Office version earlier than 2007.

A couple of points

The classic add-in, not SmartView

Another quote from Dave, this time from his documentation (yes, he’s that good), “Since this utility is freeware, the idea was to make it simple, so that it didn’t consume Excel resources when not in use. Additionally it needed to be relatively version independent with regards to Essbase and Excel. For these reasons it requires the traditional Essbase add-in and not SmartView.”

Why not an add-in?

Dave wrote this as .xlsm file instead of a xll because of the loss of menus in Excel 2007/no ribbon bars in Excel 2003.  One day we’ll all be in the ribbon-driven world, but that is definitely not true today.  Until then, this approach removes the UI from the equation.

If you’re using Excel 2003

To allow you to open Excel 2007’s Macro-Enabled Workbook format you must first have Excel 2003 SP3 (I tried skipping SP3 – nope, it doesn’t work) and then you must install Microsoft Office Compatibility Pack for Word, Excel, and PowerPoint 2007 and later File Formats (Compatibility Pack).  Read all about it here.

Macro security

This workbook isn’t signed, so in both Excel 2003 and 2007 (sorry, this hasn’t been tested on 2010 but go ahead and leave a comment telling us), you are going to need to allow Excel to run the macro. 

2003


Just follow the instructions and set the security level to medium.

2007


You’ll see the warning message right up front when you open the file.  Click on the Options button, and enable the content.

Tested variants

Essbase version
Excel version
9.3.1
2007
11.1.1.3
2003
11.1.1.3
2007
11.1.2
2003
Has every release under the moon been tested?  No, but I’m going to guess that since there was zero problem in getting this to work in such a wide span of Essbase releases, there isn’t going to be any problem in your world, either.

Documentation

In addition to the utility itself, Data Detective comes with its very own tutorial. 

Conclusion

I’ve used Data Detective in beta on a project as I tweaked and optimized complex financial allocations.  Data Detective is an easy to use tool to generate the deltas between the databases and helped me quickly hone in on problematic calculations, all without me laboriously creating dual retrieves and variance sheets.  Very, very nice.  Download Data Detective RIGHT HERE and enjoy Dave’s generosity.

03 January 2011

Stupid Programming Tricks #6

Introduction

Number Six in my Stupid Tricks collection. 

Should I be worried that so much of what I know falls into this category?  I’ll Keep Calm, and Carry On and hope that one day I’ll get smart.  Ah, but a man’s reach should exceed his grasp, Or what’s a heaven for?

Here’s a block, there’s a block, where are MY blocks?

Block creation is sort of the Achilles heel of BSO calc script writing.  We have all written an allocation script (or two, or three, or four) that looks good but when we run it – nothing, naught, nada, zip, zero, zilchAfter a hopefully quick sanity check to ensure that the data assignment and the Excel retrieve are pointing to one and the same data set, the answer is almost always…block creation, the bane of calc scripts.

Happily, there are lots of ways to create blocks, including sparse assigns, crossdims on the left hand side of the equal sign within a calc block, SET CREATEBLOCKONEQ, the sometimes performance-sapping SET CREATENONMISSINGBLKS, and of course, the old standby DATACOPY.  11.1.2 has its new and nifty XWRITE function which you can combine with a LOOPBACK function.  Oooh, tricky.

But it’s DATACOPY that is the surefire, never-fails, gold standard way to create blocks.  And it is.  Until you remove the blocks, especially when you think you didn’t.  Arrrgh.

That old devil CLEARDATA

Quick quiz -- what does CLEARDATA do?  Why, it clears data.  Duh.

And what doesn’t it do?  Remove blocks.

Sez who?  Our friend the TechRef:
CLEARDATA does not clear blocks, even if all data values in a block are #MISSING. Use CLEARBLOCK if you wish to clear blocks from the database, which can improve performance.

What does CLEARDATA have to do with DATACOPY?  Well, typically after copying data to create blocks, clearing out the data at the target is a good idea as the code that uses the blocks may or may not touch all of the DATACOPY targets.  This may seem inefficient, but given the speed of DATACOPY (usually), this isn’t an issue.

Watch out for that documentation

I was working on an allocation and used that the never-fails, sure-shot, good-as-gold block creator, DATACOPY.

But something odd was happening – the script was running, but I wasn’t getting any results.  What oh what could it be?  Surely not a block creation issue as I was, after all, using DATACOPY to create the blocks and then CLEARDATA to remove the data values. 

Happily, my client, Dave Anderson, is smarter than I am (NB – Consultant  trick #1 – somehow convince the client you’re not an idiot, make sure he’s smarter than you, have him solve the problems, you blog about the solution.) and suggested that the blocks I thought I was creating in fact weren’t really there.

I will admit a certain degree of skepticism because I knew CLEARDATA does not clear blocks, even if all data values in a block are #MISSING.  (NB – Consultant trick #2, when nothing works, and the client makes a suggestion, at least go through the motions of listening to him.  You might be surprised.

I ran just that segment of the code and did a before and after block count.  Yes, I cleared out the entire database and ran everything from scratch and stopped right before this step; that was my initial block count.  Then I ran the code and checked the block count in EAS.  Uh-oh, same number of blocks.  Commenting out the CLEARDATA gave me…a higher block count.  Double uh-oh and a what the ? moment.

MVFEDITWWW, aka Sample.Basic

My Very Favorite Essbase Database In The Whole Wide World is the place I prove out BSO concepts. 

Sample.Basic’s density

Dimension
Type
Year
Dense
Measures
Dense
Product
Sparse
Market
Sparse
Scenario
Dense

Yeah, it’s weird, particularly the dense Scenario dimension at the end.  But the density setting of Scenario will be important as we’ll shortly see.

Are you sitting comfortably? Then I'll begin.

Lock and load

I created a copy of Sample.Basic, cleared it out, and populated the following spreadsheet.
If this is the only data in the database, how many level zero blocks do you think there are?  You get a gold star if you say, “One, and duh, what else could there be?”

Fire for effect

Now run this code:
SET UPDATECALC OFF ;
SET AGGMISSG ON ;
SET EMPTYMEMBERSETS ON ;
 
CALC ALL ;

How many upper level blocks?  Eight – take a look at the spreadsheet below and count the highlighted rows:

I know, I know, block creation 101. But this is important and there’s a test at the end of the semester, so let’s review:  You had one block from the lock and send and eight blocks from the CALC ALL. 

A change is as good as a rest

Bringing DATACOPY and CLEARDATA in, let’s create a block and then clear out the data

SET UPDATECALC OFF ;
SET AGGMISSG ON ;
SET EMPTYMEMBERSETS ON ;

CALC ALL ;

FIX(@LEVMBRS("Market", 0))
  DATACOPY "Actual"->"Product" TO "Budget"->"100-10" ;
  FIX("Budget")
    CLEARDATA "100-10" ;
  ENDFIX
ENDFIX

Data is copied to Budget->100-10.  Does this increase the block count?  Nope, Budget is dense and data already exists at Actual->100-10, so the DATACOPY doesn’t add a block.

The number of blocks is now nine – one from the lock and send, eight from the aggregation in CALC ALL, and zero from the DATACOPY as the block at 100-10->Budget already exists.

CLEARDATA does just what it ought to – remove the value of Actual->Product from Budget->100-10 and nothing more.  It sure doesn’t remove the block.

Stop making sense

So let’s make this all blow up/work just like most Essbase databases and make Scenario sparse, not dense.

In theory, the database will now have 10 blocks:
1 level 0 from a lock and send
8 upper from the CALC ALL
1 additional 0 from the DATACOPY

Clear out the database, send that first sheet, and then run the code with the CLEARDATA.

What happens?  Do we in fact have 10 blocks?  Nope, because a CLEARDATA when dealing with purely sparse dimensions…removes blocks.  Well, it also clears out the data, which is after all sort of implied in its name.

Arrgh.

Fix it in one step

Get rid of the CLEARDATA and replace it with =#Missing.  Yes, it’s that easy.

SET UPDATECALC OFF ;
SET AGGMISSG ON ;
SET EMPTYMEMBERSETS ON ;

CALC ALL ;

FIX(@LEVMBRS("Market", 0))
  DATACOPY "Actual"->"Product" TO "Budget"->"100-10" ;
    FIX("Budget")
      "100-10" = #Missing ;
    ENDFIX
ENDFIX

Run it all again and ta-da, 10 blocks.  Whew. 

Yes,  assigning  a value of #Missing is slower than CLEARDATA.  But it works, and in the end that’s what counts.

Conclusion

This was a real stinker to figure out.  CLEARADATA not removing blocks is (was) such a basic piece of my BSO knowledge I refused to believe my eyes when my code didn’t work. 

So this was a salutary lesson in observing and questioning.  And oh yes, listening to your client as well. 

18 December 2010

ODTUG Kscope 2011 abstract schedule

The best is yet to come

The best being KScope 2011, of course.

What do I mean by that?  Of course the very best place to see super cool (really, just keep reading on) content is going to happen.  What’s the big deal?

The big deal is that after much thought, consideration, and debate, the very best Oracle EPM and BI presentations you have ever seen have been selected.  Don’t believe me?  Check out the official schedule here and see the invited speakers.  Jump to the bottom of this post to get a more detailed view of the presentations.  Yep, this is going to be a great conference.

The pain and the agony

The ODTUG Hyperion SIG puts a huge (let me tell you, three hour Saturday afternoon conference calls are not fun, but for you, oh KScope 2011 attendee, we do it with a song in our heart) amount of effort into the abstract selection process.  We’re passionate, even obsessive, about quality, and I think you’ll agree that the sessions reflect that concern about the best of the best.

Each and every submitted abstract was individually reviewed and assigned a numerical rating by the content selection team.  We then met in multiple conference calls by track culminating in several overall Hyperion SIG meetings to evaluate every single one of those presentations (there were over 200 on the EPM side of it) and determine if it was in or out.

Many good abstracts were rejected because the level of competition was so high.  This may sadden or frustrate some who were rejected and I’m sorry that everyone who wanted to share knowledge didn’t have a chance to do so this year.  It’s commendable behavior and I hope you try again next time.  There are other opportunities other than the conference such as ODTUG Webinars.  Please contact us and see where you can contribute.

If everyone could agree that Kaleidoscope should be a two week long geek fest, then all of the deserving presentations could occur.  Sadly (?) I’m probably the only nut that would or could do it (realistically, two weeks away from work with hotel, travel, and lost income wouldn’t even work for me, but it’s a nice thought) so it isn’t really on but is humbling to realize that many people submitted quality abstracts.  Kaleidoscope is the place for quality, and the EPM and BI world knows it.

Not the square peg in the round hole

Oracle’s BI and EPM offerings are large and diverse, to put it mildly.

KScope 2011’s BI/EPM content chairwoman (and my good buddy), Natalie Delemar, had an inspired idea – instead of trying to be all things to all men by being the judge, jury, and executioner for presentations (I put that sentence into my patented Metaphor-O-Matic and out it came, unencumbered by the thought process), she instead reached out the Oracle BI and EPM community and got the experts in their respective areas to solicit and review abstracts before the Hyperion SIG, overall content chairman Monty Latiolais, and conference supremo Edward Roske put their final imprimatur on the schedule.  See, ODTUG is just full of good ideas.  And long sentences.

Below is that august group of geeks, by content review area.

BI


EPM


Hyperion SIG (and a few friends)
Joe Aultman

We owe them all a lot – many, many hours were spent on this, especially by Natalie who spent untold hours making the schedule work – 3 am emails asking my opinion on a abstract scare me, especially when we’re in the same time zone.  They did a tremendous service to us all by soliciting, reviewing, and selecting the best of the best.

How do you want to slice the pie?

There are four ways to view this conference:  track, not for just beginners, physical room, and business end users. 

The tracks are broken into:  case studies and panels, HFM, Essbase, Planning, Keeping It All Running, Reporting, OBIEE/DW, and of course Hands On Labs.

There’s also a beginner view – yes, Kaleidoscope isn’t going to leave those of us (like me, sometimes) starting out in a technology. 

Or you can view it by room, if you are of a sedentary nature.

And lastly, there’s even a map for business end users in case this all gets too geeky for you. 

If you want to just download the whole thing to geek out over during your free time, click here.

Whoever you are, whatever your interests, wherever your technical level lies, there’s a place for you at KScope 2011.

And the result is…

One awesome conference and in my opinion, the very best Kaleidoscope, and hence the very best “Hyperion” conference ever.  It’s that good.  Book those tickets, reserve that room, purchase that conference registrationYou won’t regret it.  See you in Long Beach.

18 November 2010

Stupid programming tricks #5

Introduction

Number five in my short and sweet series of tricks and tips.

I call this series “Stupid programming tricks” and this one reflects yr obdnt srvnts’ stupidity.  Try to think of this particular post in the now-I-don’t-have-to-make-Cameron’s-mistake category.

DATAEXPORT is my friend, sometimes

DATAEXPORT came out in Essbase 9.3.1 and allowed Essbase calc scripts to export data without having to resort to the JExport Custom Defined Function.

DATAEXPORT can write to tables or files.  What’s really nice about this method is that you can also define the file field delimiter.  It could be a comma, a pipe, an exclamation point, whatever.  It’s all very easy peasy lemon squeezy

Here’s an example of a comma delimited export in a calc script:
DATAEXPORT "File" "," "c:\temp\testexport.txt" ;

And here’s an example of a pipe delimited export statement:
DATAEXPORT "File" "|" "c:\temp\testexport.txt" ;

But what if you want to do tab delimiting?  Uh-oh, what’s the magic symbol for tab?  I didn’t think it could be doneAnd to be fair to myself, I wasn’t the only one.  You will note a distinct lack of contradiction to my statement in that thread.  In discussions with my good buddy Josie Manzano, she fell into the same trap.  If the Divine Miss Josie can make the mistake, anyone can.

And this is why I like answering questions on OTN

I spend an inordinate amount of time on OTN’s Essbase board in part to answer questions but mostly to learn.  Did I ever in this thread which started out about a poster’s problem in loading a exported data file and quickly detoured into DATAEXPORT.

The way to tab delimit a DATAEXPORT file is to…hit the tab key on your keyboard. 

That’s it.  So simple. So obvious.  Why on earth did I think I needed to send a special character?  Isn’t tab a special character?  Sigh.  My cognitive blinders were on quite firmly for this one.

Here’s the code.  That big space is really a tab character.
DATAEXPORT "File" "              " "c:\temp\testexport.txt" ;

The same approach would go for a space.
DATAEXPORT "File" " " "c:\temp\testexport.txt" ;

Yes, these work – I’ve tried them.

So, definitely a Stupid Programming Trick.  May the next one not be so stupid.

One last note

Btw, Glenn Schwartzberg wrote a great series on DATAEXPORT and I strongly urge you to check them out.

04 November 2010

Do I look like Sally Field

My name is not Gidget

Not really, no not at all.  And I can’t even surf.  And yes, that is a scary video for me to know about (thank you, Oh Great False God Google) and even more scary for you if you clicked on the link.

 

Nor do I wear a wimple whilst flying, or at any other time.

 

But I can say, “You like me, you really like me”.

Not the Academy Awards

I know, more blathering, but that’s just me being bashful about something that you, my adoring/tolerant/frankly bored reading public have done:  elected me a member of the ODTUG board.

 

All kidding aside, I never thought I would get elected, particularly on the first go round.  I am beyond pleased, humbled, and more than a little scared.

 

Thank you so much for taking a flier on me.    I hope I don’t disappoint.

Saint Crispin’s Day?

Here are we happy few in the 2011 ODTUG Board of Directors:

New

  • Mike Riley, Hortica Insurance
  • Tim Tow, Applied OLAP
  • Cameron Lackpour, CLSolve (yr. obdnt. srvnt.)
  • Barbara Morris, Idaho National Laboratory

Existing

  • Bambi Price, Park Lane Information Technology
  • John King, King Training Resources
  • Mark Rittman, Rittman Mead Consulting
  • Monty Latiolais, SCGTS

The future and thanks again

It’s often dangerous to make promises if you aren’t sure you can deliver on them.  This may be why I am a semi-successful consultant and not a fan of politicians.  Regardless, getting onto the board was the outcome of an election. 

 

What I know I can do is to serve you, the Oracle EPM community, and the rest of the Oracle world as best I can.  I am more than open to suggestions and comments.  You can always contact me through LinkedIn. 

 

I look forward to this – it’s going to be a lot fun.

 

And thanks for your confidence in me.