I have at last got round to moving onto using ODI with Essbase, to start with I will be looking at reverse engineering an essbase cube and then extracting an outline into flat file format and also a database table.
Version 10.1.3.4.5
==================
------------
The following KMs have been updated and are delivered in this version:
* LKM Hyperion Essbase METADATA to SQL
---------------
If this is the first time you have read one of my blogs on ODI I would advise reading Series 1 and Series 3 as with this blog I am going to assume you have the required essbase KM’s and have set up in the topology manager a connection to the Sample/Basic essbase database.
- IKM SQL to Hyperion Essbase (DATA)
- IKM SQL to Hyperion Essbase (METADATA)
- LKM Hyperion Essbase DATA to SQL
- LKM Hyperion Essbase METADATA to SQL
- RKM Hyperion Essbase
Once that has been done I moved on to the models tab and inserted a new directory – ESSBASE_MODELS and inserted a new model using the essbase technology and logical schema that was set up in the topology manager.
In the reverse tab customized was chosen, the context selected and the KM set to RKM Hyperion Essbase
I have kept all the default options and will discuss them at a later stage when looking at data.
Today’s example I will be extracting the Measures dimension but it is will be pretty much similar whatever dimension you choose.
Expanding the Measures columns displays all the available properties for each member.
I created the second line with alphabetical values to match the number of columns, I have done this so when I reverse the flat file it reads in the column headings and sets them to being a string type, which saves having to enter them manually.
I created a new model to hold any flat file DataStores that I will be using with essbase.
And then set up a new DataStore to point to the csv just created.
In the Files tab delimited was set as the file format, heading was set to 1and the field separator as comma “,”
As I set up the csv file earlier the reversing sets up all the correct columns, one thing to watch for is the physical/logical length is defaulted to 50, in the essbase reversed DataStore everything is set to 80 except the formula column which is set to 255, I replicated this just to stop any interface warnings and to make the extract will not fail, for example if you didn’t change the default and say you had a member name that was over 50 in length the extract would fail.
In the diagram tab the Measures DataStore was dragged onto the source and the file onto the target, due to the column headings being the same between the source and target everything was auto mapped.
In the Flow tab the LKM should be set to “LKM Hyperion Essbase METADATA to SQL”.
In the LKM Options there are a couple of settings to take note of :-
Once the interface had been applied it could be executed
All green in the Operator so it should have extracted
And there we have it the measures dimension has been extracted, the only grudge I have is that the output is the reverse of how I would like it, I would prefer the root member to be first and the hierarchy extracts there down, something I am going to look at when I have a bit of spare time.
In a previous blog I had created a physical schema in the topology manager pointing to the HYPDATA table using SQL Server technology
If you need the exact steps have a look back at ODI series part 3
In the Reverse tab I selected the context; in the Selective Reverse tab I just selected the Measures table
On clicking reverse the table was reversed engineered
So like with the flat file previously a new interface is created to move the metadata from the source DataStore to the target DataStore.
In the Diagram tab the Measures essbase DataStore was dragged to the source and the Measures Db DataStore to the target, as the source and target naming conventions are the same all the columns are automapped.
In the flow tab the LKM is set to LKM Hyperion Essbase METADATA to SQL
This time I am going to extract all the level 0 members so in the options I set MEMBER_FILTER_CRITERIA to Level0
The IKM was set to IKM SQL to SQL Append (if you don’t have this IKM then you will need to import it in from the oracledi\impexp directory, in the options I set DELETE_ALL to Yes so the table will be cleared out each time.
Running the Interface produced a green tick in the Operator and checking the database table produced the desired results
Well I have run out of time for today but it should be clear how you can extract an essbase dimension to various targets with relative ease.
Hello! interesting blog!
ReplyDeleteJohn,
ReplyDeleteGreat work. I also just finished doing the exact same thing and just like you I have noticed the reverse order of the extracted tree.
One thing I must mention the dimension I was extracting had a space in the name and ODI would not work with that at all. That is until I added the '/"' in the front and at the end of the member filter criteria to allow ODI to parse the space as part of the member name..
Keep up the good work.
P H Rami.
Hi John,
ReplyDeleteIt's me again.. I'm not seeing ODI version 10.1.3.4.5 on metalink3. The latest version I saw was 10.1.3.4.2 . Is the .5 version located from the Oracle Fussion Middleware Family?
Awesome!!! Great info.
ReplyDeleteBut i'm having trouble getting to the patch release odi 10.1.3.4.5 in metalink3???
Do you have an ID for this patch download?
thank you...
Sini
If anybody is having difficulty finding the patch.
ReplyDeleteGo into Metalink 3.
Patches and Downloads
Oracle, Siebel and Hyperion
Simple search
Enter patch - 7485029
And you should find it.
Otherwise change to product search
Type Oracle Data Integater
Choose ODI 10.1.3.4.2
Search and the patches should be under there.
John,
ReplyDeleteGreat information that you are providing - keep up the good work.
I am having an issue with the MEMBER_FILTER_CRITERIA at Level0 and the MEMBER_FILTER_VALUE at at specific outline parent while using the Hyperion Essbase METADATA to SQL LKM. It will not filter on the input value but instead returns Level0 from the root member.
Is this something that you have encountered before? ODI version 10.1.3.4.8.