Category Archives: Prompts

change (increase/decrease) drop-down control width of Pivot Pages, Dashboard or column filter prompts in OBIEE

Standard

Hello Everybody,

Today i have a requirement to change(increase/decrease) width of drop down controls from Pivot Pages, Column filter prompts, dashboard prompts.. etc.

Generally, drop down width will be controlled by the maximum width of values in drop-down.
If you want to set the width to be static and fixed one, then go for this approach:

I must be thankful to my colleague Sravanthi Nuthi for helping me here..

Here we go..

1. Go and edit the views.css file properties located at:

•    <BI_HOME>:\OracleBI\web\app\res\s_oracle10\b_mozilla_4\views.css
•    <BI_HOME>:\OracleBI\oc4j_bi\j2ee\home\applications\analytics\analytics\res\s_oracle10\b_mozilla_4\views.css

2. locate this code:

SELECT {
font-family: arial, helvetica, sans-serif;
font-size: 8pt;
}

3. Edit above property to:

SELECT {
width: 120px;  /* Add this property and set width to desired value */
font-family: arial, helvetica, sans-serif;
font-size: 8pt;
}

4. Restart OC4J/web server service where analytics is hosting..

Note: This change will affect all across bi environment.


Regards,
Kishore Guggilla.

Show/Pass Request Variable (Session) in section heading

Standard

Hi,

Hope all of you know how to define/use Request variable from Dashboard prompt…

Recently i found one question on OTN.

Requirement is: Show/Pass selected value from drop-down in Dashboard Section heading..

This is quiet easy if prompt is defined with presentation variable, but problem here is: prompt is defined with Request Variable.

Problem with Request Variable is:

Usually, Request variable is session variable defined in rpd and will be override with selected prompt value in front end. Real problem here is: regardless of selected value from the dashboard prompt, it always shows the default value of session variable initialized while creating the variable…

And, this is the way we pass session variable in Section Heading..

@{biServer.variables[‘NQ_SESSION.var_PVar’]}

Work Around is:

I assume Request variable is: var_PVar.

Here are the steps involved to achieve it.

1. Create another prompt with same functionality of main prompt

2. But, this time assign a presentation variable to the prompt, say: var_P.

Note: This prompt should be added to separate Section in Edit Dashboard..

3. Now, call presentation variable directly into Section Heading as shown..

4. Now, hide newly created prompt. Here is the way to hide the prompt..

Hope it’s clear.. 🙂

Regards,

Kishore Guggilla.

Avoid running report for All Values on Dashboard when using Multi-select Prompt

Standard

I found this question many times in the forums.

While using Multi-select as prompt, run the report on Dashboard the report will run for all values initially. But customer’s requirement is: Not to show all the values before running but has to show some custom message, like; Select Prompt values first and Run the Report

One way is: With setting Default values which are not existed in db for prompts. Here, i am explaining the procedure when customer don’t want to see any default values for prompts and still want to see Custom Message before selecting any values from prompts.

Let’s say, your dashboard is containing these 2 objects, Multi-select prompt set and a Report.

So, in my case, there are few multi-select prompts as shown:

Multi-Slct Prmts

And, Report Criteria may look like:

Report Criteria

If you observe Filters part of Criteria, all prompts related to respective columns are set to “is prompted”

Dashboard shows all values in the report when you navigate to particular page containing those 2 Catalog objects (Prompts, and Report)

Instead of showing all values by default, we need to show some custom message which says user to select the prompt values and run the report.

Here is the work around:

1.  Build a report with only those columns used in Prompt set. In this example those are, “Prod Subcategory”, “County Region”, & “Calendar Year”. And it’s filter set should look like:

Changed Filter Set

Observe that, i set a filter condition on all columns to non-existed database values instead of “is prompted”, and used logical Operator OR.

2.  Save this report as Intermediate Report

3.  Click on Results Tab of this Request.

4.  Edit your “No Results” View to show the message initially when you click on particular page of dashboard. Write the message there.

No Results View

5. Save this report

6.  Build a dashboard in such a way that each section contains each catalog object related to this page. Section 1 contains multi-select prompt, Section 2 contains Original Report to be shown, and finally Section 3 contains Intermediate Report.

Edit Dashboard

7.  Mention Guided Navigation properties for Section 2 and Section 3. i.e. Guided Navigation using Conditional Sections type.

8.  Click on Properties of Section 2 then Guided Navigation… and browse the Intermediate Report.

Section 2 GNP

9.  Do the Same thing for Section 3 also. (FYI, here Source Request and Target requests are same). But this time, select if request returns nothing radio button.

Section 3 GNP

10.  Save the Dashboard and see the Results. You will be watching the No Results View Message initially here, instead of showing all values of report. (Here you have not selected any prompt value yet..)

Results on Dashboard2

Here, Source Request i.e. Intermediate Report doesn’t return any rows. So, Section 3 content will be shown on dashboard.

11.  Now, select any prompt value and Run the report. This time, Intermediate report filters are override by the prompt values and it returns some rows. So, Section 2 content i.e. original report will be appeared on dashboard

Note: This will not work in the following Case like, you have set some prompt values and run the report. Clear all the prompt values here and run the report, now it shows all values.

So, it works when and as you click on the particular Dashboard Page.

This can be done easily for prompts with drop-down control. I blog it too soon.. 🙂

Your’s Kishore..!!

Change ‘Go’ Button Name of OBIEE Dashboard Prompt

Standard

Today one question here.  How to change OBIEE dashboard prompt ‘Go’ button Name.

By default, prompt button name will appear as follows:

Go Button

Now Button Name Go has to change to desired Name

  • Navigate to {OracleBIDir}:\oraclebi\web\msgdb\l_en\messages
  • Open globalfiltermessages.xml file (before opening this file, you better take backup of this file)
  • Locate the following text

<WebMessage name="kmsgGFPGo"><TEXT>Go</TEXT></WebMessage>

  • Edit the text ‘Go’ to your desired text.
  • Here I am editing it to ‘Confirm’

<WebMessage name="kmsgGFPGo"><TEXT>Confirm</TEXT></WebMessage>

  • Save the changes to file
  • Restart Presentation service

See the change in text of dashboard prompt Go button, now it’s changed to Confirm button


Confrm

Set yesterday or some date value as default in OBIEE dashboard prompt

Standard

Aim is to set default value to yesterday or some other day that you desired in dashboard prompt. So, when we click on the dashboard page.

This can be done in many ways

Here I am going to introduce 3 ways of doing the same.

  1. Using Advanced SQL in Prompt (From Answer side)
  2. Using repository variable (From rpd side)
  3. Using derived column in rpd (Same using repository variable)

We discuss this one by one

Using Advanced SQL in Prompt (From Answer side):

  1. Create a prompt on date column as per your requirement
  2. In Default to option drop-down, select SQL Result SQL Result

3.   Now click on eclipse button provided under selected SQL Result option

4.   Write the following query in the editor & click on OK.

(Here I am explaining to set default value to yesterday,)

SELECT CASE WHEN 1=0 THEN Times.”Time Id” else TIMESTAMPADD(SQL_TSI_DAY, -1, CURRENT_DATE) END FROM SH

In general, query will be,

SELECT CASE WHEN 1=0 THEN “any date column”  else TIMESTAMPADD(SQL_TSI_DAY, -1, CURRENT_DATE) END FROM “SubjectAreaName”

Write SQL

5.   Now add this prompt to dashboard page and you will be able to see the prompt is filled with the default value for yesterday

Note: If you want to set some other date as default, you can do that by simply changing the else part of SQL written.

Using repository variable (From rpd side):

1.   Open rpd and go to Manage > Variables… and select new initialization block to creating dynamic repository variable. Select new initialization block option.

2.   Click on Edit Data Source… and write the query & choose the corresponding connection pool as shown below.

Query is:

SELECT CURRENT_DATE – 1 FROM DUAL

(or)

SELECT SYSDATE – 1 FROM DUAL

QueryForVariable

3.   Click on OK to confirm the query (You can test here the query o/p by clicking on Test button)

4.   Click on Edit Data Target… option and click New… to create new repository variable

5.   Give repository variable Name, here I am using YstrDay as Variable Name and click OK

Repository Variable

6.   Click OK and again OK to confirm creation of initialization block.

7.   Save the rpd and go to answers and reload the server metadata.

8.   Go to the prompt you have created already, and this time select Server Variable from Default to option.

Server Variable

9.   Click on Eclipse button under the Server Variable option and mention the repository variable name in editor. i.e. “YstrDay” in my case.

10. Save the prompt and check the default value displayed on dashboard.

Note: Again, if you want to change the default date value to some other you need to change the query written in initialization block of rpd

Using derived column in rpd:

1.   Even this is using repository variable, but this time I am creating dedicated column for this in rpd. So that you can simply make it use without mentioning case when condition in writing query or mentioning the repository variable name

2.   Create a Logical column under Time related table and click on Use existing logical column as the source in order to specify the functionality

3.   Write VALUEOF(YstrDay) in eclipse as functionality

4.   Now in query, of 1st method, you can replace timestampadd thing with Yester Day column you have created in rpd

Note: Here i am using SH rpd. So all objects mentioned here are related to SH schema.

ALL THE BEST

Presentation Variable, prompt values in Report Titles (OR) Using Presentation Variable in Dashboard Text object and Narrative View directly in OBIEE

Standard

Normally, to let user know that what are the selected values in dashboard prompt, we use narrative views or Filter views.

In this blog entry, you will see that how to use presentation variable in directly narrative view and in dashboard objects.

Recently, I had a requirement like prompt is populated with some values along with All Choices

When user selects a particular value from drop-down that value should be displayed on report and when select All Choices nothing to be display.

Variables in Narrative View:

For this i went with the following approach.

1. Create a prompt with presentation variable say, var_region and set Default to: All Choices. Save the prompt

prompt

2. Create a report with some measures and the dimension column i used as prompt in the step 1

criteria

3. Click on Results tab, and add the narrative view to compound layout

4. In Narrative section mention the presentation variable name directly @{var_region}, set Rows to display to 1 and click OK to add the narrative to compound layout

narrative

5. Arrange views, so that the narrative view comes under the title view

arrange-cl

6. Go to Criteria tab

7. Apply filter condition on that dimension and assign presentation variable to the filter. Save the report

filter-condition

8. Now create a dashboard page and add the prompt and report just now you created

9. Save the page and you can see that there nothing appears in narrative view as default value for prompt is All Choices.

10. Select any value from prompt and click on Go. You will see the selected item in report.

Note: If you are writing any text in narrative view like, Region is:@{var_region}, then even for all choices the text will be shown but no value shown for prompt

So, when there All choices option is selected in prompt associated with presentation variable, it holds nothing. It holds the value when there is single value selected. Of course, variables contains only single value

Variables in Dashboard Object – Text

  1. Edit the dashboard page.
  2. Add the Text dashboard object to the existing section

text-object

3. Click on Properties option for Text object and write the following code.

<center><font Size=’4′><font color=”#000000″>@{var_region}</font></font></center>

Don’t forget to click on Contains HTML Markup check box

text-properties

4. Click on Properties of Report > Show View and select Table1 to show only the table view on dashboard, so that the narrative we are not showing. This avoids the displaying prompt values twice

show-view

5. Save the page and go to dashboard. As default value is All Choices, you will not see anything on dashboard related to text object

6. Select any value from drop-down and click on Go, and watch that the selected item is appears on dashboard

dashboard-result

Normally, this post explains how to use presentation variables directly in views or text dashboard object and displaying prompt values in report.