Jump to a Web Intelligence report from Dashboards in BI4

OpenDocument URL

First of all, what I always want to prevent is having to create logic in the dashboard to determine on which environment the report needs to be opened and what then the standard open document URL should be.

This can easily be solved by using the relative URL path:

../../../../../OpenDocument/opendoc/openDocument.jsp?IDType=CUID&iDocID=[CUID]&[VariableName1]=[VariableValue1]&[VariableName2]=[VariableValue2]

Instead of the absolute URL path:

http://[servername]:[port]/BOE/OpenDocument/opendoc/openDocument.jsp? sIDType=CUID&iDocID=[CUID]&[VariableName1]=[VariableValue1]&[VariableName2]=[VariableValue2]

[CUID] needs to be replaced by the CUID of the Webi, which is the unique identifier across the tiers in BI4. It can be found in the properties window of the object in BI4.

Passing parameters

Method 1 – Key of value

The easiest way to pass parameters is by using the exact prompt name displayed in the Webi prompt and passing the key of the selected value. If for example the period needs to be passed for the Webi shown below, this should be the parameter:

lsSFiscal Year/Period=2013006

The OpenDocument URL is then as follows:

../../../../../OpenDocument/opendoc/openDocument.jsp?IDType=CUID&iDocID=[CUID]&lsSFiscal Year/Period=2013006

IMG 1

The format of the key of the value can be discovered by refreshing the LOV (List Of Values) and clicking on the key button.

For different variable types, e.g. single value, multiple single value and ranges, the syntax in front of the parameter needs to be different:

Syntax Used for Example
lsS Single Values lsSFiscal Year/Period=2013006
lsR Ranges lsRFiscal Year/Period= [2013001..2013006]
lsM Multiple single values lsMFiscal Year/Period=2013001;2013003;2013005

 

Method 2 – Key and description of value

If just passing the key of the value does not work, the description of the value needs to be passed as well:

lsIFiscal Year/Period=2013006

lsSFiscal Year/Period=JUN 2013

With this combination, the syntax lsI needs to be used for the technical key of the value, for the description it is lsS (the latter depends on the type of variable, e.g. single, multiple, range).

Method 3 – Variable Key

Instead of using the prompt name, the technical name of the variable can be used. This is shown in the prompt screen. In this case it is “XXCUPM003”:

IMG 2

Passing the values is then as follows:

lsSXXCUPM003=2013006

Or

lsIXXCUPM003=2013006

lsSXXCUPM003=JUN 2013

Personally I prefer to use the prompt names since it is the most transparent and straightforward way.

Passing Hierarchy Nodes

For hierarchy nodes the format is [InfoObject]/[Technical Name of the Node], as shown in the example below. Again, the format of the key can always be checked in the LOV.

IMG 4

For some hierarchies just passing the hierarchy key and hierarchy node key will suffice (method 1):

lsSCost Element Hierarchy Name=SV01ZPNT

lsSCost Element Hierarchy Node=0HIER_NODE/SV01TRAIN

If just passing the hierarchy node key does not work, the description of the hierarchy node needs to be passed as well (method 2):

lsSCost Element Hierarchy Name=SV01ZPNT

lsICost Element Hierarchy Node=0HIER_NODE/SV01TRAIN

          lsSCost Element Hierarchy Node=2 3 TRAIN Training Costs

But it also accepts passing the key twice:

lsSCost Element Hierarchy Name=SV01ZPNT

lsICost Element Hierarchy Node=0HIER_NODE/SV01TRAIN

          lsSCost Element Hierarchy Node=0HIER_NODE/SV01TRAIN

Summary

If it is possible to use method 1 in passing the parameters, I would advise to use that because of transparency. It also works for most of the parameters, it is mainly hierarchy nodes that can be an issue. So if that does not work, I would try the other methods. Keep in mind that one method might work for one WebI document, but not for another. The reason behind it is not clear which makes it a real trial and error process to find out which one does work.

Lastly, always double check if the prompt name or variable technical name is exactly the same as the one used in the parameter. If there is a difference, passing the parameter will not work. Same with the key of the value, it needs to match exactly the key in the LOV. The key of the value might not be how you expected, so always check the LOV to be sure. When all these things are followed, passing to parameter should go successful.

This article belongs to
Tags
  • Dashboard
  • Web Intelligence
Author
  • Just Blogger