Sunday 25 September 2011

Hyperlinks in SAP BO Web Intelligence


Hyperlinks in Web Intelligence


  1. Place the Blank Cell from the Templates Panel.
 After inserting the Blank cell go to the formula bar of the Blank cell. Paste the path of the report you want to open.
 Check the syntax of the hyperlink using green correct button.
 After checking the hyperlink. The path will display in the blank cell.
 Then go to properties of the cell. In the display tab  cell and set read cell content as hyperlink

Finally it works like a Hyperlink.

The syntax for the hyperlinks

Normal Hyperlink

="http://ic-rpc-01:9000/businessobjects/enterprise115/desktoplaunch/opendoc/openDocument.jsp?sType=wid&iDocID=13790"

Hyperlink with Text

 =<a href=http://ic-rpc-01:9000/businessobjects/enterprise115/desktoplaunch/opendoc/openDocument.jsp?sType=wid&iDocID=13790> Hyperlink </a>

Hyperlink on a Column

="<a href=http://ic-rpc-01:9000/businessobjects/enterprise115/desktoplaunch/opendoc/openDocument.jsp?sType=wid&iDocID=13790>"+[Year]+
"</a>"


Hyperlink with the Prompt


="<a
href=http://ServerName:8080/businessobjects/enterprise115/desktoplaunch/opendoc/openDocument.jsp?sType=wid&sWindow=New&iDocID=91194
5&sRefresh=Y&lsSEnter%20Customer:="+URLEncode([Customer])+">"
+[Customer]+"</a>"


We can view the report by both ways by using iDocID and sDocName

sDocName is the name of the which you want to view.
DocID is the unique number given to the Report.


ServerName:8080

Server name is the name of your system name.

8080 is the port number of your server.
You will find these two Details in internet explorer after opening the infoview.
To view the DocID

Go to the infoview panel select the folder in which your report exists


In this above window you are seeing up arrows if you place your cursor on the arrow button then the DocID will display in the below toolbar.

From the above window 13796 is the DOCID of the LEVEL3 Report.

In Desktop Intelligence

 We have a direct function called Hyperlink
 The syntax of the Function =hyperlink( “path”,”Name you want to display”)

Place the hyperlink path in the first place. And the name you want to display in the Second place.

Detecting Fan Trap & Chasm Trap in Object Property Errors


Business Objects provides a very good integrity checking mechanism. This integrity checking includes several things like universe structure, context and syntactical definition of objects, conditions, joins. But the developers face some more hurdles in universe designing which are not detected by this integrity checking.

Fan Trap and Chasm Traps are very common problems in relational database schemas. It is a Join path which returns more data than expected. Thus it generates erroneous data in Business Objects reports. Business Objects Enterprise suggests visually analyzing the design and detecting the traps. But in a universe which contains lots of tables and joins, it is very difficult to visually detect these traps.

Another area is object definition or property setting which is not checked by integrity checking of Business Objects but if the developer makes a mistake it will lead to erroneous data in the reports.

I will give a details description about these situation and explain how this tool will help to detect all these design errors.


 FAN TRAP :

A fan trap is a type of join path between three tables when a “one-to-many” join links a table which is in turn linked by another “one-to-many” join. The fanning out effect of “one-to-many” joins can cause incorrect results to be returned when a query includes objects based on both leading and trailing tables. Incorrect data comes for the measure objects linked with first or second table in the join path. Also the measure objects will produce incorrect data if it has aggregate function as ‘sum’ or ‘average’ or ‘count’ (if distinct is not used).



This tool will find out all the three table join paths where a “one-to-many” joins links a table with another “one-to-many” join. It will also show the list of objects which can generate erroneous data. After getting all these details a developer can take corrective action to get rid of the fan traps.



CHASM TRAP :

The Chasm trap occurs when two “many to one” joins converge on a single table. A “many to one to many relationships” exists among three tables in the universe structure.  There are multiple rows returned for a single dimension. Same like fan trap the measure objects will produce incorrect data if it has aggregate function as ‘sum’ or ‘average’ or ‘count’ (if distinct is not used).


This tool will find out all “many to one to many relationships”. It will also show the list of objects which can generate erroneous data. After getting all these details a developer can take corrective action to get rid of the chasm traps.

OBJECT DEFINITION & PROPERTY :

1.    SQL aggregate functions to BO projection functions

Any time you use a SQL aggregate function the resulting object becomes a measure object in Business Objects. Measure objects by default have a projection function of Sum ().

The mapping of SQL aggregate functions to the proper Business Objects projection function is very important. The developer need to be very careful on setting proper Business Objects projection function. The table below shows the best mapping.

SQL Aggregate Function
Business Objects Projection Function
SUM
SUM or NONE
COUNT
SUM or NONE
MIN
MIN or NONE
MAX
MAX or NONE
AVG
NONE

2.    Count & Count (Distinct())

The distinct qualifier for the count () operation avoids the over-counting problem. You should only use
the distinct qualifier to count a unique key (identifying) value from a table.

3.    All measure objects should have a aggregate function

All measure objects are numeric, but all numeric objects are not measures. If a numeric object is a measure or used as a measure then that object must have a aggregate function, otherwise it can generate wrong data for the object in Business Objects report.

As example a sql query is generated in club database

SELECT
  Service.service,
  Sum (Invoice_Line.nb_guests),
  Invoice_Line.days
FROM
  Service,
  Invoice_Line
WHERE
  (Invoice_Line.service_id=Service.service_id)
GROUP BY
  Service.service,
  Invoice_Line.days

Here Invoice_Line.days comes in Group By clause but it is a measure should come in select with a aggregate function. Thus in the report generated, if you take the sum of number of days it will be less than expected. Thus all measures must have a aggregate function.


All these three error prone situations should be take care by the developers. This tool will clearly show the list of objects where you need to change the object definition or properties.  

Monday 19 September 2011

How does Web Intelligence work?

Web Intelligence provides business users an easy to use interactive and flexible user interface for building and analyzing reports on corporate data over the web, on secured intranets and extranets. The Web Intelligence software is installed by your administrator on a web server on your corporate network. To use Web Intelligence from you local computer, you log into the business intelligence portal InfoView via your Internet browser. Then, depending on your security profile, you can interact with the reports in corporate documents or edit or build your own documents using a Web Intelligence report panel or query panel.