Adding Parameter Drop-Downs To OracleBI Dashboards

August 31st, 2006 by Mark Rittman

In this next series of postings, I’m going to go through some of the more
advanced features of OracleBI Answers and OracleBI Interactive Dashboards, and
look at:

  • Adding a control to a dashboard page that passes a parameter value to the
    reports that are embedded within it;
  • Creating a view selector, so that users can switch between different views
    of the data within a report;
  • Creating a column selector so that users can choose which measure to view
    in a crosstab;
  • Configuring a report within a dashboard to drill in place, rather than
    launching out to a new Web page;
  • Drilling from one report to another, and
  • Using the guided analytics feature to display links to reports and
    dashboards based on an OracleBI Delivers alert.

Thanks to Bas Roelands from Oracle Netherlands for passing on these tips at
the end of the Netherlands BI seminar.

For the first tip, I’m going to start off with a dashboard page with a number
of reports on it. Currently, these reports are for all years, but I’d like to
add a drop-down list to the top of the report that allows me to view the reports
for a particular year. Here’s what the dashboard looks like at the moment.

To add the drop-down list, the first thing I do is switch over
to Answers and then, in the Catalog view on the left-hand side of the page,
press the "New Dashboard Prompt" button to create a new dashboard
prompt (it’s the middle button in the screenshot), like this:

I then select Global Electronics as my subject area from the
pop-up dialog, and on the next page, define the scope of my prompt as just being
the dashboard page, not the whole dashboard.

Then, using the list of available tables and columns on the
left-hand side, I pick the column that I want to use with the prompt – in my
case, "Year".

I then save the dashboard prompt, and call it "Year
Prompt".

Now, I need to include the prompt on my dashboard. I go back
over to the dashboard application, make some space for the prompt and then drag
it, from the catalog, on to the dashboard page.

Now, when I save the dashboard and view the page again, the
control is added – but at this stage it won’t affect any of the reports.

To get the reports to respond to the Year prompt, I have to add
filters in to each of them. I’ll start off by amending the Top Customer report
just below it.

After I bring up the report in Answers, I add a column for Year,
and add a filter on it using the value "is prompted". This picks up on
the value in the dashboard prompt.

Now, when I go back to the dashboard and use the drop-down list,
the values in the report change to reflect the year I select.

Finally, now I know it’s working, I go back to the request and
hide the year column so that it’s not displayed in the dashboard.

Next, I want to change the Manager Revenue report that currently
displays a line graph, to one where the user can select from several
visualizations of the data. Currently, it looks like this:

which is revenue per year broken down by marketing manager. What
I’d like to do is add another drop-down box above the the graph, allowing the
user to switch to a crosstab view of the data, or a bar chart. To do this, I go
back into Answers and add another view to the request, a "View
Selector".

Then, when defining the view selector, I select the various
charts and the crosstab view that are associated with this request.

Now, I go back to the compound view and add this view selector
in.

Now, when I go back to the dashboard, the Manager Revenue chart
has a view selector above it, which allows me to switch between a line chart, a
bar chart and a crosstab.

Tomorrow, I’ll look at how guided analytics works with BI Suite
Enterprise Edition.

Comments

  1. Adrian Ward Says:

    Mark,
    In the above example you are hiding the Year column after proving that the filter is being applied. However, this will cause the Year to still be included in the query, even though it is not showing the report will still be grouped by year.
    The best approach is to delete the column from the column selection group. It will still be filtered on but will not be in the group by of the SQL.
    Rgds
    Adrian

  2. Mark Rittman Says:

    Adrian
    Thanks for pointing this out.
    Just so I’m clear – surely I would still want Year to be in the query, it’ll be just the one year (say 2004, whatever value the user chose) which will have the same effect as filtering on it – or am I missing something?
    If I delete the column from the column selection group, how will it still filter on it – surely the filter will disappear with the column being removed?
    I’ll have to have a play around with this later (back from Holland, got family stuff to do) and see where you’re coming from – obviously you’ve got a point it’s just that I can’t quite figure it out in my own mind yet – when I get it all up and running again I’ll take a look.
    cheers
    Mark

  3. Adrian Ward Says:

    With the filter applied there will be no problem, because, as you point out, there will only be one year in the query. The issue is the inital report where there are multiple years.
    Rgds
    Adrian

  4. Mark Says:

    Adrian – taking a look at the screenshots on today’s posting (where the filter is applied but a drop-down value isn’t selected, as you mention) the list of customers doesn’t look right – “Computer Warehouse” is duplicated which would seem to be the problem you’ve mentioned. I’ll take a look over the weekend and try out your suggestion.
    cheers
    Mark

  5. Vlad Says:

    Mark,
    I found that parameters don’t work unless you have Single Sign-On enabled on the page.
    From Oracle:
    “When an SSO user modifies a Page Parameter it is customization and hence you will find an entry in PTM5_CACHE Table,
    If a PUBLIC user (UnAutorized user) is allowed to modify the parameter value then any hacker can filled the DB space.
    Thats the reason PUBLIC users are not allowed to pass page Parameters to Worksheet portlet.”
    Do you know of any workaround that would allow anyone to use page parameters without SSO?

Website Design & Build: tymedia.co.uk