Hello Everyone...
Recently many people started asking me to write a post on Using a Prompt as a report selector in OBIEE11g. We all know it is not a new requirement, It is most common requirement in many of the project. This is a bit tricky in 10g version but in 11g this is a simple task. In 10g version we are using "Guided Navigation Link" to get this done. In 11g version we can do it very simply using the "Section --> Condition" option in the dashboard. In this post we will see how to do it....
Scenario: We have three reports, for example 1) Yearly Revenue Report 2) Quarterly Revenue Report
3) Monthly Revenue Report
The reports should be displayed on the dashboard as per the user selection i.e there should be a prompt which displays the three reports names depending on the report name that the user selected in the prompt the respective has to display. If the user selects Year value in the prompt then only year report has to display, If the user selects Quarter then Quarter report has to display and so on...
Here the user can have two choices either he can able to see only one report at a time using Radio button prompt or he can able to see multiple reports at a time using choices list prompt. In this post we will see the second option (Selecting multiple reports or Single report at a time). This is easy in 11g because of the Presentation Variable property, like i discussed in my earlier post the Presentation variable in 11g can capture multiple values. Please follow the below steps to do get this requirement....
Step 1: Creating the Reports
I am going to create three reports now Yearly Sales, Quarterly Sales and Monthly Sales as follows
Step 2: Creating the Dashboard Prompt
Create a new dashboard prompt by clicking on 'New" and then by selecting "Dashboard Prompt" as shown in the below screenshot
Now select the Subject Area from which you want to create the prompt. In my case i have used "Sample Sales Lite"
Click on the Add (+) icon and select Column Prompt
Now select any column from any of the tables because we not going to use any column values here we will create one dummy column and Hard code the report names as values.
I have selected the Per Name Year column and renamed it to "Select the Report" as shown in the below screenshots. Select the User Input as "Choice List" (By default it would be Choice List only)
Click on the Edit formula icon of the prompt and in the column formula.
Just enter any string value in the single quotes and click on Ok. In my case it is 'Dummy'
Now expand the Options ans select the "Choices List Values" as Specific Column Values as shown in the below screenshot.
Now Click on Edit icon and enter your report names as values of the prompt as per the requirement.
In my case i have given the report names as Year, Quarter and Month in the prompt. Here the report names are nothing but values of a column.
After entering the values click on Ok
Depending on your requirements select the options "Enable user to select multiple values", "Enable user to type values" and "Require user input".
Here very important thing is defining a "Presentation Variable" . In Select a Variable section select "Presentation Variable" then give one name in the below box. In my case i have created a variable called "Select" . All the presentation variable names are case sensitive so we need to be careful while creating a filter with presentation variable. You can see i have used the same name of the variable everywhere (Select) with the same case how ever i created it.
Enable user to select multiple values : If you need to enable multi values select option for the user you must select this option. In my case i would like to give the option to the end user to select multiple values so i enabled it by clicking on the check box.
Enable user to type values: Some times the user would like to type in the values like a text box field so this check box enables that feature so that the user can directly type the values with out selecting it from the prompt drop down.
Require user input: If you would like to make this prompt as a mandatory selection the you can select this check box. This option will disable the "Apply" button if the user is not selecting any value from the prompt.
After selecting all the required options save the prompt by clicking on Save icon as shown in the below screenshot.
Step 3: Creating the dummy reports for section condition validation.
Now create 3 dummy reports one for Yearly report , one for quarterly report and one for monthly report as shown in the below screenshots.
We have pull any column from any table to the criteria tab and go to Edit Formula and just give the Report name what ever you have given in the Prompt. The Report name that we have given in the Prompt and the value we are giving in this dummy column should be the same.
Remove the existing name give the new name as per the prompt value
In my case i have given "Year" as a value in the prompt and the same i have given in the edit formula in the single quote as it is a string.
Now click on the filter of the column properties.
Type the presentation variable name that we have created. In my case it is "Select" (Case sensitive) and click on Ok.
After doing this you can see the filter as follows. Then save the report. In my case i have saved this report as Year Dummy.
Repeat the same process for creating Quarter Dummy report and Month dummy report as shown in the following screenshots.
By the end of this step you will have three dummy reports created Year , Quarter and Moth.
Step 4: Creating a New Dashboard to Place these reports.
Click on the New icon and select the "Dashboard" option.
Give the dashboard name. Here i have given the dashboard name as Report Selector. You can see the same on the following screenshots
Now add the content to the dashboard as shown below
Add four sections one is for Prompt , one is for Year report, one is for quarter report and one is for month report.
Now drag and drop the prompt and reports in the respected sections. Better to follow the order either ascending or descending because if you dont follow the order then the reports will display in jumbling manner when the user is selecting all the values in the prompts. I followed the descending order here so if we select all the values in the prompt then first Year, next Quarter and last Month Report will come in the order.
Now click on the section properties of the Year report section and select "Condtion"
Now click on Filter icon.
select Analysis and click on Browse
select the Year Dummy report that we created in the previous step and click on Ok.
Click on Ok
Click on Ok
Repeat the same process for Quarter report section and Month Report Section
After adding the section conditions to the three report sections save the dashboard by clicking on the Save Icon and click on Run.
Now on the dashboard we can see only the prompt with three report names as check boxes as follows.
Now select the Year option and click on Apply ......
You can see only Year report on the dashboard
Now select the Quarter option and click on Apply ......
You can see only Quarter report on the dashboard
Now select the Month option and click on Apply ......
You can see only Month report on the dashboard
Now select all the three options and click on Apply ......
You can see all the three reports now ..... Year report, Quarter Report and Month Report on the dashboard in the same order how we kept the sections in the dashboards.
This is the continuation of the above screenshot.....
Step 1: Creating the Reports
I am going to create three reports now Yearly Sales, Quarterly Sales and Monthly Sales as follows
Step 2: Creating the Dashboard Prompt
Create a new dashboard prompt by clicking on 'New" and then by selecting "Dashboard Prompt" as shown in the below screenshot
Now select the Subject Area from which you want to create the prompt. In my case i have used "Sample Sales Lite"
Click on the Add (+) icon and select Column Prompt
Now select any column from any of the tables because we not going to use any column values here we will create one dummy column and Hard code the report names as values.
I have selected the Per Name Year column and renamed it to "Select the Report" as shown in the below screenshots. Select the User Input as "Choice List" (By default it would be Choice List only)
Click on the Edit formula icon of the prompt and in the column formula.
Just enter any string value in the single quotes and click on Ok. In my case it is 'Dummy'
Now expand the Options ans select the "Choices List Values" as Specific Column Values as shown in the below screenshot.
In my case i have given the report names as Year, Quarter and Month in the prompt. Here the report names are nothing but values of a column.
After entering the values click on Ok
Depending on your requirements select the options "Enable user to select multiple values", "Enable user to type values" and "Require user input".
Here very important thing is defining a "Presentation Variable" . In Select a Variable section select "Presentation Variable" then give one name in the below box. In my case i have created a variable called "Select" . All the presentation variable names are case sensitive so we need to be careful while creating a filter with presentation variable. You can see i have used the same name of the variable everywhere (Select) with the same case how ever i created it.
Enable user to select multiple values : If you need to enable multi values select option for the user you must select this option. In my case i would like to give the option to the end user to select multiple values so i enabled it by clicking on the check box.
Enable user to type values: Some times the user would like to type in the values like a text box field so this check box enables that feature so that the user can directly type the values with out selecting it from the prompt drop down.
Require user input: If you would like to make this prompt as a mandatory selection the you can select this check box. This option will disable the "Apply" button if the user is not selecting any value from the prompt.
After selecting all the required options save the prompt by clicking on Save icon as shown in the below screenshot.
Step 3: Creating the dummy reports for section condition validation.
Now create 3 dummy reports one for Yearly report , one for quarterly report and one for monthly report as shown in the below screenshots.
We have pull any column from any table to the criteria tab and go to Edit Formula and just give the Report name what ever you have given in the Prompt. The Report name that we have given in the Prompt and the value we are giving in this dummy column should be the same.
Remove the existing name give the new name as per the prompt value
In my case i have given "Year" as a value in the prompt and the same i have given in the edit formula in the single quote as it is a string.
Now click on the filter of the column properties.
Select the operator as "Is equal to / Is in" then click on "Add More Options" and select "Presentation Variable"
Type the presentation variable name that we have created. In my case it is "Select" (Case sensitive) and click on Ok.
After doing this you can see the filter as follows. Then save the report. In my case i have saved this report as Year Dummy.
Repeat the same process for creating Quarter Dummy report and Month dummy report as shown in the following screenshots.
By the end of this step you will have three dummy reports created Year , Quarter and Moth.
Step 4: Creating a New Dashboard to Place these reports.
Click on the New icon and select the "Dashboard" option.
Give the dashboard name. Here i have given the dashboard name as Report Selector. You can see the same on the following screenshots
Now add the content to the dashboard as shown below
Add four sections one is for Prompt , one is for Year report, one is for quarter report and one is for month report.
Now drag and drop the prompt and reports in the respected sections. Better to follow the order either ascending or descending because if you dont follow the order then the reports will display in jumbling manner when the user is selecting all the values in the prompts. I followed the descending order here so if we select all the values in the prompt then first Year, next Quarter and last Month Report will come in the order.
Now click on the section properties of the Year report section and select "Condtion"
Now click on Filter icon.
select Analysis and click on Browse
select the Year Dummy report that we created in the previous step and click on Ok.
Click on Ok
Click on Ok
Repeat the same process for Quarter report section and Month Report Section
After adding the section conditions to the three report sections save the dashboard by clicking on the Save Icon and click on Run.
Now on the dashboard we can see only the prompt with three report names as check boxes as follows.
Now select the Year option and click on Apply ......
You can see only Year report on the dashboard
Now select the Quarter option and click on Apply ......
You can see only Quarter report on the dashboard
Now select the Month option and click on Apply ......
You can see only Month report on the dashboard
Now select all the three options and click on Apply ......
You can see all the three reports now ..... Year report, Quarter Report and Month Report on the dashboard in the same order how we kept the sections in the dashboards.
This is the continuation of the above screenshot.....
Hope this helps you.............
Thanks,
Nagarjuna
Excellent.. Great work..!! Keep it up.
ReplyDeleteThanks Kavya.......
ReplyDeleteIts not working. Could you please confirm with more details.
ReplyDeleteHi Saravana,
ReplyDeletePlease let me know where you are missing so that i can help you.
Thanks,
Nagarjuna
Hi Nagarjuna,
ReplyDeleteAs you specified two methods in the starting of this post.My requirement is the first one(using radio button) .Can u help me with the first method also?
Regards,
Avinash
Hi Nagarjuna
ReplyDeleteExcellent work. Keep it up
Thanks
uma
Hi Nagarjuna,
ReplyDeleteWhen the Section Condition prompt opens, the Filter icon is missing. Please help me out here.
Regards,
Sreejith
Hi Sreejith,
ReplyDeleteIt could be a browser issue. Please check the browser version that you are using and check the oracle support matrix document for recommended browsers. Try using firefox, it works better than many browsers but make sure you are using the oracle recommended version.
Sorry for the delay in reply..... :)
Thanks,
Nagarjuna
Hi
ReplyDeleteGreat thanks for posting this.This is really helped me a lot.
1)Do you have any solution for dynamically adding values to a report based on prompt selection.
2) how to extract a year and month from Request variables.
Excellent work. Keep it up !!!!!
ReplyDeleteHi Nagarjuna,
ReplyDeleteThis is wonderful posting and I enjoyed applying widely this technique to my job. In terms of extending this technique a bit, I have a report prompt, say a year selector prompt for all three reports (Yearly, Quarterly, and Monthly in your example) to choose different year, and I want this prompt to show up only after use makes a selection from the report selector any or all of the three reports. How would you deal with such situation?
I tried to extend your technique by placing the year prompt in a separate section and setting the condition filter to include all three dummy reports. However, the filter can only take one analysis, not all three. So, I am wondering if you have solution to this request?
Again, thanks for your posting and any of your suggestion would be much appreciated.
Gary
Hi Gary,
ReplyDeleteThe solution is very simple, Just place your Year Selector Prompt within the same section where you placed the reports. So if you select a report from Report Selector Prompt then the selected report along with the Year Selector Prompt will be displayed and so on.
Let me know if it helps :)
Thanks,
Nagarjuna
Hi Nagarjuna,
ReplyDeleteThanks for your quick answer. Your solution is perfect for displaying one report. If all three reports need to be displayed at the same time, then there will be three identical Year Selector Prompts each sitting in a separate section. Do you have idea how to avoid this?
Thanks,
Gary
Hi Nagarjuna, Good post but I have achieved the same thing without creating 3 dummy reports. I used the same logic as in 3 dummy reports added the respective year, qtr, month columns to the respective reports and set the filter to is prompted. I made use of those reports in the condition in Dashboard sections. It worked. Infact, it could be better approach rather than filling your catalog with lot of dummy reports.
ReplyDeleteThanks,
Regards,
Uday
Hi Uday,
ReplyDeleteThanks for sharing your ideas.
Thanks,
Nagarjuna
Hi Please post videos with real time scenarios for obiee.
ReplyDeleteLike how to add multiple reports in one dashboard prompt. like that
I am very suffering till now with this scenarios. please prepare one video for this types of problems. and please put in to youtube. it's very use full to every one. please do it.
ReplyDeleteHi Nagarjuna,
ReplyDeleteis there a way to we diminish the month related prompts when we select month/ diminish year related prompts when we select year?
Hi Nagarjuna Thank you for your valuble information.
ReplyDeleteI have one requirement..How to configure Agent with incremental data...My requirement...How to deliver the report 3- times a day with only refreshed data not for all the data, which is present in DB... Ex: Agent have to run three times a day 10AM,1.PM&6.PM but each we have to deliver refreshed data only...?
Hi Chandra,
ReplyDeleteThere are multiple ways to do this, the simple way is to create three different agents. For example first agent start @4 AM in the morning with the filter on the timestamp column which brings data for only last 8 hours i.e from yesterday 8 PM to today morning 4 AM. Second agent runs at 12 PM which brings the data for last 8 hours i.e from today 4 AM to today 12 PM etc. The only requisite is to maintain the data at timpestamp level which you are doing it already i believe.
Thanks,
Nagarjuna
Tutorial fantastic!
ReplyDeleteHi venkat,
ReplyDeleteplease share RPD documentation
Hi Gopi, I did not get your question, Do you want me to create a post on RPD documentation?
DeleteTried same steps but only the first report is displaying i.e. after the prompt section in 12c version.
ReplyDeleteIs it compatible for OBIEE 12 c version.
Thanks in advance.
Hi Prashant,
DeleteI have not worked on Obiee12c so i can not comment on this but technically speaking it should work the same way irrespective of the version differences. It could be a bug also, please check with Oracle Support on this issue.
Thanks,
Nagarjuna
Excellent bro
ReplyDelete