1 2 3 11 Previous Next

SAP BusinessObjects Web Intelligence

158 Posts

Have you ever used multiple selection type Input Controls in your Web Intelligence report?

 

Did you ever find it frustrating that WebI refreshes the data view before you were done selecting all of the values you wanted in that input control?

 

Starting in SP05 for BI 4.1, WebI has a new feature to add an "OK" button for "Multiple Selections" type Input Controls for Check Box and List Box.

 

It can be enabled or disabled in existing Check Box Input Controls by using the edit option in Design Mode or when first adding the Input Control.

 

The OK button is enabled automatically for the List Box Input Control and cannot be disabled.

 

How does it work?


Let's take a look at an example using the eFashion sample data source.

 

We've added an Input Control of Check Box type for Stores to allow users to narrow down the Sales Revenue they see for the selected stores only.

IC.png

 

The existing behavior is that WebI will refresh the view of the report to only show the data of the selected check box AS IT IS SELECTED.  If you want to select 4 stores, the view will update 4 times after each check is made.


With the new addition of the OK button, the view will not update until the user clicks the OK button.  This way, your user can select all 4 stores, then click "OK" to have the view refreshed.

 

This can be a huge time saver when your report contains a lot of data.

 

 

What does it look like?

 

List Box Control Example:

LBIC.png

 

 

Check Box Control Example:

CBIC.png

 


How do you enable the OK button for the Check Box Input Control?


Existing Input Control:

  1. Open the report in Edit/Design Mode
  2. Select the Input Control menu on the left hand side
    • ICMenu.png
  3. Hover over the input control to display the interactive icons
    • ICEditWrench.png
  4. Click the wrench icon to edit the Input Control
  5. Click "Yes" next to "Display selection OK button"
    • OKButtonYes.png

 

New Input Control

  1. When adding a New Input Control, only the "Multiple Selections" types will have the OK button and only the Check box type will allow you to enable or disable the display of the OK button
  2. The option to enable it is the same as above.  Under the Input Control Properties, you will check the box next to "Yes" for "Display selection OK button":
    • OKButtonYes.png

 

Let us know what you think!

 


REFERENCES:

 

For more information on what's new in BI 4.1 SP05, check out the SP05 What's New Guide found on the SAP Help Portal.

Hi everyone!

 

Some of you may have seen my wiki on Web Intelligence GUI Customization that came out with BI 4.1.

 

In BI 4.1 SP05 we have added onto this functionality by allowing you to do this customization on a per folder basis instead of just globally.

 

Customizing the interface is still done at the group level in the CMC by just right clicking on the group name and select Customization.

 

CMC_interface.png

 

You will now see the following screen:

 

FolderandGroupPanel.PNG

 

The basics for setting up the User Interface Elements, Features, and Extension are still the same as they have been.  You can click the link above to view the wiki that explains the features.

 

The new functionality is being able to set this up on a per folder basis.

 

The Customization folders section contains a folder named Default Folders, which is used to define default customization.

 

You can choose folders for which you want to apply specific customization by clicking the Add Folder button.

 

AddFolder.PNG

 

 

You can avoid redefining the same customization for other folders by copying customization from one folder to another by using Duplicate Customization and Paste Customization options from the drop-down list. If you want to remove customization for a specific folder you can click on the Remove folder option from the drop-down list.

 

DropDownList.PNG

The following rules are used to define customizations to apply to a user:

  • If the user belongs to different groups, only the customization defined to the group whose ID is lower applies. The customization defined for the other groups containing the user does not apply.
  • For nested folder structure, the immediate parent folder of the document that has been added in the list of customized folders defines customizations for the document for user interface elements, features, and extensions.
  • The customization defined for Default Folders apply for the documents stored in Personal Documents and Inboxes, and for documents for which the parent folder is not customized.
  • The customization defined for user interface elements have priority over customization defined for features as features is only a shortcut to enable all user interface elements.

 

I hope this helps!

 

Please leave any comments or suggestions below.

 

Best Regards,

Jason

As many have heard, free-hand SQL is making its long awaited debut in BI4.1, in the form of SP05. As an engineer in the Webi Product Support team, I was pretty excited to have access to an early release of the product, so I decided to test it out.

 

I've been with the company since the BO6.5 days and like many of our loyal customers, I liked Deski. It was feature rich and many times, for whatever reason, worked faster than Webi. One of the features it had was the ability to create reports using free-hand SQL.

 

One of the many benefits of using free-hand SQL was the fact that a Universe wasn't needed. All a report designer needed was a connection to the reporting database and their SQL skills. Custom SQL was directly entered into a dialog box in Deski and data was returned. No muss, no fuss.

 

Because of the deprecation of Deski in BI4.0, and free-hand SQL not yet a part of the features in Webi, many of our customers refrained from upgrading. Now I know upgrading isn't fun, especially a robust product like SAP BusinessObjects Enterprise, but at least we can cross off the inability to use reports created using free-hand SQL as a reason. I had limited time with the pre-release of Support Package 05, so I was able to do a simple test. I've documented my experience and recommend extensive testing for anyone interested.

 

*Note* You can't actually refresh a migrated Deski report in BI4.1. I just want to make it clear that Deski isn't back. However, with Support Package 05, we now have the ability to convert FHSQL Deski reports into Webi reports.

 

Step 1: Create a Deski report in XI3.1 with FHSQL. Ahh the good 'ol days. Unfortunately, I realized my SQL skills are a little rusty. So I created a very simple one. I chose Free-hand SQL as my datasource.

Picture1.png

Step 2: Create a connection to the reporting DB.

Picture2.pngPicture3.png

 

Step 3: Enter the custom SQL in the dialog box and click Run. Voila! Save and export the report to the repository. I created a second report with an @variable defined. In my case a prompt for Country.

Picture4.pngPicture5.png

 

Step 4: Create a .biar file with my reports. The Source system is XI3.1 and the destination is a .biar file. Because this was a simple test, the things I brought over are just the 2 reports.

 

Picture6.png

Picture7.png

Picture8.png

Picture9.png

 

Step 5: Bring the *.biar file to the BI4.1.5 environment and use Upgrade Management Tool to import the FHSQL reports. I'm sure Promotion Management Tool would work too, but because this was a simple test with just 2 reports, UMT was used.

Picture10.png

Picture11.png

Picture12.png

Picture13.png

Picture14.png

Step 6: Once the Deski FHSQL reports are imported, use the Report Conversion Tool to convert them to Webi

Picture15.png

Picture17.pngPicture16.png

Picture18.png

Picture19.png

Step 7: Confirm that the Webi reports have been created and published.

Picture20.png

Step 8: Moment of truth! I refreshed the Webi report with the prompt to make sure it worked. I initially created the report with "US" as a prompt value (shown). I changed it to France to make sure that it without a doubt refreshed!

Picture21.png

Picture22.png

 

I was quite happy and impressed with how well it worked. Don't get me wrong, I ran into a few issues which I will talk about in a separate blog, but once I overcame those challenges, things worked beautifully. Back in the Deski days, Report Conversion wasn't a trouble-free task. Regular reports didn't convert for a number or reasons let alone FHSQL reports. SAP has brilliant customers that do amazing things with our product. Things we maybe didn't think of doing, or testing. I remind you again that even though the above test worked awesomely, they really were simple reports. So if you're considering upgrading now that Support Package 05 is available, TEST, TEST, and TEST some more. Good luck!

In support, we get a lot of questions and feature requests.

One request that has passed my desk a few times is the ability for a webi document to use an unmanaged Excel spreadsheet as a data source.

 

You might not be familiar with the term "Unmanaged" so I'll explain a little.

 

BI 4.1 SP02 introduced a new feature that allowed you to base a Webi Document off of an Excel spreadsheet that was published/saved to the BI Launchpad environment. This is referred to as a "Managed" object within the BI Platform.  A Managed object is something that is imported into the BI repository and that is managed by the CMS.   This is great if your data is static in the Excel sheet but lacks functionality if the data is being updated frequently.

 

So, the question has come to me a few times now:  Can we have a Webi document use an Excel data source that is "Unmanaged"?  Meaning it is not published within the BI Platform and exists on a network share.

 

I didn't know if this was possible at first but after about 10 minutes of playing around, I was easily able to accomplish this using the below steps.

 

Keep in mind this is just a simple walk-through and doesn't cover all scenarios, but this should give you the basics on creating a Webi document that will refresh against an Excel data source that exists outside the BI Platform environment.

 

So, here we go:

 

  1. First, place your Excel file on a network share.  You can see below, mine is on a share called:  \\bipw08r2\dataSource\data.xlsx
    networkshare.png
  2. The data is simple in this example.  3 columns and 4 rows of data to start. 
    exceldata.png
  3. Open Webi Rich Client (WRC) and create a new doc.  Choose Excel as the data source
    chooseExcelDS.png
  4. Type in your network share name in the File Name box.  Select your xlsx sheet as I did below
    loadfromnetwork.png
  5. The Custom Data Provider - Excel dialog will allow you to choose a source path, sheet, range, etc... 
    CustomDS.png
  6. After you select your options, you will see the Query Panel.  Note the Source Path shows the network share and the Result Objects/Data Sample reflect what is in my sample xlsx.
    querypanel.png
  7. I click Run Query and see my Webi document with the data from my spreadsheet.
  8. To ensure my Webi Doc is refreshing, I am add a new row to my spreadsheet and save it to my network share location
    add-data.png
  9. I then refresh my Webi Document and see the new row appear.
    refresh-wrc.png
  10. I save my Document out to my BI Platform using the "Save to Enterprise" option under the Save icon in WRC.
  11. Then I open up a browser and login to BI Launchpad.  I navigate to the folder where I saved my document.Save to BIP.png
  12. To test that my BI Launchpad report is refreshing against my network data source, I update the Excel spreadsheet and add a row. 
    add-data-2.png
  13. Then I refresh my document in BI Launchpad to ensure the new row is there
    refresh-bilp-newdata.png
  14. I now have a report that will use an Excel sheet off of a network share to get data.   This gives me some more flexibility around my data for my report.

 

 

There are a few things that you will want to watch out for with this option.  I've documented the ones that come to mind below:

  • In most cases, the SIA (Server Intelligence Agent) will need to run as a network account that has rights to this network location.
  • You will need to ensure you have an Adaptive Processing Server that has the Excel Data Access Service running on it (and enabled)
  • Only the Applet Interface and WRC interface support modifying/creating Excel data sources for Webi Docs
  • The "refreshable" option will need to be selected for the Data Provider in order to refresh a document
  • The "editable" option has been removed in later versions of BI 4.1 because it was not needed for Excel data sources and did not do anything except cause confusion to end users.

 

That's it!  I'd love to hear from anyone using this in the real world.  Are there any gotchas?

 

Thanks!

Jb


Rakesh Pattani

Merging Charts in WebI

Posted by Rakesh Pattani Nov 16, 2014

Even though the title tells about merging the two charts, in reality this is not possible in Webi . The idea is to trick WebI by putting the chart on top of each other in such a way that they appear to be merged . The idea for this blog came from the following query posted in the forum.

http://scn.sap.com/thread/3652142

 

Requirement

To plot a Cross tab into a Bar/Line chart in such a way that Measure 2 forms a bar chart for all Zones for a particular Date and Measure 1 forms a Line chart for each Zones for a particular Date. This is the tricky part because we need 2 measures to behave in 2 different way in the same chart. To my knowledge this cannot be achieved in a single chart and hence we will plot them separately and then merge them.  Pic1.JPG

 

Preparing the Dataset - First we will create a data set for plotting our graph


Below is a Crosstab table which has Date along the Vertical Axis and Zone along the Horizontal Axis and a Measure Amount on the Body Axis

 

Pic2.JPG

 

Also will create a variable Average which will be Measure 2 and add a column at the end of the table. So, that’s how the table and our data objects looks like

 

Pic3.JPG

Plotting the Chart


Now we will try to plot this data into a Bar/Line. We will select the Combined Column Line chart. X Axis will be the Date. Value Axis will be the Average(Bar) and Amount(Line). And since we need the Line chart for each Zone, we will select the Region Color as Zone.Pic4.JPG

Right Click Chart -> Format Chart and make sure you select the below option from the Measure properties. So that Average is Bar and Amount is Line.

Pic5.JPG

And we get the below Chart. The issue with this is; the Average also get separated for each Zone which is not something that we want. We want the Region Color to be applied only on Amount and not on Average.

 

Pic6.JPG

Workaround - Following are the steps taken for the workaround.


       1. Create 2 separate charts

       2. Format the charts

       3. Place the chart on top of each other

 

Creating a Bar Chart

 

Create a bar chart for the Average as shown below. We will not select Region Color since we don’t need this to separate into the Zones.

 

Pic7.JPG

This is how the chart looks like and exactly what we want.

 

Pic8.JPG

Creating a Line Chart


Create the Line Chart. Here we will select the Region Color since we want to separate the Amount into zones

 

Pic9.JPG

This is how the chart looks like and exactly what we want

 

Pic10.JPG


Formatting the Bar Chart


First we need to format the base chart (BAR) as shown below.Right Click on the Bar Chart - > Select Chart Properties

 

Goto the Value Axis tab and select the Design option. This is to fix the Y-Axis. Make sure to select the Maximum value in such a way that it is higher than all measure values in the table


Pic11.JPG


Scroll down below and hide the text of the Value Axis by selecting the color as white. Don’t uncheck the Visible checkbox else the chart will get dislocated.

 

Pic12.JPG

Similarly goto the Title option and hide the text as well

 

Pic13.JPG

 

Repeat the same for Category Axis and hide the text of the Title and Design Option as shown below

 

Pic14.JPG

Pic15.JPG

 

Hide the legend Title

 

Pic16.JPG

 

Change the position of the Legend value

 

Pic17.JPG

 

And the Bar Chart will look like as below


Pic18.JPG


Formatting the Line Chart


The first and most important thing is the make the Y Axis of line chart same as Bar Chart. This is because when we put the chart on top of each other, we want the axis to be same. For formatting right click on the Line chart -> Select Chart Formatting

 

Pic19.JPG

 

Next we remove the legend title from the Legend -> Title

 

Pic20.JPG

Goto the Value Axis -> Title and give a custom title name

 

Pic21.JPG

The next important part, is to make Line Chart transparent so that when it is placed on top of the Bar Chart, we can see both the chart. For this reduce the RGBA Color to 46%.

 

Pic22.JPG

We won’t touch the Category Axis because we want to see the Axis details when we plot the charts. One more setting that we would do is make the background white for the line chart.

 

Pic23.JPG

 

Now our Line chart will look like as below


Pic24.JPG

Merging the Charts


Now the last part of this trick, make the relative position of the Line Chart same as that of the Bar chart

 

Pic25.JPG

 

And we get the Chart as shown below which matches with our requirementPic27.JPG

Hi,

 

You might be interested to know that several SAP BusinessObjects development guys (Product owners, Domain Architects, Product Experts) are taking part in SAP TechEd && d-code in Berlin next week. This will be a great opportunity to exchange ideas, best practices and roadmaps with our customer, partners and internal colleagues.

 

My colleague Bruno Louifi, Christian Ah-Soon and myself will be presenting a hands-on session on a fresh Web Intelligence feature called "Extension Points" (session ID: EA267 - Tuesday 11th Nov at 16.45 H3 Hall 6.2).


The idea behind Extensions Points is to "programmatically" extend Web Intelligence 4.1 capabilities in order to enable new business scenarios that are not available out of the box. Examples of extensions include connecting a WebI report to Google Maps, Predictive Analytics, creating annotations, writing back to a database...All using Javascript goodness and the fresh Web Intelligence RESTFul SDK.


Bruno, Christian and I will be there to guide you through the exercises and to assess the feasibility of your project ideas.


In summary, during this hands-on you will:

- Configure the Eclipse environment and create your WebI Extension OSGI bundle (e.g., creating hyperlinks on the left panel to interact with the report)

- Configure Deploy Test and debug your extension in order to make it available in your Webi Report viewer.

- Deploy some samples for you to get a taste of this powerful feature.


The target audience would be customer/partners/consultants with some dev skills (Java, JS) and with some basic knowledge on Web Intelligence workflows.


We had some positive feedback on this session which was first ran in Las Vegas, hope you'll agree and share the excitement, which proves that we are still continuously innovating in our good old Webi !


tweet EP.jpg

See you in Berlin!


Hello everyone,

 

I have seen posts and gotten support cases asking about where the Island Resorts Marketing sample database has gone in BI 4.0 and 4.1 and decided to write up this quick blog that shows how to find it and publish it to BI.

 

On the server go to <Install Dir>\Program Files (x86)\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\Samples\webi

You will see the club.mdb and Island Resorts Marketing.unv.

IslandResortsLocation.png

 

Open the Universe Design Tool and Open the Island Resorts Marketing.unv

 

Once it is open, click on File|Parameters

IslandResortsFileParam.png

 

 

 

Under the Connection drop down, select New

 

IslandResortsNewConn.png

Create a new Secured Connection, naming it whatever you want and click Next

 

IslandResortsConnName.png

Select Microsoft|MS Access 2007|ODBC Drivers then Next

 

IslandResortsMSAccess.png

 

 

On the Data Source Name drop down, select club-webi, which is a DSN created when you install the product. If it is not created you will need to create a DSN yourself to the Island Resorts mdb (for example on your desktop machine)

 

IslandResortsDataSourceName.png

Click on Test Connection

 

IslandResortsTestConnection.png

 

 

Click OK then Next

 

Click Next again

 

Click Finish.

 

Verify your new connection is being used by the universe

 

IslandResortsConnUsed.png

Click Ok

 

Select View|Refresh Structure

 

IslandResortsViewRefresh.png

 

 

 

When prompted to refresh out of date tables, click OK

 

IslandResortsRefreshOk.png

Then click Ok again when it states they are updated.

 

Click Save

 

Click File|Export

 

Browse to the location in BI that you want to store the universe

 

IslandResortsExportLoc.png

 

 

Click Ok then Ok again to export it

 

IslandResortsExportSuccess.png

You can now use it to create sample reports!

 

 

That's it!

 

You can now use the Island Resorts Marketing universe for your testing needs!

 

 

Hope this helps!

 

Jason

It’s not supported, but that shouldn’t stop every BI4 Administrator from benefiting from the wonderful insight it can provide. Too often customers feel they don’t understand what the Web Intelligence server is doing; some see it as a bit of a black box. No more. The webiadmintool is a sophisticated bit of kit and worth spending a good few hours to understand how it can help you.

 

Here’s a summary:

  1. The Profiling Dashboard will break down a single action, such as ‘opening a document’, into a large number of methods and for each its duration. Around 15 methods are shown for opening a document. This can help you identify which individual method is problematic: CMS communication, document cache, or generation of charts etc.
  2. The Service LifeCycle Information shows which ‘objects’ have been left in memory and yet to be cleaned up, potentially highlighting a memory issue.
  3. The Adaptive Processing Server Relationship shows, by user and document, which Web Intelligence server is using which other dependent service, like the Visualisation engine (for charts) or DSL Bridge (for the new Dimensional Semantic Layer). This means you can see inside the cluster to which user is consuming which bits of your cluster. This could be helpful to resolving a performance issue.
  4. The plugins perspective allows you to “Remove a session” or “Remove all sessions using a particular document” or “Remove all session used a particular user id” should you wish to eliminate processing that is consuming too many resources.
  5. The Profiling Perspective and Analysis enables you to compare two workflows with each other at a very detailed level. For example, you can compare the workflow of one user opening and interacting with a document, with the workflow for a different user. This might be helpful to isolate a performance issue, when one user ID performs slower than another.
  6. The monitoring perspective enables you to visually see load (sessions, users, documents, memory usage) over time in a graph. This is ideal to validate a load test; or help you identity characteristics on the usage of your server.
  7. The scheduling perspective shows you the internal tasks performed by the server, for self-maintenance and clean-up.
  8. The Failover/Recovery status will help you identify the server name, user id, or document name that is frequently failing and causing a recovery to occur. Thus allowing you to take remedial steps

 

I’ve written a detailed wiki on the tool which I hope provides enough information for how to use the tool and the benefits for using it.

Please visit and bookmark the wiki: http://wiki.scn.sap.com/wiki/x/e5hxFw

 

Your feedback is, as always, most welcome. Please comment here or contact me on Twitter.

Matthew Shaw

(Twitter: @MattShaw_on_BI)

Can the collective wisdom of crowds be a successful driver for increasing the overall effectiveness of enterprise BI tools?

The answer appears to be a resounding ‘YES’ based on the successes of SAP’s Idea Place and their BI product offerings. Let’s take a look at a few facts about how SAP is doing compared to their competitors and I'll give you a few highlights about the SAP’s Idea Place as related to my favorite BI platform – SAP BusinessObjects.

 

Did you know…

  • SAP is the worldwide leader in BI and Analytics Enterprise software
  • With revenue of over $3 Billion exclusively from BI and analytics products
  • Over 10,000 ideas submitted on the SAP Idea Place
  • A TON of crowd-sourced ideas delivered to customers around the world and built into product offerings

 

Question: In an industry with an annual revenue of over $14B, how does SAP fare against the competition?

Answer: They dominate all competitors with over a 21% market share.

 

Question: What’s the industry?

Answer: Business Intelligence and Analytics Enterprise software

 

So how do they do it? Two words – SAP BusinessObjects.

 

Let’s drill into those numbers a little and get to the heart of the $14B number. Any idea what the largest subsegment is in the BI and Analytics segment? It’s – BI Platforms with 59% or $8.5B in annual revenue.

 

So, what makes SAP BusinessObjects so great?

  • The BI Platform known as the BI Launch Pad – The perfect BI portal for delivering analytics to users
  • The Information Design Tool (IDT) and Universe Design Tool (UDT) – The Semantic Layer rules. Need I say more?
  • The Central Management Console – Security and administration at your fingertips
  • Web Intelligence – The gold standard of query, analysis & reporting tools


Get Involved

  • How can we as developers, analysts, consultants, users and customers be sure that our favorite (and the WORLD’S favorite) BI Platform is meeting our business needs?
  • How can we become active contributors to the SAP BI ecosystem?
  • How can I influence future Fix Packs, Service Packs and product releases?

Answer: That would be the SAP Idea Placehttps://ideas.sap.com

 

Let your voice be heard and contribute to SAP’s Idea Place by voting on existing ideas, commenting on ideas to add your perspective, or submit new ideas!

 

So, what exactly is on the SAP Idea Place?

Products are presented in 7 different categories with the most sessions found in the Analytics grouping with 36 different sessions.

  • Analytics
  • Business Applications
  • Cloud
  • Database Technology
  • Mobile
  • Other

 

Question: What’s the most popular product session on Idea Place with nearly 20% of all Analytic ideas?

Answer: Web Intelligence

 

Top 5 Analytic Product Sessions

  • Web Intelligence – 19.45% with 1519 ideas
  • BI Platform – 11.36% with 887 ideas
  • Crystal Reports – 8.49% with 663 ideas
  • SAP BPC for SAP NW – 7.64%  ideas
  • SAP Lumira – 4.33% with 338 ideas

 

Note: Disqualified from this list:

  • Xcelsius - 5.11% of ideas. Since SAP recently announced that SAP Dashboards would be retired soon.
  • Access Control - 5.0% of ideas. Interesting. But more governance/risk/compliance than BI.

 

The most popular area on SAP Idea Place is…. (drum roll)… Web Intelligence!

 

BI analysts, consultants, and developers alike have a ton of great ideas about Webi on the Idea Place. I also have a few submitted ideas with “a few” being... two or three… or thirty. (I hope the product developers are looking and will consider a few of them!)

 

What should I know about crowd-sourcing BI ideas

  • It takes time.
    • You’ll have to invest some time to read through all of the ideas. Vote for the ones that interest you and that you think would deliver value to your user base.
  • The ideas with the highest number of votes aren’t always the best.
    • This is simply because there are some excellent ideas that haven’t been seen by many readers yet. Comment on those ideas. Vote for them. Hopefully the product developers will give them full consideration.
  • If the ideas bring value to users, the likelihood is high that they'll be delivered.
    • I have loads of confidence in the Webi (and SAP BusinessObjects) product developers and know that all ideas will receive consideration and many will be delivered.

 

Fact check

Below are the sites I used for financial facts used in this article:

 

 

Thank you for reading. I’ll look for your ideas. Please vote for mine.

- Jim Brogden

http://twitter.com/jhbrogdenjr

This document helps you to understand Dynamic Visibility of blocks on selection of Input controls with Ranking applied....

Hope it helps...

 

Dynamic Visibility – Input Controls with Ranking.

Imagine that, you have only one Dimension and Measure in your report but you need to display measures with different ranking options. Let us consider an example, like I require dynamic selection for Top 5, Top 10, Bottom 5 and Bottom 10 sales of products where Net Value is measure and Product is dimension object. For this to achieve, follow the below mentioned steps:


Step 1: Create a Variable called Select Rank of type Dimension with value of “ ”  and click OK


Step 2: Create Input control on SELECT RANK variable. And while adding input control pass custom values (Top 5, Top 10, Bottom 5, and Bottom 10) into it and click OK.


Step 3: Create the following Variables

Rank: = Rank ([Net Value];[Product];Top)

Top 5: = [Rank] Where ([Rank] <=5)

Top 10: = [Rank] Where ([Rank] <=10)

Bottom 5: = [Rank] Where ([Rank]>=16 And [Rank] <=20)

Bottom 10: = [Rank] Where ([Rank]>=11 And [Rank] <=20)


Step 4: Add a measure variable which will return the appropriate measure, based on user selection.

Rank Selection = If ReportFilter ([Select Rank]) ="Top 5" Then [Top 5]

Else If ReportFilter ([Select Rank]) ="Top 10" Then [Top 10]

Else If ReportFilter ([Select Rank]) ="Bottom 5" Then [Bottom 5]

Else If ReportFilter ([Select Rank]) ="Bottom 10" Then [Bottom 10]

Else [Rank]


Step 5: Consider Five Blocks. Each block holds three objects Product, Net Value and Rank. Apply filter on each block along with using Hide dimension and place them relatively in same position.

Block 1: Add filter – Rank Selection – Inlist – 1,2,3,4,5

             Hide – Hide when -- =Not([Select Rank] InList ("Top 5")).

Block 2: Add filter – Rank Selection – Inlist – 1,2,3,4,5,6,7,8,9,10

             Hide – Hide when -- =Not([Select Rank] InList ("Top 10")).

Block 3: Add filter – Rank Selection – Inlist – 1,2,3,4,5

             Hide – Hide when -- =Not([Select Rank] InList ("Bottom 5")).

Block 4: Add filter – Rank Selection – Inlist – 1,2,3,4,5,6,7,8,9,10

             Hide – Hide when -- =Not([Select Rank] InList ("Bottom 10")).

Block 5: To represent all sales, so no need of having filter

             Hide – Hide when -- =Not([Select Rank] = "")

If you want graphical presentation of data, have copy of each block and turn that copied block to chart.


Step 6:  Now your report is ready to play.

Top 5:

Bottom 5:

All Sales:

Dear All,

 

For all report developers and users that currently are using Desktop Intelligence and especially the well beloved Freehand SQL (FHSQL) function, there is some good news around the corner..

 

Today, the only option to adopt Web Intelligence, while using a Freehand SQL would be to convert your Desktop Intelligence document using a (automatically) generated Universe. This universe would then contain a derived table containing your FHSQL statement from the Desktop Intelligence document. Many users are not preferring this approach as it increases the time to enhance/maintain the SQL Statement as well as increases the complexity of the solution.

 

The great news I can share is that we have received approvals for the development of the FHSQL Function within Web Intelligence. With Freehand SQL in Web Intelligence it would enable you to (finally) convert your Desktop Intelligence documents with a FHSQL Data Provider to Web Intelligence. The implementation of the FHSQL function will be staged (so do not expect all features of DeskI FHSQL straight away)..

 

 

The current planned release of FHSQL for Web Intelligence will be as in the diagram below:

FHSQL in WebI.jpg

For the initial release of the Freehand SQL Data Provider, the following features are planned

  1. Report Conversion Tool, will be enriched to convert FHSQL DeskI documents into Web Intelligence reports using the FHSQL Feature
  2. Web Intelligence Documents containing FHSQL can be refreshed within the WebI Clients
  3. A sample Extension Point will be provided to enable report developers to create New WebI documents containing an FHSQL data provider or remove a Freehand Data Provider (NO EDIT). This sample Extension point needs to be deployed manually after the installation of the BI4.1 Service Pack 05.
  4. Support of @Variables for FHSQL Data Providers

 

The Freehand Extension Point sample embedded in Web Intelligence would go into the direction as shown below

FHSQL Labs Preview.jpg

 

 

After BI4.1 SP05, FHSQL will be further enhanced with additional features to close the gap between the DeskI Freehand SQL option including an integration into the UI.

 

 

Once more details become available, I will update my blog post with the latest changes.

 

Kind Regards

Merlijn

I support Web Intelligence (WebI) for a living.

 

I talk to WebI and it talks to me.  Mind you, it doesn't talk to just anyone - especially when it's encountering issues.  You have to know how to talk to WebI, for it to give you the good stuff - like what's really the problem.

 

At times, the error message WebI gives you isn't all that informative.  For example, just today the WebI document I was working on started to throw a "Failed to connect to the OLAP source. (Error: INF)" error:
Failed_to_connect_to_the_OLAP_source.JPG

 

WebI doesn't tell you why it failed to the OLAP source, just that it couldn't.

 

There's other error messages, just as unhelpful to the end user.  For example, there's a common error where the error message states "csEX".  Just that, nothing else.  Or the dreaded "WIS 30270" error.  You search the SAP Notes/KBase for "WIS 30270" and you'll get hundreds of hits, each describing a different root cause.  So which Note/KBase is the right one, the one that describes your issue?

 

To determine the right one, you need to find the root cause error, the actual error that was thrown that led to the more-generic error message being shown the User.

 

What's tricky about this is that, with BI 4.x, the root cause error likely didn't originate within the Web Intelligence Processing Server.  With the BI 4.x architecture, for improved scalability and manageability, components of the WebI document processing are done on different processes.  For example, chart generation is done by the Visualization Service housed in the Adaptive Processing Server (APS).  SAP BW BEx query data connections are done by the DSL Bridge Service also housed in the APS.  Multi-source UNX Universe data connections utilize the Data Federator Service.

 

So let's follow an example workflow.  You open a WebI document reporting off of SAP BW BEx query in BI launchpad.  You click the refresh button. The web browser sends this event to the web application server, the AnalyticalReporting web application handles the event, forwarding the refresh event to the Web Intelligence Processing Server.

 

The Web Intelligence Processing Server then determines the WebI Session associated with the open WebI document, sees that it's a refresh request for BEx query data, so sends a 'processDPCommandsEx' remote procedure method call to a DSL Bridge Service in an APS.  The DSL Bridge makes the call to the BEx query, marshals the results and sends it back to the WebI Processing Server, that composits the results in a report page, that it sends back to AnalyticalReporting that translates the XML internal format to HTML and sends it onwards to the web browser.  Phew.

 

But in my example WebI document above, somewhere the process broke down, and an error was thrown.  But where?

 

End-to-End Tracing Saved my Life

 

That's a pretty facetious statement.  But to be frank, the End-to-End trace tool, every day, saves me so much time and effort and makes me look pretty smart with customers. Before there was an End-to-End trace tool, trying to identify root cause within hundreds of MB's of trace log files was always a daunting task.  Much of the contents of the trace log was usually irrelevant to the issue I was investigating, and much of the time spent was manually filtering out the irrelevant.

 

What the End-to-End trace tool does is automatically filter out, from the trace files, all such irrelevant information.  It allows me to trace all the action taken to service a request for a WebI Session, from web browser to WebI PS to APS and back all the way to the web browser, without being bothered by any activity done on the servers not part of the workflow.

 

Most Web Intelligence admins are familiar with this tool - likely when you contact Support, it's the first thing we ask for.  SAP KBase 1861180 is the document that describes how to download and use the End-to-End trace when working with SAP BusinessObjects BI Platform.  I highly recommend you bookmark that KBase and keep it handy.

 

In fact, open up KBase 1861180.  What I'm going to describe in this blog is how I use End-to-End traces to analyze the "Failed to connect to the OLAP source. (Error: INF)" error that I got above.

 

To effectively use this tool, you need to know a bit of how the Web Intelligence processing workflow operates.

 

Preparing the System for End-to-End Tracing

 

The first thing you have to do is go on every machine where BI 4.x is deployed and modify the BO_Trace.ini file.  You'll note that 1861180 says to set append to false and keep_num to 20, except for WebI workflows.  For WebI, set keep_num to 50.  I asked Toby, who wrote that KBase, to put that comment in just for WebI. WebI tends to be very chatty when it comes to trace log output, and I found that for more involved issues, 20 files just weren't enough.

 

So make sure you edit the BO_Trace.ini appropriately:

 

BO_Trace.ini.JPG

 

Launching the End-to-End Tracing Tool

 

From 1861180, download the SAP Client Plug-In tool appropriate for the version of Internet Explorer you have installed on your client machine.  Unfortunately, currently the tool only supports Internet Explorer, and no other brand of web browser.  What the SAP Client Plug-in does is it acts as a proxy for Internet Explorer, and on all outgoing communication, injects a HTTP Header with an unique ID value.  The presence of this ID value is detected and identified by BI launchpad.  BI launchpad will then, for every action it takes to service the request associated with the ID value, increase the Trace level.  Furthermore, it sends this unique ID to any requests it makes to backend servers.  All BusinessObjects servers, including CMS, WebI Processing Servers, Adaptive Processing Servers, the File Repository Servers, etc, will also detect the presence of this ID and raise the Trace level accordingly.

 

So say you have the BI Platform system configured for default (Error) logging.  Any request originating from Internet Explorer launched by the SAP Client Plug-In tool will automatically raise its Trace level to HIGH for any Server servicing this request.

 

Unzip the SAP Client Plug-In download file and you'll see a single executable:
SAPClientPlugin_Start.JPG

 

It's a self-extracting zip that will unzip contents and automatically launch the Plug-In:

 

SAPClientPlugin_Launch_IE.JPG

 

Make sure you've closed all other instances of Internet Explorer on your client desktop, the click the "Launch" button.  This will start up Internet Explorer, and also enable to "Next Step TraceLevel" combobox and the "Start Transaction" button.  Don't click the button just yet!

 

The thing to know is that it'll only inject the HTTP Header with the unique ID only after you click "Start Transaction".  Before then, it won't set the trace log level.  So what you can do is, before starting transaction, do all the preliminary stuff to a point just before the action you know will trigger the error.  For my example, I log onto BI launchpad and open the problematic WebI document:

 

SAPClientPlugin_Start_Transaction.JPG

 

In the above screenshot, I'm at a point just before I click the WebI Refresh button, that I know will trigger the error.  I set the TraceLevel to "High" and click "Start Transaction", then I refresh the document.

 

Important Note:  with the WebI Web Viewer, I can wait to enable transactions till just before I take action in the viewer that triggers the error.  However, if I want to End-to-End trace workflows that involve the WebI Applet Editor/Viewer (Rich Internet Client), then I have to "Start Transaction" before the Applet is launched.  That's just the way Java applets work.  The Applet reads the web browser proxy information only at startup, and not any time later.  So you have to have the transaction started before that point.  You also need to go in Control Panel -> Java -> General -> Network Settings... and ensure the Applet is configured to use browser network proxy settings.

 

Once you "Start Transaction", you need to keep an eye on the SAP Client Plug-In, to make sure it's actually recording:

 

SAPClientPlugin_Recording.JPG

 

If the "Sent Bytes" and "Received Bytes" aren't increasing as you work with the WebI Web Viewer, then the information isn't being recorded in the traces.

 

After I get the "Failed to connect to the OLAP source. (Error: INF)" error, I "Stop Transaction":SAPClientPlugin_Stop_Transaction.JPG

 

You can ignore that "Settings are not valid" dialog box.

 

Follow instructions in KBase 1861180 and go onto all your server machines and collect the updated tracelog *.glf files.  Copy them over to your client machine for analysis.

 

Also, if you look in the SAPClientPlugin folder, you'll see a log folder within which is a timestamped MyBusinessTransaction folder, that contains a BusinessTransaction.xml file.  Save this file as well:

 

BusinessTransaction.xml.JPG

 

Open the BusinessTransaction.xml file using a text editor, such as Notepad++.  What you need from this file is a copy of the unique ID that the Plug-In has been injecting into the HTTP Header, identified by the "id" attribute:BusinessTransaction_id.JPG

 

Copy this id value, because you'll be using it next.

 

 

 

Working with the GLFViewer

 

KBase 1861180 has a link to the download for the GLFViewer.  The GLFViewer is that tool we use at SAP to read and analyze *.glf files.  Download the GLFViewer and start it up.

 

Go to File -> Open -> Add Files... and select all the *.glf files that you've collected.  Don't click "OK" just yet!  If you do, you'll get the whole contents of all the trace files, and that's not what you want.  You want to filter out any trace file entry that's not associated with the session you had with the SAP Client Plug-In.

So in the Open Files dialog box, enable the "Filter and only read matching entries:", then select Column "DSRRootContextID", then enter the unique ID value that you've copied from the BusinessTransaction.xml file:

 

 

DSRRootContextID.JPG

 

and now click "OK".

 

The default configuration of GLFViewer is to not show enough columns.  Go to View -> Choose Columns... and select all columns:

 

GLFViewer_Choose_Columns.JPG

 

Another thing I like to do is select the "ActionID" column and move it up to be second in display order.

 

ActionID

 

I'm highlighting ActionID since it's an important value.  What's an ActionID?

 

In the SAP BusinessObjects BI Platform 4.x system, each and every User action that leads ot a tangible change - clicking the Refresh button, opening a tree view, clicking Export, clicking the navigation button to go to the next page - generates an unique ID that all reactions resulting from the action is associated.

 

This unique ID is separate and different from the DSRRootContextID.  For example, when I clicked the WebI refresh button, that generated an unique ActionID.  This ActionID is then sent from the web application to the backend Web Intelligence Processing Server.  Any request that the WebI Processing Server makes to any other Service - the CMS, the FRS, the APS - also is associated with this ActionID.  All responses sent back to the web app is also associated with this ActionID.

 

The ActionID is the way in which we can follow the workflow associated with the User event End-to-End, from the initial request sent from the web browser, and the final response sent to the web browser.

 

So let's say a User request results in an error response.  To trace back the error to the root cause for that error, you would trace back, in the trace files, following the trail of the ActionID back to the first error that was thrown.

 

Let's do this for my example.

 

Web Intelligence Processing Server **Error

 

So let's go to the point in the workflow where we get the error message shown to the end user.

 

Whenever the Web Intelligence Processing Server sends an user-facing error message back to the client, it does so in XML format.  In the WebI Processing Server traces, this XML message is logged prefixed by the string "**Error".

 

So to find all error messages shown to the end user that passed through the Web Intelligence Processing Server, search the "Text" column for lines that contain "**Error":

 

GLFViewer_Find.JPG

 

It's easier if you scroll down to the very last entry in the GLFViewer, and search backwards:

GLFViewer_WebI_Error.JPG

 

Now that you have this error, read the "ActionID" associated with this log entry by going to View -> Filter:

 

GLFViewer_Filter.JPG

What you've done is filtered out everything not associated with the workflow resulting in the "Failed to connect..." error.

 

Root Cause Error Identification

 

You now want to walk backwards from the **Error line thrown by the WebI Processing Server, to the actual root error.

 

It's easier to see this if you enable text indent, by going ot View -> Indent Text According to Scope. When you enable this, you'll see that the Text column becomes very colorful:

 

Root_Cause_Error.JPG

 

What the color lines define is scope.   Scope defines the depth of calls that are made internally to service a request.  For example, the WebI Processing Server invokes a request to the DSL Bridge Service.  This request is logged by a "START OUTGOING CALL" line in the WebI Processing Server trace file, that indicates that a call was made to the APS.  The APS trace file will log this request by a "START INCOMING CALL" line identifying the requester as a WebI Processing Server. The call scope has gone one deep.  When the APS returns a response to the WebI Processing Servier, it logs "END INCOMING CALL", and the WebI Processing Server logs "END OUTGOING CALL".

 

So from the "**Error" line identified earlier, follow the depth of call upwards until one encounters the first line in the trace with Trace column equal to Error.  You can see in the above screenshot that the root cause error actually originated in the APS, in the DSL Bridge Service.  The actual roor error is:

 

"Password logon no longer possible - too many failed attempts on <host>"

 

Someone had tried to log onto the SAP BW system using my account, but with the wrong password.

 

That someone was me, of course.  I had an old WebI document recurring schedule that was running, and I forgot to stop it before updating my password on my BW system.   Instant lock-up!

 

Stopping the schedule, logging onto the BW under another admin account, and unlocking the User resolved this issue.

 

Final Words

 

So you can see how End-to-End traces came in handy here.

 

You can ask yourself, "Well gee, why didn't WebI just tell the end User that the Password was invalid?"

 

That touches on one of the security considerations that went into the design of BI Platform.  If the system provides too much information concerning a logon failure, then a nefarious intruder can use that knowledge to try and hack into the system.  And that's not what anyone wants.

 

Even though this design makes troubleshooting a bit difficult, the availability of the End-to-End tool greatly mitigates the pain in getting to the root cause.

Amusing! For the last two years I have used the same plain background on the monthly report charts. However, today that all changes!

 

cgraph.png

The end results was:

 

ss.png

 

Sometimes the simple things in life can be fun!


The starting situation is as follows. I've used multiple columns (universe -> odbc -> excel) for my organizational units (main department, department, group, cost center).

For Filtering the database I've set up some command prompts as you can see in the following picture.


prompts.png


 

For a dynamic chart label showing you on which layer you are at the moment depending on what you've chosen at the prompts:

 

Right Click on the chart you want to format -> Format Chart… -> Title -> Title Label -> fill in the statement below!



="YOUR_TEXT " + UserResponse("Main Department:") + (If UserResponse("Main Department:") = "" Then "" Else (If UserResponse("Department:") <> "" Or UserResponse("Group:") <> "" Or UserResponse("CostCenter:") <> "" Then ", " Else "")) + UserResponse("Department:") + (If UserResponse("Department:") = "" Then "" Else (If UserResponse("Group:") <> "" Or UserResponse("CostCenter:") <> "" Then ", " Else "")) + UserResponse("Group:") + (If UserResponse("Group:") = "" Then "" Else (If UserResponse("CostCenter:") <> "" Then ", " Else "")) + UserResponse("CostCenter:")

 

 

You can easily port this method for every dimension you want to be shown in the chart label by using prompts for other dimensions and adapt the statement for example like this: dimension KPI with prompt text "choose kpi:" -> UserResponse("choose kpi:")

 

That's it. You now have a dynamically changing chart label depending on what you've chosen at the prompts.

Hari Dutt

Dynamic Headers in WebI

Posted by Hari Dutt Sep 15, 2014

Let me know i can show column values as Headers Names With multiple columns.

 

For example

 

 

Item    Module_Name   Qty      CalculatedQty

1         P1                     1          1

2         P2                     1          1

3         P3                     1          1

4         P4                     1          1

 

 

Actually Required

 

Item                    P1                P2             P3         P4   CalculatedQty

111
211
311
411

Actions

Filter Blog

By author:
By date:
By tag: