Friday, December 7, 2012

OBIEE and Narrative - Drill = Navigate to BI Content, In English

We covered the basics of Narrative here and creating Tiles with Narrative here.

One of the main problems of Narrative is the lack of drill options, what is called now "Navigate to BI Content". On the other hand, it can be easily achieved using basic scripts and GO URL.
I will do a basic example, for more detail on GO URL in OBIEE check the Integrators guide in the product documentation and see Gerard Nicos site.

What I want to achieve is the "Click for details" button in the following that calls a detailed report and passes the Product Type value (Accessories in this case) to that report:
Before we jump to this, lets create a Narrative with with the "Click Me" option only, that navigates to specific dashboard with no parameters.

All I have to do is to create a Narrative with the following content:
<input type="button" value ="Click Me"
onclick="window.location='saw.dll?Dashboard&PortalPath=%2Fshared%2FComponents%2F_portal%2FClients'">

when "%2Fshared%2FComponents%2F_portal%2FClients" is the location of the Dashboard. You can copy/paste it from the URL of any dashboard you open.
Please notice the URL starts with saw.dll so it's indifferent to the server name etc... It took me 2 years to notice this little trick.

If you want to drill to specific Analysis, it's slightly different URL:
<input type="button" value ="Click for details"
onclick="window.location='saw.dll?Go&Path=/shared/Visualisation/Tiles%20Details&Action=Navigate'">

When "/shared/Visualisation/Tiles%20Details" is the name and location of the analysis.




What I really wanted is to open detailed report and pass the "Product Type" value to this analysis.
So I create a detailed analysis, with filter "Product"."Product Type" is prompted.This time my URL is a bit longer:
<input type="button" value ="Click for details"
onclick="window.location='saw.dll?Go&Path=/shared/Visualisation/Tiles%20Details&Action=Navigate&P0=1&P1=eq&P2=%22Products%22.%22Product%20Type%22&P3=@1'">
The last part of the URL are the parameters. I'll do basic explanation, for more details see the above mentioned resources such as Gerard Nicos site.

P0 is the number of parameters passed. In our case it's only 1, the current value of "Product Type".
P1 is the operator, in our case it's equal.
P2 is the target column name, the "%22Products%22.%22Product%20Type%22" you see is actually "Product"."Product Type"
P3 is the value. I use the first column to pass that value, so it's @1.

In you need more parameters, you apdate P0 and create additional triplet.  

And that's it. The following Narrative shows me the Tile and when the button pressed, it passes the Product Type value to the detailed report.Most of it is explained in the previous post here. The additional part is only the button.

<TABLE border=1 bgcolor=#0FFFF0 width=150>
<TR> <TD><center>
<br>
@1 <br>
<font size="6" color=@2>@3</font> <br>
<b> US $ </b><br><br>
<font color=grey> Product Revenue<br>for a Cycle<br>
<input type="button" value ="Click for details"
onclick="window.location='saw.dll?Go&Path=/shared/Visualisation/Tiles%20Details&Action=Navigate&P0=1&P1=eq&P2=%22Products%22.%22Product%20Type%22&P3=@1'">
</font></center><br></TD></TR> </TABLE>


 

1 comment:

  1. hi i would like to know how to fit (print) a narrative report in one page?

    ReplyDelete