All of the topics discussed here in this blog comes from my real life encounters. They serve as references for future research. All of the data, contents and information presented in my entries have been altered and edited to protect the confidentiality and privacy of the clients.

Saturday, September 1, 2012

case study --- How to pass values to different dashboard prompts interactively part 1

Hello again

There is a scenario where I have to navigate from one dashboard to another while keeping the values selected as the criteria in the next dashboard. OBIEE has a pretty standard functionality that allows you to navigate. In 10G version, you can define the navigation path in the column property while in 11G, you add action links to it.

All these are great and simple, but there is a problem when the prompts on these dashboards are different. In OBIEE, if the prompts have different expressions either because they are made from different columns or they are using different logical expressions, they are being treated differently, so while the navigation will still happen, but the value from 1 prompt will not be passed as a filtered value to another prompt. What if I have 2 date columns that are aliases of the same date table, and I want to be able to navigate from one to another using prompts from both columns? This sometimes become a practical challenge. In the eyes of users, they won't understand the difference between the 2 prompts so they only expect to be able to navigate from 1 to another. So this requires some workaround.

Now lets look at this scenario to understand better the issues. I have 2 dashboards that each contains date and hour prompts at least:

Now if you select a date and hour period from dashboard 1 and navigate to dashboard 2, the date and hour values should be expected to come along as well. Well, this should be typically the expectation if the date and hour prompts are exactly the same column with the same expression across both dashboards. However, in my case it is not. Therefore while the navigation still works, but when you get to dashboard 2, the prompted date and hour values are still blank, the report will run with either default prompt values or run without any filtered values.

So let's look at how these prompts are different in my scenario:

The prompt in dashboard 1 is done as the following:

Here, the date prompt comes from date column as it is, the content of the hourly prompts are using the following expression:
Starthour prompt: case when 1 = 1 then hour number end

Endhour prompt: Case when hour number = 0 then 24 else hour number end.

The reason for this type of implementation can be found here, it was meant to solve a different problem.

Now the set up for prompts on dashboard 2 are found below:

Now the reason was this implementation was discussed here if you are interested to know.

Basically, these 2 dashboards content very different functionality, therefore it required different programming behind the scenes. The date prompt on 1 dashboard  is using between operator while is equal operator on another dashboard. The hour prompts on dashboard 2 have to be evaluated based on presentation variables from another prompt (Time scale granularity ), which is not required for the same prompts on dashboard 1. Long story short, I can't pass values from dashboard 1 to dashboard 2 because these are being considered different fields by OBIEE even if users think they are the same.

Therefore, in order to make it work, you can't just convince the users that this can't be done nor will you hope they will  understand the technicality of OBIEE. This will only create bad impression about the product. Hence, we have to look into ways to get around with this requirement. The idea of how to fool OBIEE into treating these prompts the same without compromising the individual functionality of each dashboard.

We will get into the detail on the next entry.

Stay tuned

Until next time


Related Posts Plugin for WordPress, Blogger...