For what ever the reason is, I often find myself in need of some sort of outline extract,
be it a flattened generational view, level view, a load file, or whatever the
case is, you just can’t easily pull it from Essbase all the time. It’s not that Essbase does
not allow you to pull an extract of dimensions; it’s just not always the format
you are looking for. This is where the Outline Extractor comes into play, this
little tool is fantastic and if you are like me, it’s going to make your life
much easier.
I’ve been using the Outline Extractor for a couple of years
now, and at KSCOPE16 I had a chance to attend a session by Tim Tow, presenting
the latest and greatest iteration of the tool, Next Generation Outline Extractor, and one feature in particular
caught my attention. The Outline
Extractor now has an option to ‘Extract and process MaxL Outline XML’ instead
of using the Essbase API. What this
means is in some environments, particularly high latency ones, there are
ASTRONOMICAL gains in speed. To quantify
this I did a case study.
Using one of my production applications, running Essbase
11.1.2.3.500 on an Exalytics box I decided to extract a dimension using both
methods to compare. I'm running in an environment where my latency to the
server is between 230 and 260ms, and bandwidth is not 'great', so using the Essbase API was a
bit time consuming. The dimensions I am
extracting has 4829 members, and I'm using all default options in the tool, and
outputting in Generation, level and Load File Formats. So with that let’s take a look at some quick
numbers.
Essbase API – extraction 242m 26.29s
Extract and process MaxL Outline XML - extraction in 0m
13.76s
Yes you read that right, there was no typo there.. I did the
exact same output for both, and those really are the result, that’s an
improvement of over 100,000%. I don’t know how to better quantify this, all I
can do is say use this option, use it often, and don’t look back. Just to make
sure it’s clear, here is a screenshot of the option you want to select
Now that using outline extractor has become a quick job
requiring only a few seconds, let’s take a look at why I love this tool so
much. I'm not going to put together a
usage manual for the tool, Applied OLAP does a great job of that in their
documentation, and they have great support if you get stuck, what I want to
show is the outputs you can get out of this tool.
The tool can be run from a command line, or a GUI utility,
the GUI just creates the .properties file that you could create manually and
run with command line, but I really like the GUI, so I have spent most of my
time in that mode. It will take you through the options step by step, including
a very nice ‘cube browser’ to select exactly what cube you are going to be
extracting from and a very easy to use Dimension selector, where you can even
apply include/exclude filters
The next screen is where you can choose one of the many available formats for the output, I personally have not worked with the Relational
Cache Writer, but I’ve heard good things. The 3 you can see selected here are
the ones I use the most.
There are lots of options, so you are sure to be able to
format the file exactly how you need:
Select your performance options next, I normally leave this
as default, but if you want information on these, I would recommend checking
out the products included documentation. After that it’s time to run, save your
new properties file and execute! All of the log information will be show on
screen so you can track progress and you are all set. Take your extracted ‘Load File’ and load it
into another cube if that’s what you need, if business users are looking for a
generational view, you can pass that along all with almost no real time
investment from you.
One last point, did I mention this is all free? Yes, that’s right, it's a free tool,
and a good one at that, thank you Applied OLAP, it’s more than a little
appreciated here.
I really hope that this will help
you as much as it helped me, if you have any questions please leave a comment.
I was as that same session at KScope and I have the same reaction to the tool. What also excites me is sending the information to the relational database.
ReplyDeleteI also love the "Flatten" option to ensure carriage return and line feed commands are stripped out of member formulas to make column parsing work well.
I haven't yet done much around the relational database export, but i hear good things. i just have not had a requirement for it yet. the most common export i end up pulling is probably the Level output, business users tend to love that view.
ReplyDelete