Dec 11 2009

Quick Tip: Detailing Web Intelligence Document Contents

Categories: Report Techniques, Web Intelligence Dave Rathbun @ 11:30 am

This tip comes courtesy of Joe Szabo. I met Joe many years ago at a common client. A few weeks ago we had a casual conversation in the hallway at the 2009 GBN conference. I don’t remember how we got started but the subject of documenting complex Web Intelligence reports came up somehow. I was probably complaining and Joe said something like, “… but don’t you just do blah blah blah? That’s what I do, and it works great.” This post is going to be all about the “blah blah blah” that Joe shared with me. It will help you provide documentation for complex Web Intelligence reports. It will even help debug reports. And best of all, it will help determine exactly what is different between those two different versions of the same report so you can make sure the right version gets migrated into production.

I am going to show screenshots from Web Intelligence 3.0 for this blog post but the same process works in XI R2 as well. Continue reading “Quick Tip: Detailing Web Intelligence Document Contents”


Dec 05 2009

Making Up Data Part II: Using Universe Data

Categories: Full Client, Report Techniques, Web Intelligence Dave Rathbun @ 7:00 am

In Part I of this series I talked briefly about the need for report writers to sometimes “make up” data. In that post I showed how I could use the Web Intelligence Rich Client (or alternatively Desktop Intelligence) to import data from a spreadsheet in order to fill out holes in data. In this post I am going to show an equivalent solution using multiple data providers from a universe instead. I will redo the same example shown before (with a lot fewer screenshots since quite a bit of the process is the same). Because I am using a universe I can show two different possible solutions. Continue reading “Making Up Data Part II: Using Universe Data”


Nov 25 2009

Displaying UserResponse() Values On Separate Rows

Categories: Report Techniques, Variables!, Web Intelligence Dave Rathbun @ 7:00 am

I am often asked why I still participate so much on BOB after all of these years. The main reason is I still get inspired by questions that make me think a little bit. The puzzle for today’s post was presented as a question something like this:

How can I display each individual value selected in the UserResponse() function on its own row in a table?

I believe the reason for wanting this behavior is fairly clear. If you have a bunch of complex data it would be much easier for the report consumer to read this:

XYZ123ABC
DEF456HIJ
BOB111BOB

Instead of this:

XYZ123ABC;DEF456HIJ;BOB111BOB

As is often the case, the strict answer to the question is “you can’t do it that way” with Web Intelligence. Despite the “you can’t…” answer I am going to show how it can be done.

Continue reading “Displaying UserResponse() Values On Separate Rows”


Nov 09 2009

Making Up Data Part I: Personal Data Providers

Categories: Full Client, Report Techniques, Web Intelligence Dave Rathbun @ 2:18 am

Reporting tools are designed to report. Seems simple, doesn’t it? But sometimes they need to do more in order to meet the requirements. For example, a frequent question on BOB (in fact it’s in the Reporter FAQ) goes like this:

I have only six months of data, but I have to show all twelve months in my report. How can I show the missing data?

The trick is to understand that Business Objects does not make up data. It just doesn’t have that capability. And you can’t edit the report directly in order to add those extra values to the result set. However, there are a couple of tricks that I can share that will help solve this issue. Continue reading “Making Up Data Part I: Personal Data Providers”


Oct 23 2009

Calculating Business Days Between Two Days Via Report Functions

Categories: 2009 GBN - Dallas, Report Techniques, Variables!, Web Intelligence Dave Rathbun @ 7:57 pm

A frequently asked question on BOB is:

How can I calculate the number of business days between two dates?

The easiest answer is to use a calendar table with a flag for business days because that takes care of everything quite easily. You can even mark holidays along with weekend days and make the results more useful.

But suppose you don’t have a calendar table. Suppose you don’t care about holidays, you simply want to count the number of Monday – Friday days between a range of dates. Can you do that?

The answer is coming if you read the rest of the post. :)

Note: This technique was shown in public on Monday at the GBN conference. I had written this blog post some time ago but waited to release it until after the presentation had been delivered. The presentation has been uploaded to my blog and is available for download from the conference page.

Continue reading “Calculating Business Days Between Two Days Via Report Functions”


Sep 03 2009

Using ForceMerge() To Fix Unbalanced Data Providers

Categories: Full Client, Report Techniques, Variables!, Web Intelligence Dave Rathbun @ 7:30 am

I have discussed the MultiCube() function a number of times in my series of Variables presentations. In certain situations it allows you to fix measure objects when you have two (or more) unbalanced data providers in a full-client document. ForceMerge() is the equivalent for Web Intelligence.

So how do they work, exactly? What do I mean by unbalanced data providers? How is it fixed with these functions? Are there any special conditions to be aware of? Continue reading “Using ForceMerge() To Fix Unbalanced Data Providers”


Aug 25 2009

What Are Unbalanced Data Providers And Why Should I Care?

Categories: Full Client, Report Techniques, Web Intelligence Dave Rathbun @ 9:31 am

One of the more powerful features of Web Intelligence (Desktop Intelligence as well) is the ability to combine data from more than one source into one document. This is done by creating multiple data providers, linking them up, and using the combined results in a report block. However, everything has to work out just right. Sometimes it doesn’t. :)

Merging Data Providers in Web Intelligence

Dimensions are the “keys” of a data provider. When two database tables are linked in a universe, certain columns are used to join them together. Dimensions serve this role in linking two data providers. When two (or more) data providers are built in Web Intelligence from the same universe they are automatically linked together using any common dimension objects. What happens when two different data sources are used? In that case, the report writer has to merge the information manually. And if the dimensions from each data provider are not identical, the report has what I call “unbalanced” data providers. That’s what I want to describe in this blog post. Continue reading “What Are Unbalanced Data Providers And Why Should I Care?”


Apr 16 2009

Java Memory Errors During Data Provider Updates in Web Intelligence

Categories: General, Web Intelligence Dave Rathbun @ 5:00 pm

Changing Data Providers in Complex Reports

We have some fairly complex reports at my current client. Of course the word “complex” is not very clear; what is simple to me might be complex to someone else. So let me quantify what I mean by “complex” in this case. The report in question has multiple data provders. Each data provider generates multi-pass SQL because of contexts. Altogether there are 29 data providers with an overall total of over 100 SQL passes. :shock: That’s what I mean by a “complex” report, and I think most folks would agree with that assessment.

The challenge is that for this (and other) complex reports we have been encountering severe issues. In some cases we are unable to edit the queries without restarting our browser session. We also have encountered a number of problems during the process of repointing the document from one universe (development) to another (user acceptance testing) within the same environment. Continue reading “Java Memory Errors During Data Provider Updates in Web Intelligence”


Aug 14 2007

Java 1.6 / 6.0 Update Issue

Categories: General, Web Intelligence Dave Rathbun @ 9:26 am

The Evils of Automatic Software Updates

A few months ago about half of the reporting team at my current client called me at various times over a week saying they were having problems running reports. Eventually I figured it out… they all had one thing in common: automatic Java updates. Turns out that was a Very Bad Thing™ to do. :)

Continue reading “Java 1.6 / 6.0 Update Issue”


Jul 31 2007

Alerters On Charts Part II

Categories: Report Techniques, Variables!, Web Intelligence Dave Rathbun @ 1:16 pm

The Challenge

In a previous post I showed a way to create the illusion of an alerter on a chart using the full client product. In this post I will reuse the same technique with a slight twist so that it works in Web Intelligence as well. If you have not already read Part I please do so first so you will be familiar with the basic steps for this technique.

Here is a summary of the steps that I used to solve this in Business Objects:

  • Create two versions of the chart: one green and one red
  • Create a variable that shows the trend of the data
  • Use the Hide Block feature of Business Objects to keep one of the charts from being displayed
  • Position both charts in exactly the same space, providing the illusion that the chart is changing colors based on the data

This is all fine… but Web Intelligence does not have the “hide block” feature. So how do I solve this issue?

Continue reading “Alerters On Charts Part II”