You are on page 1of 41

Getting Started New sletters

Hi, Guest

Log On

Join Us

Search the Community

Products

Services & Support

About SCN

Downloads

Industries

Training & Education

Partnership

Developer Center

Lines of Business

University Alliances

Events & Webinars

Innovation

More blog posts in

SAP BusinessObjects Web Intelligence

SAP BusinessObjects Web Intelligence

186 Posts

Activity

Communications

Actions

Brow se

Actions

3 13

Login to follow, like, comment, share and


bookmark content.

How to Remove all Spaces from a Text


Posted by Rogerio Plank Jan 14, 2015

Store

Login

Register

Previous
Next

Hi,
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
Rogerio
Plank
Goulart

Regards,
Rogerio

177 View s

0 Comments

open in browser PRO version

Permalink
Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Tags: businessobjects, bi4, business_intelligence_(businessobjects), sap_businessobjects_w eb_intelligence, w ebintelligence,


w eb_intelligence, w ebi, business_intelligence, sap_businessobjects_40, bi4.1, w ebi_tricks, bi41,
sap_businessobjects_w eb_intelligence_4.0, sap_businessobjects_w eb_intelligence_xi_3.1, removing_spaces

A script to get the number of reports and the name of


them in a WEBI Document
Posted by Rogerio Plank Jan 13, 2015

Filter Blog
By author:
--By date:
--By tag:
analytics

bi4 bi4.1

bi41 business_intelligence

business_intelligence_(businessobjects)
Hi,
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 }

businessobjects sap_businessobjects_40

sap_businessobjects_web_intelligence
sap_businessobjects_w eb_intelligence_4.0
sap_businessobjects_w eb_intelligence_xi_3.1

web_intelligence webi webi_tricks


webintelligence

To set the script, drop a blank cell over the report and set it's text to
<script>
numberOfReports = webiViewFrame.DS.arrReports.length;
for(i = 0;i<numberOfReports-1;++i)
alert(webiViewFrame.DS.arrReports[i].name);
</script>
Set the property of the cell "Read As" to HTML.
Cheers,
Rogerio

162 View s

0 Comments

Permalink

Assigning specific colors to selected data series on a


chart
Posted by Rogerio Plank Jan 12, 2015

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

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.

Ill 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.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

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.
Cheers,
Rogerio]

Permalink
204 View s
0 Comments
Tags: businessobjects, bi4, business_intelligence_(businessobjects), analytics, sap_businessobjects_w eb_intelligence,
w ebintelligence, w eb_intelligence, w ebi, charts, business_intelligence, sap_businessobjects_40, bi4.1, w ebi_tricks,
sap_businessobjects_w eb_intelligence_4.0

How to autosave a Document over itself each n


seconds
Posted by Rogerio Plank Jan 9, 2015

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 yourte pressing the save button.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Steps :
- Drop a blank cell onto the report;
- Set its value to :
<script>
setInterval(function () { self.parent.save();} , n*1000);
</script>,
w here n is the number of seconds to the autosave
- Set the cells property "Read As" to HTML.

Cheers,
Rogerio

Permalink
271 View s
0 Comments
Tags: businessobjects, business_intelligence_(businessobjects), analytics, sap_businessobjects_w eb_intelligence,
w ebintelligence, w eb_intelligence, w ebi, business_intelligence, autosave, sap_businessobjects_40, bi4.1, w ebi_tricks, bi41,
sap_businessobjects_w eb_intelligence_4.0, sap_businessobjects_w eb_intelligence_xi_3.1

How to avoid timeout when viewing a WEBI Document


Posted by Rogerio Plank Jan 9, 2015

Hi,
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 youre working with the document in HTML work.
Here are the steps :
- Drop a blank cell over the report;
- Set its value to
<HTML>
<HEAD>
<META HTTP-EQUIV="refresh" CONTENT="120">
<TITLE></TITLE>
</HEAD>
< BODY>
</BODY>

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

</HTML>
- 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,
Cheers,
Rogerio
It works in both BO 3.1 and BO 4.x

Permalink
425 View s
1 Comments
Tags: businessobjects, business_intelligence_(businessobjects), sap_businessobjects_w eb_intelligence, w ebintelligence,
w eb_intelligence, w ebi, business_intelligence, bi4.1, w ebi_tricks, timeout_issue, sap_businessobjects_w eb_intelligence_4.0,
sap_businessobjects_w eb_intelligence_xi_3.1, timeeout

Importance of Reset Dimension Parameter in Rank


Funtion.
Posted by A Ganesh Jan 8, 2015

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,

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

=Rank([Measure];Top/Bottom;[Dimension])
example:
=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.

247 View s

0 Comments

Permalink

Differences between the HTML query panel and the


Java query panel in Web Intelligence
Posted by A Ganesh Jan 7, 2015

Hi,
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:
Sub-queries
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

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

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.
Zoom
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

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

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
Ganesh.

470 View s

1 Comments

Permalink

How to set a WEBI document to autorefresh each n


seconds
Posted by Rogerio Plank Jan 5, 2015

Hi,
there are a lot we can acomplish using Javascript from within a WEBI document. But it will only work if your viewwing
the document through the HTML client.
For this first blog post, I will show how to set a Document to autorefresh itself each n seconds.
What you have to do is :
- Create a Document and set it to refresh on open;
- Drag a blank cell over the report and set its text to
<script>
self.parent._askConfirmationBeforeClosingDoc=false;
setInterval(function(){window.parent.parent.location.reload();},n*1000);
</script>
where n is the number of secons to refresh,

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Save the report.


Re-open , right click on the blank cell inserted , choose 'Format Cell' and under 'Read content as' choose HTML.
Save the report again.
Thats it, it will refresh each n seconds without manual intervention.
Cheers,
Rogerio
It works in both BO 3.1 and BO 4.x

Permalink
569 View s
17 Comments
Tags: businessobjects, bi4, sap_businessobjects_w eb_intelligence, w ebintelligence, w eb_intelligence, bi4.1, w ebi_tricks,
bi41, refresh_multiple_pois, sap_businessobjects_w eb_intelligence_4.0, sap_businessobjects_w eb_intelligence_xi_3.1,
autorefresh, self_refresh

All you need to Know about IN, ForEach & ForAll


Context Operators
Posted by Amrendra Kumar Dec 19, 2014

Hi All,
In this blog post Getting to know about the Context Operators (IN, ForEach and ForAll). First let me explain on this; IN,
ForEach and ForAll these three operators are called Context operators. Do you know, why today i would like to share
my knowledge about this topic because context operators mostly used in webi report.
Even you know by using (IN, ForEach and ForAll) operators; you just like Kill Two words with one stone, in other
words to solve two problems at one time with a single action.
Have you ever noticed that IN, ForEach and ForAll these three webi functions like poweful keywords which most/
mostly serachable in Google search engine. Also in this blog post i covered all aspects about context operators;
when any why required at the time of creating webi report.
I explain on these three operators below using an example:
In context operator - when / why we use?

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

For to me using In context operator to specifies dimensions explicitly in a context.


Example:- you have a report showing Year and Sales Revenue, but our requiremnent is to add one more column
which showing maximum revenue by quarter. also you have the Quarter object in query panel but you do not include
this dimension in the report block. Instead, you want to include an additional column to show the maximum revenue
by quarter in each year.
Solution:- By Using the In context operator, you can achieve the Max Quarterly Revenue using below formula.
Max ([Sales Revenue] In ([Year];[Quarter])) In ([Year])
Finally Your report looks like this:

ForEach context operator - when and why we use?


For to me using the ForEach operator to add dimensions to a context.
Example:- How To show the maximum revenue for each Quarter in a report which having the Quarter dimension in
query panel but does not include it in the block:
Solution:- Using the ForEach context operator, you can achieve the same result with using below formula:
Max ([Sales Revenue] ForEach ([Quarter])) In ([Year])
How does work/ Above formula explanation:- You know Year dimension is the default input context in the block. So, by
using the ForEach operator, you add the Quarter dimension to the context, by giving an input context of
([Year];[Quarter]).
Finally Your report looks like this:

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

ForAll context operator - when and why we use?


For to me using the ForAll context operator to remove dimensions from a context.
Example:- You have a report showing Year, Quarter and Sales Revenue and you want to add a column that shows the
Yearly total revenue.
Solution:- Using the ForAll context operator, you can achieve the same result with using below formula:
Sum([Sales Revenue] ForAll ([Quarter]))
How does work/ Above formula explanation:- By default you have input context (Year; Quarter), for total revenue by year
the input context needs to be (Year); Therefore, you can remove Quarter from the input context by specifying ForAll
([Quarter]) in the formula, which looks like above.
Note:- You can also achieve the same result by using the the In operator; in this case the formula is below:
Sum([Sales Revenue] In ([Year]))
Finally Your report looks like this:

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

I hope you enjoyed lots and learned something new while reading this document.
Cheers,
Amrendra

Permalink
487 View s
2 Comments
Tags: businessobjects, bi4, sap_businessobjects_w eb_intelligence, w ebintelligence, w eb_intelligence, context, w ebi,
functions, foreach, bi4.1, operators, w ebi_tricks, sap_businessobjects_w eb_intelligence_4.0,
sap_businessobjects_w eb_intelligence_xi_3.1, forall

How to set user level security in a report at cliente side


Posted by Rogerio Plank Dec 18, 2014

In this blog post I would like to share a way to set user level security to a WEBI report.
By user level security I mean restricting the visualization of certain partsa of reports to some
users, based on a user secutity level.
For the sake of demonstration I will work with three users and three levels of security.
open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

This are my users and their security levels


user

level
sec

Roger

etizz

humga

I will use an Excel sheet as a DP to hold these data.


There are some restritions on the use of this approach. In order this to work, users can only
visualize the documents, not being able to edit it.
I will use e-fashion with the following objects in the result of my query :
State, City , Lines , Category and Sales revenuee
My user profile will be :
level sec = 1 - Users can see State , City and Sales Revenue;
level sec = 2 - Users Can see State, City, Lines and Sales Revenue;
level sec = 3 - Users can see all data.
To start, I create a document with my query from e-fashion :

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Which gives me the following table

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

After that, I import my Excel sheet as a personal DP, which gives me the following tables :

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Create a variable global_user_sec = =([level sec] Where ([user]=CurrentUser())) In Report,


This will give me the users security level according to my users table.
Then I can create two dim variables :
{Lines security] = If( ([ global_user_sec] >=2;[Lines]) and
[Category security] = If ( [global_user_sec] >=3 [Category]).
Dropping [State], [City] , [Lines security] and [Category security] and [Sales revenue] will do the trick.
Cheers,
Rogerio

461 View s

3 Comments

open in browser PRO version

Permalink

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Tags: businessobjects, bi4, sap_businessobjects_w eb_intelligence, w ebintelligence, w eb_intelligence, business_intelligence,


sap_businessobjects_40, bi4.1, w ebi_tricks, sap_businessobjects_w eb_intelligence_4.0,
sap_businessobjects_w eb_intelligence_xi_3.1, user_security

Revisit the Sizing for your deployment of BI 4.x Web


Intelligence Processing Servers!
Posted by Ted Ueda Dec 18, 2014

Happy Holidays! Hope you've all had a good 2014. Before closing out this Year, I'd like to put up a reminder:
Revisit the sizing of Web Intelligence Processing Servers on your deployment of SAP BusinessOb jects BI 4.1
If you've done so in the past eight months or so, that's great! But pencil that task into your calendar for 2015.
If you've haven't done so in a year, then I strongly recommend scheduling a sizing exercise for 2015Q1.
I support Web Intelligence. I've supported it since before BI 4.0 Ramp-Up, through its General Availability on
September 16, 2011, and to now with BI 4.1
It's been over four years, and through all the years, the three most important considerations that affect the smooth
operation of BI 4.x WebI on your system is (1) sizing, (2) sizing, and (3) sizing.
If the sizing of your BI architecture is wrong, then you're going to face issues with performance, stability and
availability, if not now then in the near future as demand on your system steadily grows. You might even find yourself
spending quality time with me on the phone, and one of the first things I'll be asking you is "When did you last size
your system?"
If the answer is before February 2014, then I'll be pointing you to the

Business Intelligence Sizing and Deployment

page, where you'll find the BI 4 Sizing Guide, updated February 2014. There's been changes to the recommended
configuration of Web Intelligence in the newest edition of the Guide.

Rule: Always start your sizing exercise using the most


recent Sizing Guide
When you get to the Sizing page, I recommend you click the "Follow" page, so that you'll be notified whenever the page
is updated. Or go to https://service.sap.com/sizing and find the BI 4 Sizing Guide, where you can "Subscribe" to the
Guide and be notified when it's updated.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

There were changes to the recommended configuration of Web Intelligence services in the latest update, so I highly
recommend reading through the entire Guide, just to make sure your BI 4.1 deployment is following recommended
practices.
I've spoken with the Platform Product Owner, Sada, and he anticipates no changes to the Sizing Guide until at least BI
4.2. But don't take my word for it. Before starting any sizing exercise, make sure you go and download the latest
version of the Guide.

Rule: Do not use XI 3.1 sizing guides or best practices


to size BI 4.1
One time, a customer pulled up their architecture deployment sizing document for their BI 4.0 system and in there
was a references to XI 3.1. Turns out they had been keeping the same sizing architecture since their XI 3.1 days. That
definitely did not work, and they had lots of issues that mostly disappeared once they had redone their sizing exercise
anew.
XI 3.1 and BI 4.1 are entirely different beasts, and trying to fit BI 4.1 components into a XI 3.1 architecture plan is like
harnessing thoroughbreds to a dog sled. No matter how strong the beasts, they're just not gonna perform well when
they keep tripping over each other and getting into each other's way.
The major differences between the two versions:
BI 4.1 WebIPS is a 64-bit process. XI 3.1 runs as a 32-bit process, even on 64-bit machines.
BI 4.1 WebIPS delegates query and chart generation to a different Service. XI 3.1 the generation is in-process.
Because of these differences, the sizing best practices developed for XI 3.1 is inapplicable, even harmful, to BI 4.1
Let's walk through the best practices we had for XI 3.1, and compare to BI 4.1:

XI 3.1 - deploy one WebIPS for each CPU core on the machine.
BI 4.1 - deploy one WebIPS per machine.
There wasn't a real good reason why you'd want to tie the number of XI 3.1 WebIPS to the number of CPU cores - the
WebIPS threading model parallelized concurrent report processing requests just fine across multiple cores. Each
thread would process a single document request, but the threads can run on different CPU cores. WebIPS does not
impose CPU core affinity.
XI 3.1 being 32-bit meant that memory resource limited how many processing jobs a single WebIPS could efficiently
handle. Back then, proper management of memory utilization was an important part of sizing WebI. Increased usage
would quickly demand more processing power to be added to the mix, and because of the memory limits, the only
reliable way was to add additional WebIPS to the deployment. Having one WebIPS per CPU core was just a pretty

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

good rule-of-thumb when it came to deciding whether you needed to add additional machines to the system.
But BI 4.1 WebIPS is a 64-bit process, and has a much expanded memory space. If I had a nickel for every time I've
had to recommend customers alter the memory handling setting for their BI 4.x WebIPS, then I could afford, well, not
even a stick of gum.
As you can see in the Sizing Guide, the BI 4.1 WebIPS is limited by IO. You want to ensure the WebIPS have access
to as much IO bandwidth as possible, and that means, especially on Virtual machine environments, having just one
WebIPS per machine.
Very early on in BI 4.0, there was an issue with WebI failover across different machines (a problem with the Document
Recovery Service), so I used to recommend two WebIPS per machine (failover of WebI Sessions on two WebIPS on
the same machine doesn't require use of the Document Recovery Service). But that time is long past.

XI 3.1 - set the Maximum Connections at 50 to start, increase slightly if necessary.


BI 4.1 - set the Maximum Connections at 200 to start, increase slightly if necessary.
Maximum Connections is generally determined by the number of active users you have on the system. If you
anticipate about 200 active users on the system at any one time, then you can set the Maximum Connections to 200.
But that might be problematic, since the WebIPS will keep a Connection open till idle timeout. So even if you have at
most 200 active users, there might be slightly more than 200 open connections. Thus the recommendation to
increase the number slightly above the number of active users.
The change from the older Sizing Guide is that, with testing, the "sweet spot" for the BI 4.1 was determined to be 200
maximum connections - that the WebIPS for 4.1 was more than capable of handling beyond 50 connections.
If you do have more than 200 active users, then bringing in a new machine into the cluster, to deploy new WebIPS,
should be a consideration.

XI 3.1 - configure Output Cache Directory for all WebIPS on a common network share.
BI 4.1 - configure Output Cache Directory for WebIPS on local disk and do not use network share.
When the WebIPS first opens a WebI document, it has to unzip the wid file and parse the contents to build an internal
representation of the document. It then caches this representation to disk, that it uses subsequently for further
processing. This opening/unzipping/parsing does take a bit of processing. The good thing is that the WebIPS, when
asked to open the same document, first checks to see if there's already a cached representation from when it opened
the document earlier. If there is, it proceeds to process the cached version, so that it doesn't have to spend the time
opening/zipping/parsing the wid.
Now, all WebIPS that share the same Output Cache Directory can share any cached representation stored to disk by
any other WebIPS.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

This improves performance on opening a WebI document on deployments where there are many WebIPSes running.
A given WebI doc needs only be parsed once, then the cached representation can be used on subsequent requests
for the same doc, regardless of which WebIPS the request goes to.
In XI 3.1, there were usually a lot of WebIPS running around. One per CPU core, one each for 50 active users. It
wasn't surprising for me to work on systems with more than 16 WebIPS, clustered. If there were no cache sharing,
then the high likelihood of hitting a WebIPS that hadn't already cached the document was high enough to bring down
the performance.
But for BI 4.1, there would be far less number of WebIPS running on the system, since it's recommended to have one
per machine, one per 200 active users. Instead of 8 XI 3.1 WebIPS, there would be 2 BI 4.1 WebIPS. Far less chance
of a cache miss. Furthermore, since what limits BI 4.1 WebIPS is IO, every request to the cache would have a
performance hit if the cache was located on a network share.
Because of this, the recommendation for BI 4.1 WebIPS is to configure the Output Cache Directory to fast local disk.
There are other considerations that may discourage setting the Cache Directory to a network share. There's an issue
with older builds where, if the Cache Directory points to a network share, cleanup is not done and can fill up the disk
(SAP KBase 2050700). Network access issues can cause the WebIPS to hang (SAP KBase 1757824). Network
issues affecting cache access can even cause the WebIPS to shut itself down intermittently (SAP KBase 2057341) I've resolved intermittent WebIPS shutdown issues by moving the cache to local disk.
All in all, it's better in BI 4.1 to have Output Cache Directory point to local disk.
If you do have a very complex and large WebI document that takes significant time for the WebIPS to parse the wid on
open, what you can do is create a Server Group containing a specific WebIPS. Then all processing request for that
WebI doc would preferentially go to that WebIPS and no other, so would consistently open from cache.

Rule: Revisit Sizing Regularly. And Remember that the


Sizing Guide is a Starting Point - a Guide and not the
Rule
Remember that usage of your BI system will change with time - new documents will be created, the amount of data
reported on will multiply, and the number of users consuming reports will increase. That's a good thing, since that
means your users think the BI system so good that they want to use more of it. But that also demands the necessity
of continuously revisiting sizing: determining the number and size of documents being processed by reporting off of

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

auditing and monitoring the load on your WebIPS.


Resize your system, at least once a year.
And remember that the BI 4 Sizing Guide is a starting point. The people who wrote the Guide are pretty sharp, and
have done a lot of testing to make sure what they recommend is reasonable. But the tests they ran, the level of activity
for an "active user" that they considered, the typical size of a "large" WebI document they used, will all differ from your
actual deployment. Only you know what's going on in your system, and ultimately, sizing means tuning. Although you
might size the system once a year, monitoring the heath of your system must be done continuously.

Rule: Split and Size the Adaptive Processing Server


This is a very important rule, and a subject unto itself. I'll leave this subject for my next blog entry.
I will say this: the out-of-the-box default deployment of BI 4.1 has a single Adaptive Processing Server that is
inadequate for any purpose other than a POC on a single machine. If the APS isn't split and sized correctly (SAP
KBase 1694041), your deployment will encounter issues.

Summary
The most important consideration that will ensure a stable and performant processing of Web Intelligence on SAP
BusinessObjects BI Platform 4.1 is sizing. In this blog, I briefly covered sizing of the Web Intelligence Processing
Server. Next blog, I'll briefly cover the sizing of the Adaptive Processing Server.

Permalink
1437 View s
9 Comments
Tags: bi4, sap_businessobjects_w eb_intelligence, w eb_intelligence, w ebi, sizing, bi41,
sap_businessobjects_w eb_intelligence_4.0

Hyperlink or link between two documents - How to


open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Create in Webi Report


Posted by Amrendra Kumar Dec 11, 2014

Requirement- How to Create Hyperlink in SAP Web Intelligence Report or, How to link between two documents in (3.x
or 4.x)
Solution

Create two reports in Web Intelligence and export both into the Repository.

Take on example, the First report shows the sales value and quantity for all the states (in aggregate) and second

report shows the sales values detail for the particular selected state.

To create Hyperlink in first report, open Infoview or LaunchPad and open the WebIntelligence document .

Just click on the report elememts tab which shown above > click on document or hyperlink tab.

Select the Object that is to be linked with the second report then RIGHT CLICK > Hyperlink > New

A new window will open for creating hyperlink as shown below, select Link to document tab
Click Browse, select the second report and select ok.

Select Refresh on open option under Hyperlink properties in Create Hyperlink Window and select the options

like: (you want to open in same window or new window).

Then the report will open, as hyperlinks for the object that is selected.

Click the link from Infoview or LaunchPad, which leads to second report after a confirmation from default web

browser. Click Ok.

Permalink
253 View s
0 Comments
Tags: documents, create, w ebi, hyperlink, linking, tw o, betw een, sap_businessobjects_w eb_intelligence_4.0

Merging queries with a 1 to N relationship


Posted by Rogerio Plank Dec 10, 2014

Today I would like to show a way to merge two queries with a 1xN relationship.
WEBI is good on merging queries ( DP1 and DP2 ) in which for one row of DP1 theres, at most, one row in DP2 and
vice versa.
When you come to a situation in which for each row in DP1 you can have more than one row in DP2 its a problem.
Lets take an example. Suppose you have a query with students I will call it DP1. In DP1 you got: Student code,

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Student Name, Mothers name and a measure (meas1). A second query DP 2 contains the course in which students
are enrolled, DP2 has Student code, Student Name, Course code and a measure meas2.
Each student can be enrolled in zero or more courses
I will populate this queries with the following data :
DP1
Student code
B1

Student Name
Roger

Mother's Name
Jeanne

meas1

B2

Nadia

Maria

B3

Cecili

Nadia

Student code

Student Name

Course Code meas2

B1

Roger

Course1

B1

Roger

Course2

B1

Roger

Course3

B2

Nadia

Course1

DP2

My task here is to bring all data in a single table, like :


Student code

Student Name

Course Code

Mother's Name

B1

Roger

Course1

Jeanne

B1
B1

Roger
Roger

Course2
Course3

Jeanne
Jeanne

B2

Nadia

Course1

Maria

B3

Cecilia

Nadia

The data is on two MsExcel sheets , so, firstly, I need to import it to WEBI Rich Client.
After importing the sheets, thats how my data looks like.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

I will merge the two queries on Student name and Student code, which are the common objects.
A table with the merged Student name and Student code will present the data from both data providers.
To show the not merged dimensions coming from DP1 and DP2, I must create detail variables. Lets do it with
Mothers name

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

For Mothers name detail I choose , for the associated dimension the merged Student code. Dropping it on the table
containing merged Student code and merged Student name :

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

The challenge now is to bring course code into the table. If I create a detail variable over course code , this will

generate a #MULTIVALUE error since , for example, Student Rogerio is enrolled in 3 courses.
So, we need to , force the relationship to be reflected on the table. We can achieve it by dropping the Course code
dimension in the table, which will result in the following table :

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

The problem here is that Student Cecil that isnt enrolled in any course wont show up.
In order to show Cecil, select the table , right click and go to Format table and check Show rows with empty
dimension values
Now the table shows the value for Cecilshows up

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

As a rule of thumb , when trying to merge DPs with a 1xN relationship :


1 Merge the common fields;
2 Use the dimension coming from the N side query;
3 Create detail variables from the 1 side query for each dimension needed with associated dimension equal the
merged dimension;
4 Check Show rows with empty dimension valueson Table formatting for each table using dimensions coming
from both queries.
Any comments will be much appreciated.
Cheers,
Rogerio

Permalink
450 View s
2 Comments
Tags: bi4, sap_businessobjects_w eb_intelligence, w ebintelligence, w eb_intelligence, w ebi, business_intelligence, dimensions,
sap_businessobjects_40, merged, merging, bi4.1, merged_dimensions, w ebi_tricks, bi41,
sap_businessobjects_w eb_intelligence_4.0, w ebi_tricks;, 1xn_relationship, merged_queries

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

How to Find Matches e No Matches in Dimensions


from 2 Queries (Union, Intersection and Difference)
Posted by Rogerio Plank Dec 8, 2014

Hi,
this blog post is about creating Set Operations , at Report side,
There are a few restrictions on using Combined Queries to get Union , Intersection or Minus queries. Some of them
are
1 - One cannot perform Combined Queries over different DP;
2 - The objects used on the Result Set couldnt appear on the query panel;
3 - The objects for both queries must be in the same order, be of the same type and be on the same number (if you
retrieve 3 objects from the first query, you must retrieve the same numbger on the other(s) query(ies).
The approach suggested allow users to combine different DPs, with different number of objects and with different
types.
As I cannot demonstrate properly how it works using e-fashion, I will use two excel sheets . The Excel sheets
represents some People registered for 2 different course, lets say Course 1 and Course 2.
Course 1 contains the following information :
Student Code, Student Name , Student Addres, specialization and measure From DP1
Heres the data for Course 1
student code

student name student

specialization measure

address

From DP1

Roger

St 1 13

Cooking

Maria

St 2 14

Engineering

Nadia

St 3 15

Writing

Robert

St 3 16

Cooking

Marcus

St 3 17

Engineering

Ana

St 4 18

Writing

Emerson

St 4 19

Cooking

Humberto

St 5 20

Engineering

Claudia

St a 21

Writing

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

10

Roberta

St b 22

Cooking

10

Course 2 is composed by
Student Code, Student Name , Student Addres, Interest and measure from DP2
and heres the data for Course 2
student

student name student

code

Interest

address

measure
from DP2

Roger

St 1 13

Repolrting

Robert

St 3 16

Big Data

Marcus

St 3 17

Visualization

Ana

St 4 18

Repolrting

Emerson

St 4 19

Big Data

11

Paulo

St 4 20

Visualization

11

12

Sergio

St 4 21

Repolrting

12

13

Margarida

St 4 22

Big Data

13

14

Nair

St 4 23

Visualization

14

All objects except [measure from DP1] and [measure from DP2] are dimension, both are measures.
The challenge here is to determine, at report side :
The Union of both queries and display it on a table .([student sode] coming from either queries
The same for Intersection ([Student Code] that belongs to Query 1 and Query 2 simultanesously) , Course 1 - Course
2 (]Student Code] that is in Query 1 but not in Query 2) and Course 2 - Course 1 ([Student Code] in Query 2 but not in
Query 1) . Based on student code.
Firstly I will import both Excel sheetsa into WEBI Rich Client which gives the following tables

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Then I will merge both DP in [student code], [student name] and [student address] , and Create detail variables for the
other dimensions ([specialization det] and [interest det]) based on the merged [student code] dimension
Create two measures variables [Test 1] = If( Not ( IsNull([val1]));1;0) and [Test 2] = If(Not(IsNull([val 2]));1;0)
The Union is given , by default droppoing the three merged dimensions and the detail variables on a table

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

[Intersection] = If ([Test 1] = 1 AND [Test 2] = 1;1;0)


[Course 1 - Course 2] = If( [Test 1] = 1 AND [Test 2] = 0;1;0)
[Course 2 - Course 1] = If([Test 1] = 0 AND [Test 2] = 1)
Filter by the "1" on the desired Operation ( Intersection , Course 1 - Course 2, or Course 2 - Course 1 ).
Heres the table with all the test.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Cheers,
Rogerio
Thanks to Mak 1 from BOBJForum for his help

Permalink
493 View s
0 Comments
Tags: w ebi, business_intelligence, set, union, merged, merging, intersect, sap_businessobjects_w eb_intelligence_4.0,
sap_businessobjects_w eb_intelligence_xi_3.1, minus

How to pass a parameter to a WEBI doc


Posted by Rogerio Plank Dec 8, 2014

Hi All,
Today I would to share a way to pass a parameter to a WEBI document through a prompt..
Heres the cenrio :
I would like to display in a chart with data from e-fasion a threshold of [Sales Revenue] so that, if the sales are above
that threshold, I could give na alert..
Lets work wth a threshold of 6,000,000.
Heres how my query looks like

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

And my Report

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

One can easily achieve it by setting na alarm on the column like

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

But what if this threshold value is dynamics so users wants to alter it whenever they need it. ?
This solution gets the user this ability by simply setting a prompt when refreshing the document.
To do so, I create a dummy query filter. What I call a dummy query filter is a filter that always evaluates true,
independen of the value entered.
For the puspose of this example , I will create a dummy filter on State.
Heres how it Works :
1 Create a filter on State with a prompt

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

2 - In your report , create a measure variable [Threshold] = ToNumber(UserResponse(Threshold);"00000").


Since a string starting with a number character is always less than any string starting with a letter, the dummy filter
will always evaluates, independent of the value enterered.
Running a query with a threshold value of 1500000

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

3 Set the alert to

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

And thats it
Cheers,
Rogerio
Comments are mostrly welcome

356 View s

4 Comments

Permalink

Site Index

Contact Us

open in browser PRO version

SAP Help Portal


Are you a developer? Try out the HTML to PDF API

3 13

Previous
Next

Follow SCN

pdfcrowd.com

Privacy

Terms of Use

open in browser PRO version

Legal Disclosure

Copyright

Are you a developer? Try out the HTML to PDF API

Follow SCN

pdfcrowd.com

You might also like