As we are now already in the SAP BI4.0 SP5 and awaiting the release of SAP BI4.1, more and more projects have started moving to Information Design Tool from the Universe Designer. But IDT being new and still undergoing many changes, we as developers face tremendous issues while trying to create Universes with same features that we had in Universe Designer. Let me share some of my personal experiences encountered while I started working with IDT.
One of the biggest issues faced was when we came to know there’s no concept of Linked Universes/Core Universes that was the main foundation of our Universes designed till date.
So when we needed to have the same Dimensional Tables and objects across different Universes we had to develop a master Data Foundation that contains all the Dimension and Fact tables and started creating several Business Layers/Business Layer Views for different subject matters.
But still we ended up having 3 different Datafoundations and their underlying Business Layers with the same Dimensional Objects and Folders in them.
Let’s take the example of having a common Dimension table Product Dimension. We required this Dimension table across all the Projects. So I started making copy of the first datafoundation and business layer(the entire project) and started making the 2nd Universe. Now when I wanted to rename the 2nd Datafoundation (Which was previously“X”) to “Y” the entire Business Layer started showing errors while checking integrity.
I think many of us faced this issue as it’s not always possible to create one datafoundation for a entire datawarehouse for a organization. And the Dimension Tables like Product, Customer and Calendar etc are always required for each subject areas of Universe designs.
So what’s the solution?
1. When I was first seeing so many errors with almost all the objects of the Business Layer I tried making out some common factor from them. And the first one that I noticed was corruption of LOVs(List of Values). The LOVs created in the Previous Datafoundation name(“X”) needed to be remapped from the new Business Layer objects. This might seem to be a little time consuming but believe me- it at least saves you from creating the same tables and objects one more time.
2. Next comes the problem of rework. When I started making changes to the DataFoundation/Business Layer of Universe “X” -for the Dimensional Tables, those needed to be corrected across all the other Universes/Projects as well. With the changing need in Business it’s obvious to have changes like adding new columns to the Dimensional Tables and changing the logic of an object. At one point there was such a huge change in all the Dimension Folders that I stopped making the changes manually in all the other Projects till the time, I finalized one Universe. But by the time I made time for changing the other Projects I had forgotten the changes I had made for “X”(Unless you take note of each and every change you make it’s impossible to remember that)
So here comes the trick.
· For the datafoundations-if you have a new column added – then it automatically gets reflected when you check integrity-so then just go to Actions-Refresh Structure and get the new column updated.
· For a new join that you have created in“X”-sorry friends-you need to do that manually in the second one.
· But for the Business Layer Folders I was so frustrated about the amount of rework I had to do- that I tried one simple trick. I copied the Dimension Folders from Universe “X” and Pasted them in Universe “Y”. Again the objects started showing errors. But this time it was a little more that I needed to correct.
· All the LOVs created both in Datafoundation and Business Layer where showing error and had to be remapped.
· The LOVs created in the Business Layer had to be created once more and remapped.
· All the filters were corrupted (They do not have the same path of the folder/object) and needed to be recreated (Or you can again have both the Business Layers X and Y side by side open and keep copying the formulae from the correct X to the Wrong Y).
This might seem tedious but I found this way useful as this saved my job of going back and forth every time I change something in one Universe. This problem was not there in Universe designer where we had the Core/Linked Dimension Universes and anything changed in one of them would get reflected in the Derived Universes.
But when we get to Preview values with Distinct Value Graph and Write Queries within a fraction of a second to check if the object works fine without context errors etc in comparison to when we had to publish a Universe and create a report to check those objects while using Universe Designer Tool- it saves us a lot of work indeed-dont you agree?
Hope this article helps all others who are in the same boat as me.