Sunday, July 10, 2011

OBIEE: Breaking Stuff

A conversation with some colleagues the other day prompted some more research on my part on what exactly would break when making changes to the Presentation (metadata/RPD) layer in OBIEE.

It was understood that, at least in 10g and prior, changing the name of a column within a presentation folder would not necessarily break it. The reason is that OBIEE automatically creates an alias for the column so that it doesn't break reports.

I don't like aliases, they're similar to synonyms, and should be used with caution. When I change the name of a column, I intentionally go in and delete the created alias so that it will break on the presentation side.

This is relatively easy to handle when you can control the writing of the reports. However, if you have ad-hoc users, one of the huge reasons to use OBIEE in my opinion, things get a little complicated.

With a little bit of history, let's go back to the original issue; what kind of metadata/RPD changes would facilitate the need to fix reports?

My conclusion, it's the same as 10g. A column change would automatically create an alias, thus not breaking reports. When that column is moved from one folder (presentation table) to another, the reports will break.

A simple test.

From the sample app, A - Sample Sales --> Time presentation table/folder I choose T05 Per Name Year

First, I'll simply rename it and keep it in the same folder

To verify the alias is created

Run the same report

Now let's move it to the "tttt" folder and see what happens

Unresolved column, I broke it. Good.

Moral of the story, breaking stuff is fun. Wait, that's not it.

The issue that was discussed with my colleague had different results. I had performed this same test to demonstrate that he was incorrect...but he wasn't.

Let's add another column to the report from the Products folder, P1 Product

In OBIEE, you nest folders in the Presentation layer by putting a hyphen and a space before the name like this "- ". As I've found out working with this sample app, there is another way to do it as well, add "->" to the description text box

This does not create an alias, but to me, seems to change the name of the Presentation table (and on the presentation side, nests the folder underneath Time). It looks to me like OBIEE ignores certain characters, thus does not effect the rendering of the report (unresolved column error).

The moral of this story? Verify.

No comments: