Saturday, October 16, 2010

Folder reports in same Dashboard

I saw this question @OTN OBIEE

By altering the code generated with some javascript the functionality can be acheieved.

First add the Folder reports to the dashboard.

Go to page source -> search for table class "SectionTable"
Copy the code from the table start to end.
Then I added some script to add an Iframe and based on the user selection change the iframe content with the corresponding report.

Find the sample script below, with changes marked in bold.


=====================================================================================

[script]

function changeTheFrame(right)

{

parent.frames[0].location.href = right;

}

[/script]


[table class="SectionTable" cellspacing=0 style="" ]

[tr][td class="MinMaxCell" onclick="saw.dashboard.onToggleSection('d:dashboard~p:kgofk8gpr1igoom3~s:2hn4flc307gjsvb7', event); return false;" align="right"]

[!-- img id="d:dashboard~p:kgofk8gpr1igoom3~s:2hn4flc307gjsvb7Min" src="res/s_oracle10/portal/btn_min.gif" title="Collapse"/ --]

[img id="d:dashboard~p:kgofk8gpr1igoom3~s:2hn4flc307gjsvb7Max" src="res/s_oracle10/portal/btn_max.gif" style="display:none" title="Expand"/][/td][/tr]

[tr]

[td]

[table id="d:dashboard~p:kgofk8gpr1igoom3~s:2hn4flc307gjsvb7Contents" style="width:100%;"]

[!-- start folder --]

[tr height="100%"]

[td VALIGN="TOP" ALIGN="" colSpan="2" ]

[a href="javascript:void(null)" onclick="IgnoreEvent();" title="Text" name="SectionElements"]

[/a]

[a href="javascript:void(null)" onclick="IgnoreEvent();" title="Folder" name="SectionElements"]

[/a]

[table border=0 cellspacing=0]

[tr]

[td class="ExpandFolder" style="cursor:hand" onclick="javascript:ExpandCollapse('saw_89_4', event)"]

[img border=0 src="res/s_oracle10/portal/ifolder.gif"]

[a href="javascript:void(null)" onclick="javascript:ExpandCollapse('saw_89_4', event);return false" title="01 Ranking and Toppers"]

[font class="ExpandItem" onMouseover="this.className='ExpandOver';" onMouseout="this.className='ExpandItem';"]

[b]01 Ranking and Toppers[/b]

[/font]

[/a]

[/td]

[/tr]

[tr]

[td id="saw_89_4" class="_ExpandThis" style="display:none"]

[table class="ExpandList" border=0 cellpadding="0px" style="margin:0 12px;" cellspacing=0]

[tr]

[td]

[a href="javascript:changeTheFrame('http://localhost:9704/analytics/saw.dll?Go&Path=/shared/Sample%20Sales/01%20Ranking%20and%20Toppers/Multi%20Metrics%20Proportional%20Top%20Ns');" title="Multi Metrics Proportional Top Ns"]

[font class="ExpandItem" onMouseover="this.className='ExpandOver';" onMouseout="this.className='ExpandItem';"]

Multi Metrics Proportional Top Ns

[/font]

[/a]

[/td]

[/tr]

[tr]

[td]

[a href="javascript:changeTheFrame('http://localhost:9704/analytics/saw.dll?Go&Path=/shared/Sample%20Sales/01%20Ranking%20and%20Toppers/Multi-Dims%20Top%20Ns

');" title="Multi Dims Top Ns"]


[font class="ExpandItem" onMouseover="this.className='ExpandOver';" onMouseout="this.className='ExpandItem';"]

Multi Dims Top Ns

[/font]

[/a]

[/td]

[/tr]

[/table]

[/td][/tr]

[/table]

[/tr][!-- end folder --][/table]

[/td][/tr]

[/table]

[div]

[iframe FRAMEBORDER="0" BORDER=0 marginwidth=0 marginheight=0 hspace=0 vspace=0 width=1200 height=600 scrolling=auto]

[/iframe]

[/div]



=====================================================================================


Note: Change [ and ] with html tags <>

Add a text, check the checkbox for HTML and enter the code.



Save the dashboard,



On expanding it will see the reports we added.



On selecting the report will display on the frame inside the dashboard.





Vino

Tuesday, October 12, 2010

Data Labels on top of pie chart

Today I saw this question @OTN OBIEE

By changing a parameter pie.pcxml we can do this.

Go to the below location,
[OracleBI_Home]\web\app\res\s_oracle10\popbin

Before doing any changes, take the backup of pie.pcxml.

In the pie.pcxml, Goto -> DataLabels tag, by default the value would be Position='OutWithLeader'
Change that attribute to, Position='Inside'

This will give,



Vino

Report Links on top of the Report

I saw this question @OTN.

To get the report links at the top of the report, I followed the following approach.

In the Edit dashboard, Go to that report properties-> Report Links -> select the links
In this case, I have selected Refresh, Printer Friendly, Copy.



Save the Dashboard, now you will get the report links at bottom of the report.



For that dashboard, On the browser View-> Pagesource

Search for ResultLinksCell, You will see three ResultLinkCell class each for Refresh,Print and Copy.
Just above the first ResultLinksCell you have table tag select the code from there copy the code upto table tag end at the third ResultLinksCell.
See the sample code selected for the above mentioned three report links,



Go to Edit Dashboard -> Add text

On the text -> Check the contains HTML Markup -> paste the copied code between center tag. The Center tag is for getting the links at center of the report as shown below.



Remove the Report links from the report properties.
Save the Dashboard.
Now you will get the report links on top,



Vino

Saturday, October 9, 2010

Top / Bottom view in the same report

To show top and bottom in the same report I followed the following approach.

Create a prompt that will show top or bottom values to use, choose the column for the prompt and in show choose SQL results and enter the SQL,

Select Case when 1=0 Then Table1.Column Else 'Top' End From “Subject Area”
Union All
Select Case when 1=0 Then Table1.Column Else 'Bottom' End From “Subject Area”

In Default to, choose specific value and enter Top. Set the presentation variable (pv_tb).

In Answers, add the columns for the request

Country Name, Amount Sold
Set the Amount Sold column as descending, to get the chart values in order.
Add a dummy column, name it as Top / Bottom in that fx enter the following,

Case When '@{pv_tb}'='Top' Then Rcount(1) Else (Max(Rcount(1))-Rcount(1)+1) End

Add a filter over this column as less than or equal to 5.



Go to dashboard add the prompt and the request.

This will give Top 5 or Bottom 5 values based on the prompt selection.

Top selection:



Bottom Selection:



To have dynamic value to be passed for the report, change the above prompt add another column to the prompt. Make the prompt as edit box and set a specific value and set presentation variable (pv_rk) to have the value as shown below.



Now change filter condition in above criteria to add the presentation variable pv_rk as filter instead of the value 5.

The report will be,




Vino