Sunday, 11 January 2009

ODI Series – A few extra tips

Before I move on to the final part of my ODI series I thought I would just point down a couple of things I have come across while looking at ODI, I thought I had better write them down because they hopefully help others that come across the problem and also jog my terrible memory if I am asked again.

Essbase Loading Multiple UDAs

It is simple load multiple UDAs with planning and ODI but it doesn’t seem the functionality has been built in by standard with the current KMs for essbase, saying that it is not difficult to get round it.

By standard reversing an essbase cube into a DataStore creates one column for a UDA, it does the same for planning but you can separate each UDA with the use of a comma in your source, I did try this at first with essbase but it just created one long UDA string with all the commas.

For this integration I am going to be loading multiple UDAs into the product dimension from a flat file.

First all I duplicated an existing reversed essbase DataStore, it is entirely your decision if you want to do this or not.

Next I expanded the product dimension and inserted a new column and named it UDA2.



Now you would carry on as you would usually, create your source file including the UDAs



Reverse the file to create a DataStore



Create the essbase load rule and test with the source file.



Create the interface



Execute.



All done, nice and simple.

This method can be used in other areas such as ASO cubes and trying to load solve order information. By default when you reverse a cube it does not distinguish between a BSO and an ASO cube so you always end up with the same columns., when reversing the Java code uses a file called EssbaseMetadata.xml which holds the DataStore definitions, the XML file is located in the odihapp_essbase.jar



This is fine when it comes to loading solve order but unfortunately if you want to extract solve order information I don’t think with the current code it is possible.

In the Java code is uses one of the API IEssMemberSelection methods called executeQuery



The query does not include Solve Order so that removes the ability to ever return the value, looking at the essbase Java API documentation it doesn’t even look like you can use the executeQuery method with Solve Order anyway and would have to use another way with the API to retrieve the value, so unless you are willing to rewrite the code it looks like it won’t be possible until Oracle add some extra functionality to the KM drivers.

Next a really simple tip for when you are trying to sum data from a source file into Planning, by default when loading data into planning it loads one record at time and is set to overwrite so if you had say the following data.



If you try and use ODI to load the file into planning each record would overwrite the last you would end up loading only the value of 3422 when you wanted the summed value of 7286.
Now if you were using a SQL database as your source you could easily create a view to return the grouped value but we are using a file, so how is it done without modifying the source.

First make sure you source DataStore data field is set to a Numeric Type.



In your interface if you enter the expression editor and use the SUM function on your target data column.



Using the SUM function will automatically create a group by query on the source data so the result is summed.

So there we go a couple of tips, easy and simple if you know how.

9 comments:

Anonymous said...

Hello John,

This is kind of become a bible for Hyperion customers who wants to know every thing about ODI with respect to Pln/Ess usage. Great Work!!

We are currently working to replace HAl with ODI and in the process of putting together a TOPOLOGY but looking to get some thoughts..

The question we have is what's the best approach/architecture to setup ODI. We have DataWarehouse as a source, Planning and Essbase in separate servers.
(ie) DW in Solaris 10 (24CPU)
Planning 9.3.1 (Win2003, 4CPU)
Essbase 9.3.1 (Solaris 10, 12 CPU)

I understand the license of ODI is based on were you install the Master and Work repositories...so the option we have is to create them on DW server with 24CPU's (or) install a Oracle Server DB on the Essbase solaris (12CPU) (Or) introduce a new Win2003 server (4 CPU) and get Oracle Application Server and ODI components with Master/Work repositories installed...

I'm looking at the best approach with faster response and lower license cost.

Any help is greatly appreciated!!!

Anonymous said...

Hi John,

Many thanks for sharing your knowledge on ODI and its implementation views...

Could you please get some guidance on the error handling part of the ODI. Meaning, what is the best way for reporting the error (transactional level) during a batch scenario ?

Looking forward your advice on this. Thanks again!!

Sanjay said...

Hi John

Thanks very much for your blog, it has provided extremely helpful.

One question I do have though is, how can ODI testing be automated?
ie

a) Have a gold set of data
b) Deploy ODI code
c) Run test steps and get report of code if it failed or not?

Do you know of anything that can do that?

sanjay

123 said...

喇叭網 金屬擴張網Plastic injection Mold developmentInjection Mold Plastic injection molding Injection molding ISO9001認證 射出成形 塑膠製成品塑膠模具設計 模具開發 精密射出 縫衣機塑件Industrial PCB Heavy Copper PCB Microwave PCB Medical PCB 膠框創業 加盟 早餐店加盟 meat processing equipment food processing mixers 化糞池 通馬桶
導光板 化妝品盒 藥盒 燈具 禮盒 印刷供應商 彩色盒 禮盒 設計 網版印刷 紙盒工廠 印刷公司

123 said...

宜蘭民宿 宜蘭住宿 網路訂房 宜蘭飯店 新娘祕書 清潔公司 植牙 裝潢 室內設計 油漆粉刷 油漆工 油漆工程 洗鞋加盟 洗包包加盟 洗包包 創業加盟店 早餐店加盟 開店創業 創業開店 結婚金飾 鑽石婚戒 通水管 通水管 通馬桶 抽水肥 包通 馬桶不通 通馬桶 通水管 清水溝 沙發 室內設計公司 室內設計 室內裝潢設計 裝潢設計 澳門自由行 搬家公司 搬家公司 台北搬家公司 新竹搬家公司 桃園搬家公司 香港自由行太陽能熱水器 三久 櫻花牌熱水器

123 said...

seo 網站設計 超耐磨地板 店面出租 乳癌 全身健康檢查 自由行 三久 太陽能 三久太陽能 太陽能熱水器 環保袋 慈善基金會 慈善機構 租辦公室 租店面 買辦公室電波拉皮 hand dryer 電波拉皮 雷射溶脂 肉毒桿菌 系統家具 台中漆彈場 漆彈 團體服 團體服 團體服 T恤 圍裙 網路行銷 中古車 涼麵 POLO衫 班服 團體服創意 熱轉印 團體服訂做 宜蘭民宿 關鍵字廣告 seo seo 線上客服 seo 網頁設計 seo 網頁設計公司

123 said...

熱水器 省電熱水器 衛浴設備 節能減碳 電熱水器 中古車 義賣 義賣活動 二手車 環保袋 環保袋 環保袋 十分瀑布 台北旅遊網 月子餐 飛梭雷射 太陽能熱水器 太陽能 三久太陽能 三久 身體檢查 健康檢查 台北民宿 平溪 景觀餐廳 薰衣草花園 花園餐廳 螢火蟲 渡假村 鐵道之旅 團體服 滷味 滷味加盟 滷味批發 滷味食材 滷味宅配 滷雞翅 滷雞腳 健康滷味 魯味 加盟創業 慈善慈善機構 公益彩券

123 said...

健康食品 慈善基金會 公益團體 愛心捐款 捐款 美白 皺紋 減肥 禿頭 醫學美容 電波拉皮 雷射溶脂 肉毒桿菌 玻尿酸 痘疤 婦產科診所 室內設計 埋線 內分泌失調 黃體不足 針灸減肥 坐月子中心 婦產科 月子中心 全身健康檢查玫瑰花束 盆栽 網路花店 花店 鍛造 樓梯扶手 欄杆 鐵門 採光罩 清水溝 通水管 通馬桶

123 said...

房屋貸款 剖腹生產 姓名配對 星座 星座運勢 算命 素食料理 素食水餃 開運印章 風水 外遇 徵信 壁癌 屋頂防水 屋頂隔熱 抓漏 油漆 徵信社 外遇 徵信 徵信社 外遇 徵信 徵信社 外遇 徵信 徵信社 外遇 徵信 徵信社 外遇 徵信 徵信社 清潔公司浴室 漏水 舊屋翻新 裝潢 防水工程 壁癌 健康飲食 台北素食餐廳 吃素 團購美食 水餃 素食素食食譜