cancel
Showing results for 
Search instead for 
Did you mean: 

Convert Existing Objects in Main Universe to New Objects from Linked Universe?

omacoder
Active Contributor
0 Kudos

Within our data warehouses we have a subject area called Job that pretty much joins to everything. Job comes along with many many attributes.

In total, we have 15 universes. We recently created a Job Master universe, and now I would like to Link this in to all other universes to take advantage of.

The issue comes in that the 15 universes already have a lot of the Job Attributes.

In a magical world when I link in the Job Master universe, I would be able to map the old Object ID's to the new Object ID's so that any existing reports, when opened, would reference the object in the linked universe. Eventually I could go and delete out all of the old attributes and corresponding tables from the data foundation.

I'm sure I'm not the only one encountering this issue. I'm guessing there is no way to link an old ObjectID to a new ObjectID within a given universe?

Is there a tool that would go through all reports and update an old ObjectID to a new ObjectID?

Accepted Solutions (1)

Accepted Solutions (1)

Joe_Peters
Active Contributor
0 Kudos

I think your best bet is to use the Change Source function in WebI. Normally you use this to switch a report from one universe to another, but you can also use it to modify a report to replace one object with another (you just pick the same universe as the target). In your case, you'd replace all references to objects in the Job Details class with the associated objects in the Job Master class. Once done, the query should point to the Job Details objects, and the report should look exactly as it did before.

This can also be done via the REST API. You could write a script that automates the "Change Source" function, but you'll need to map all of the old object IDs to the new ones. That can also be automated. It would be a bit of scripting, but easier than modifying hundreds of reports by hand.

Answers (3)

Answers (3)

omacoder
Active Contributor
0 Kudos

joe.peters2 what about this new utility that I just came across? Does this automate what I'm asking to do?

Note 2432962

Joe_Peters
Active Contributor
0 Kudos

I haven't used that, yet, but it looks like it just might do the trick.

sonet_kebede
Advisor
Advisor
0 Kudos

It's not really clear. But my understanding is you are trying to create one Core universe which is the Job Master universe and then have 15 Derived universe and map the old CUID from the 15 Derived universe to the new CUID for the core.

If that is the case… yes you can create One Core universe to multiple Derived universe and mapping is done automatically based on the core id. All core universe object must be available and valid through the connection. However, CUID’s are different. Core object in Derived Universe (seen in gray) has its own ID and a reference on the original ID in the Core (used to do the synchronized).

So if you have an older webI report, then you have to change the source in webI to the core universe. Changing the source in Webi is mandatory.

I hope this answer your questions.

omacoder
Active Contributor
0 Kudos

My question is how to prevent breaking the hundreds of thousands of old Webi reports and how to change all of those old webi reports automatically without having to go in one by one and change the data source.

Is there a tool that takes a universe, old object, new object, and goes and updates all of the old webi reports to reference the new object id?

sonet_kebede
Advisor
Advisor
0 Kudos

Hello,

No. This is basically a new universe. You have to update the source in WebI.

Thanks,

Sonet

omacoder
Active Contributor
0 Kudos

It's not a new universe. It's an existing universe that has hundreds of reports using objects from this universe.

Now that I have linked in objects from another universe, I want to update all of the reports to use these linked objects (in the Job Master folder which is grayed out and cannot be modified) instead of the original objects (in the Job Details folder).

Maybe I am not understanding the purpose of linked universes.

Can I do this through the SDK? Find all reports that use object "ObjectName" from "UniverseA", and replace the object in that report with "ObjectNameLinked" from "UniverseA"?

sonet_kebede
Advisor
Advisor
0 Kudos

The report was build before the Linked universe. Now, the universe is linked. Which means CUID’s are different. Core object in Derived Universe has its own ID. So it's basically having a new universe. So you have to update the source in WebI. I'm hoping it would not break the report link. But that is how it should work. I'm not really sure about SDK.

amitrathi239
Active Contributor
0 Kudos

I have very limited knowledge with linked universe but if you can replace the tables in data foundation and map the existing objects in business layer again with new table mapping then you don't need to do any changes at reports level.

Even in the business layer with find/replace functionality you can update the objects mapping from old to new in single step.

In case of replacement of table mapping from old to new I would first insert new table in DF and change the joins from old to new.after that in business layer I would use find/replace functionality to change mapping of all objects from old to new.

omacoder
Active Contributor
0 Kudos

Thanks Amit, this would be applicable for all scenarios where you are replacing objects EXCEPT for linked universes 😞 .

When you link in a core universe, the linked in objects are all locked and cannot be modified.