1 2 3 13 Previous Next

SAP BusinessObjects Web Intelligence

194 Posts

Before there was SCN for BusinessObjects products, the only reliable resource for BusinessObjects problems was BOB.


Jason Everly asked us to write a blog post to help publicise BOB on here so that report authors, universe designers and BO administrators are aware of the most successful long-standing independent resource for BO developers. He has joined BOB to publicise the SAP Webi Bulletin - The Webi Bulletin - New Webi Information Source


So, what is and what isn't BOB?


BOB is not affiliated to SAP in any way. It started years ago as a ListServ project and was migrated to become a forum in 2002 to become a home for BusinessObjects enthusiasts to help each other and seek help as well as share knowledge.


There are no fees involved - it's free to join and participate. The flip side of that is that all contributors are volunteers. As such, please don't flag something as urgent as they tend to get ignored. The contributor's work appraisal is not based on how quickly they have resolved your BOB issue!


There is a great search facility; many common issues have been discussed down the years, from contexts, to aliases to calendar tables.


BOB is not a job board, nor will it help you with interview questions. The purpose of BOB is to provide support for genuine BO problems that you are facing. The more details that you can give, the better the answers will be.


BOB does not offer support for other SAP products such as BW and Bex - you're much better off staying here for that. Below is a list of what it does offer, in addition to the standard forum areas like FAQs, Forum Support and General Discussion


If you follow the link above, it will take you to a post on the BOB Board within the Webi section. However, there's more to BOB than that!

There are dedicated sections for most of BO's core products (and in some cases versions). These include:

  • Building Reports - this has subsections for Webi, Deski, Crystal and older versions of each so that you can seek help whether you've just got stuck on a new version or if you've inherited a dinosaur in your new role!
  • Semantic Layer / Universe Designer - most of the questions in here focus on database-driven universes rather than BW-based IDT designs but this is mainly because of the historical nature of the product, with some of us having used the tool since the days of Windows 3.11
  • Security and User Administration - this has information about the legacy tool (Supervisor) and CMC information including security concepts, user management and general questions.
  • Server Administration, Installation and Updates - this is for the systems administrators out there who are tasked with looking after the SIA and other server-based parts of the BO deployment
  • Enterprise Scheduling and Distribution - this section includes legacy support for Broadcast Agent but is more focused on the current scheduling including dynamic recipients and task-based distributions.
  • Data Integrator - Most, if not all, aspects of BO's ETL tool are discussed in this area with its relevant sub-forums.
  • SDK (VBA/ASP/JSP) - one for the web developers who are looking to integrate BO reports into their website's front end rather than using the standard BO interfaces
  • Other Products - an area that covers the non-standard BO products, such as LiveOffice, Lumira, Xcelsius and Auditor


There are also sections on User Groups and Conferences as well as a Downloads section that has some useful utilities to help make life easier for BO developers and administrators.

Hi Everyone,


SAP BO Web Intelligence allows functions which help us to calculate cell value and formatting as per business requirement. Here I am explaining a simple step to write function and calculate value and percentage based on existing data column.I am assuming that query is added and now we have following data in in Webi report.



As per above report we have Sales Plan Qty, Gross Sales Qty and Sales return Qty and Now we have to calculate ‘Net Sales Qty’ and sales Performance based on Gross Sales, Sales Return Qty and Sales Plan Qty. follow below steps.

1. Add new column by right click on Sales Return Qty and insert column on right side.

2. Select new insert column and click on ‘Formula Editor’ on formula Bar or right click and Edit Formula.

3. Write formula =[Gross Sales Qty]-[Sales return Qty]’ to calculate Net Sales Qty.


4. Now add one more column to calculate Sales Ach % (formatting two digit decimal with %-symbol).  Go to Formula Editor then write formula ‘=FormatNumber(([Gross Sales Qty]-[Sales return Qty])/[Sales Plan Qty]*100;"##.00%")’



Now we are getting desire output by formula.


Hope this blog gives clear understanding to use Formula in webi reports. And it is helpful.




Kashif Ali Khan

Note : Before we start designing any of the details report , consultant and analyst should discussed this questions with the User first.

User Requirement Gathering Questions


Questions related to All reports :


  1. How many reports User required ?
  2. In which format User needs report and duration required ?
  3. Whether the User wants to implement hierarchy in reports or not ? If yes then it should be present in all reports or some reports ?
  4. Are there any prompts (drilldown, filter) which are common to all reports ?
  5. What are the security constraints common to all reports (i.e access and data displayed level for the user) ?
  6. How the User wants to analyse data based on time dimension (eg Year,Quarter etc) ?
  7. Specify the common formatting pattern (eg. color,table width etc) ?
  8. Any sorting condition which should be common in all reports ?


Questions related to Specific report:



  1. What are the fields and calculations reuired (i.e dimension, measure) ?
  2. How to represent data i.e how many charts and tables present in a report ?
  3. What are the mandatory filters required ?
  4. Any specific condition or filters required in report ?
  5. Whether the User wants to highlight specific data in reports or not ?
  6. Drill should be implement or not ?
  7. What are the security constraints related to access of reports and also the data displayed on report ?
  8. What are the prompts/optional prompts should be implemented User wants to see Hierachiral Data while choosing LOV (list of values) ?
  9. Whether User wants to apply any sort condition or customized sorting ?
  10. Do we need to create any hyper links in report or wants to link reports together. (i.e : link to dashboard) ?


Whats Next ?


1. Document User requirement .

2. Create a mock up in Excel .

3. Get the approval/sign off and start working

There are certain settings which we should follow while importing BO Webi reports into Live office PowerPoint. Some of those settings are as follows.


Best Practices while Importing Webi report tables into Live office PowerPoint:


  1. Always keep size of BO report tables exactly same as it is shown on the power point slide.
  2. After importing the report objects into ppt slide, make sure that you keep ‘Apply report format when refreshing’ check box checked for each table object on ppt slide.

Best Practices while Importing Webi report charts into Live office Powerpoint:


  1. Always try to refresh the chart structure from webi report.
  2. If this could not be possible then keep the size of the chart as close as it is in ppt. If the size is too large in the report then it will be blurred while shrinking it in ppt.
  3. While reducing the size of charts in ppt, make sure to check the ‘Lock Aspect Ratio’ check box for the charts. This will do the compression or expansion in same ratio and will keep font visibility.


Special Note:

  1. Always keep webi report on ‘Refresh on Open’. If this setting is not ‘on’ then ppt refresh will throw error.
  2. Please uncheck any other analysis settings like report level filter in SAP BO Webi report.
  3. Please do not edit the SAP BO Webi report while refreshing the objects in PPT. It usually results into Live Office errors.
  4. Merged cells in webi report don’t work correctly in LiveOffice Power Point. Hence design the report structure accordingly.

As a long time Webi user, and provider of maps integrations, I have always wished there were a proper SDK for integrating custom visualizations in Webi. My first exploration was through Xcelsius which I soon hope to release as a freeware component called "SAP Dashboard Viewer."

Now, I am thrilled that I can offer to the BusinessObjects ecosystem a new premium extension for Webi.


Full Disclosure


My goal is to continue pushing extension points for Webi and show designers / developers what is possible. Why? The more users who express interested and become reliant custom extensions, the better the SDK will get. The beauty of Webi Extension Points is that you only need JavaScript development skills and some patience.


This particular CMaps Analytics solution is not freeware, and for a good reason. This extension includes a supported Google Maps license which is required for any Google Maps integration, our premium maps JavaScript API and cloud services, with support for the extension.


My Approach

With that said, I had two goals to consider when creating a maps extension for Webi:


1. Ensure that someone with skills to create a Webi report, could just as easily enable a map.

2. Provide full support for all of the map visualizations offered through CMaps Analytics API.. We allude to Google Maps because it provides the base layers, but the Javascript API that powers this map is actually CMaps Analytics JS API, which provides hundreds of extra functions needed for Business Apps and analytics.

Here is another article I posted on Linked-In that highlights some of the interesting business cases


Here is the process for building a simple map in BI4 SP04 for the every day Webi Designer.




What's Next

In the next couple of weeks, we are pulling together all all of the lessons learned developing custom extensions. Webi Extension points is a great step forward but it is not perfect, so my hope is that as customer's reliance grow on this technology we can see new exciting ways for interacting with Webi.

Want to get the Extension

We do have the extension available as a test drive for BI4.1, though you will need to check for service pack availability. I would love to hear your feedback first hand so don't hesitate to contact me direct. CMaps Analytics for Webi

Hello Everyone,


I hope you all are familiar with the BW Manual prompt entry feature introduced with the release of BI 4.1 SP 5. If not, please go through my blogs written earlier, explaining the functionality and the steps to enable it.

BW Manual prompt entry functionality is introduced in Web Intelligence

How to enable multi value option in Web Intelligence for Selection option variables coming from BW

I am writing this blog post to clarify few confusions around this new functionality that has been brought to my attention by few users who tried using this functionality.

In order to explain the scenario more precisely, I created a Web Intelligence report before adding the switch: 


in registry (for webi rich client) or in the Adaptive Processing Server (APS).

In the below screenshot, you can see that a selection option variable defined in Bex showed up as a range with “Start Value”  &  “End Value”.





On refreshing the report, notice that Country “Aruba” shows up as the start and end value entered, acted as a range (Argentina – Australia), instead of individual prompt selections.



Later we added the switch to the registry and the APS.  The screenshot below was taken after the switch was implemented and the report refreshed.


Notice the prompt. It has changed to a multivalue prompt with 2 single values instead of a range as previously designed.



Here the report has completed, and Aruba has disappeared from the result set. If an end user is unaware of this change, it will result in incomplete data being returned as the values entered now are individual prompt selections and does not act as a range any more.  (Aruba is missing)




End users can encounter this change in data during migration (migrating to an environment with switch enabled) or if the switch is added to an existing environment with SP5 or above.



One workaround is to define the variable as “Interval” (as shown below) in the back end BEx instead of a selection option variable to ensure that the prompt still shows up as a range even after adding the switch.


While the workaround is viable, it doesn’t allow the ability to use the other conditions that are available with the switch (pattern matching e.g: !5, >7 etc).

Hope it helps clarify the confusion around this functionality.



Hi All,


recently I came across a requirement to merge two Queries where the values of one of the merged dims had leading spaces.

Values from Query 1 dim was :


id            value   

"123"     1

"345"     2

"567"     3


and the values from Query 2 was


id               dim1

"   123"      a   

"345"         b

" 567"        c


Simply merging this dimensions will lead to the following values for the merged dim


merged id

"   123"

" 567"





How to get the merged values as





and use the other objects from the Queries like ?


merged id     val     dim_det

"123"           1           a

"345"           2           b

"567"           3           c


Steps :


1 - merge both queries on [id] onto [merged dim],

2 - create a dimension variable [final merged dim] = Trim([merged dim]),

3 - create a detail variable for [dim],  [dim det] = Trim([dim]) whit associated dimension = [final merged dim],

4 - use [final merged dim], [val] and [dim det] on your report.





recently I came across a requirement that was to test if a value was in list where the list was in a variable. The variable, [list] = "123;234;456;1114678;768;999111", I I need to test if the value of a certain dimension , [numero], was in the list [list]. As you know, the InlList operator can be used only with a literal list (that´s it a text, like "123;234;456;1114678;768;999111", not in a variable. Then testing for [numero] InList([test]) will throw an error.

To overcome this situation, one can test for the Pos of [test] in [list], if the result is >0, [numero] is present in [list]. The downside is when [numero] is contained in another value for instance , "111" is not part of the list, but is contained in "1114678". To parcialy overcome this issue, you can test for ";"+[numero] and [numero]+";". So my formula will be :


If( (Pos([list];";"+[numero)>0)or (Pos([list];[numero]+";")>0);"InList";"NotInList")






I would like to share a way of removing all spaces from a Text.

My text is [Text] = "Rogerio Plank Goulart" and I want to see this as "RogerioPlankGoulart".

To do so, Replace all spaces (" ") with null (""), use Replace([Text];" ";"").


You can either prefer to Show each part of the text in a separate line to do so, use Replace([Text];" ";Char(10)). It will show [Text] as










this blog post is about how to get the number and the names of reports in a document.

As this is a Javascript code, it will only work when viewing-editing the document in HTML mode.


The information about the reports can be found in webiViewFrame.DS.arrReports, the number of reports is given by webiViewFrame.DS.arrReports.length and the name of them is given, looping through arrReports

for (i=0;i<webiViewFrame.DS.arrReports.length-1;++i)

{ name = webiViewFrame.DS.arrReports[i].name }


To set the script, drop a blank cell over the report and set it's text to


numberOfReports = webiViewFrame.DS.arrReports.length;

for(i = 0;i<numberOfReports-1;++i)




Set the property of the cell "Read As" to HTML.



I would like to share a way to assign specific colors to a selected data series in a chart. In this sample, I will alter the color of a pie slica. I ´ll use the sample report "Input Controls And Charts" located at Public Folders->Web Intelligence Samples.


The pie chart is this sample report is shown below. pie chart.png


I´ll change the color of the slice Lines = Acessories to red.

To do so, click on the slice , from the menu choose click on the tab Formatting , click on cell and Background color. Choose the color you want, in this case red.




Below s the result of this operation.


final chart.png



Alternatevely, instead of clicking in the slice, you can click of the slice label on the legend.


This approaqch also works on different charts like bar, lines among others.



Hi ,


In WEBI 4.x there is a functionality that autosaves the document that you working on in the ~WebIntelligence folder under My Favorites.

But what if you need to save it overitself, just like you´rte pressing the save button.


Steps :


- Drop a blank cell onto the report;

- Set it´s value to :


        setInterval(function () { self.parent.save();} , n*1000);


where n is the number of seconds to the autosave

- Set the cell´s property "Read As" to HTML.





I would like to show how to avoid timeout , from client side, in a WEBI Doc, through the use of Javascript. This will only work if you´re working with the document in HTML work.

Here are the steps :


- Drop a blank cell over the report;

- Set it´s value to



     <META HTTP-EQUIV="refresh" CONTENT="120">



      < BODY>



- Set the cell property "Read as " to HTML.

- Save the report

The number in red is the interval, in seconds, for the refresh.

How does it work :

The page will do a soft refresh (not refreshing the Doc, but the iframe where the HTML code is, sending to the server a request. So,




It works in both BO 3.1 and BO 4.x

I would like to tell the users the importance of Reset Dimension Parameter in Rank Function.

Recently, I was asked to create a simple rank report that shows the Rank in ascending order.

The rank should be based on the sales value & partners, but specific to the country. for e.g., if there are 10 partners in a country there sales should be ranked independently from 1-10. Other partners in a different country should be given separate ranks.

For this scenario, The Rank function has a reset dimension parameter, that helps us to get to this very easily.

It has below syntax,



=Rank([Total_Sales];Top;([Country Name]))

Top – refers that the rank will applied in ascending order.

[Country Name] – this is reset dimension.

Hope this example helps to understand the importance of Reset Dimension Parameter in Rank Function.

Kindly share your feedback on this.


I am writing a blog on the Main Differences between the HTML query panel (web) and the Java query panel (Advanced) in Web Intelligence. I hope this blog post might help. Request to rate and comment on this blog.


The Java Report Panel has the following that HTML Report Panel does not:


At the query level:



•Object Comparison

•Database Rank (Query Rank)

•Combined Queries (Union, Intersect, Minus)

•Edit and Save SQL, with the HTML Report Panel you can only view.

•Customize the Scope of Analysis

•Purge the data from the micro cube before saving


At the Report level:


•Rank is possible (Workaround for HTML: Use the formula language to add a # rank e.g. =Rank(measure; (dimensions); [TOP|BOTTOM];(reset_dimensions)]))

•Create alerter (in HTML interactive you can view and turn on/off Alerters that have been created by others using the Java report panel). Workaround: Java Report Panel uses variables as input to trigger Alerters.  Interactive View users can edit variables that change what the Alerters display.

•Structure View

•Print directly via a printer driver in stead of converting to PDF first.


The HTML Report Panel has the following features that the Java Report Panel does not:


Left-hand "Context Panel”

•Document and Data Summary

•Document Structure and Filters – Java Report Panel lists filters within the Report Map, but doesn't have the same User Interface

•User prompt input panel enables on report modification of the filters – In Java Report Panel user “refreshes” to change prompts.


•Edit in-place of cells (Java Report Panel uses formula tool bar only)

•Multiple levels of undo/redo (Java Report Panel has one undo)


The best Web Intelligence experience has always required Java in the web browser and BI 4.0 is no exception.

HTML is (web) and Java-based is(Rich Internet Application)

The web version continues to evolve but is always behind its more powerful Java-based relative..

Important :

You can perform numerous actions on documents with InfoView/Interactive without having to actually open Webi and edit the document in the Java Report Panel itself.


You can modify reports using HTML with the Web Viewer in Design mode, but it is equivalent to the Interactive Viewer in XI 3 and not a true (fully functional) report panel.


Here some more differences between Java and dhtml:


In BI 4.0, the following features are currently exclusive to the Java-based Rich Internet Application:

•Query support for BEx and Analysis Views

•Custom Cascading Style Sheets

•Custom number formats

•Conditional formatting

•Many usability features in the Java-based User Interface, including Data View

• Edit or create BEx data provider 

• BI Web Services

• Data Tab

• Create conditional formatting (aka alerters)

• Change Data provider

• Create report on analysis view



Thank You



Filter Blog

By author:
By date:
By tag: