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”


Oct 22 2009

2009 GBN Presentations Posted

Categories: 2009 GBN - Dallas, Report Techniques, Variables! Dave Rathbun @ 7:24 am

I have uploaded the latest pdf files for my presentations from the 2009 GBN conference. You can download them from my conference presentations page. I did two presentations this year.

Return of the Variables

Presentation Abstract

It’s time to pull out some variables again as we revisit a popular topic from past conferences. Report variables can provide a more creative, efficient, and effective means of completing the detailed analysis required for your reports. The focus of this presentation is building documents, using report functions, and reviewing variable tricks that can be used to solve reporting challenges. The presentation this year will focus primarily on the SAP BusinessObjects Web Intelligence product and include some of the newest features that have recently become available, but there will be some goodies for users of prior versions as well.

Universe Models for Recursive Data

Presentation Abstract

Recursive data can present a special challenge to SAP BusinessObjects developers because SQL is not natively able to process the relationships. This presentation will show several different methods for modeling recursive data along with the pros and cons of each. All of the methods shown have been used on real-world projects. Attendees will gain a better understanding of the complexities of dealing with inventory models, organizational hierarchies, and other types of recursive data.

As time allows I will be adding detailed blog posts for each of these presentations. I am cheating a bit this year. :) I have already written two blog posts that detail most of the “Variables” presentation:

That leaves only the initial portion of the presentation to write up, and I hope to have it done fairly soon. The detailed posts for the Designer presentation will take a bit longer.


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”


Sep 16 2007

Variable Relative Block Positioning

Categories: Full Client, Report Techniques, Variables! Dave Rathbun @ 11:19 pm

The Challenge

Both Desktop Intelligence and Web Intelligence provide options to coordinate the placement of one block based on the size of another. This technique is used when you have more than one block on a page and you want the lower blocks to move up and down (or left and right) on the page based on the volume of data shown in the “relative” block. This works quite well with two blocks as shown below.

Sample two-block layout

The block on the left in this case (the blue box) would be the anchor block. The block on the right (the red block) would float relative to the anchor block. I can accomplish this by right-clicking on the floating block and selecting Format Block. The Appearance tab includes the following settings that I can tweak:

Setting the floating attributes

This technique works well for a chain of tables either horizontally or vertically. But what if I have the following scenario where I need to float blocks both horizontally and vertically?

Sample three-block layout

Continue reading “Variable Relative Block Positioning”


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”


Jul 22 2007

Alerters on Charts: Part I

Categories: Full Client, Report Techniques, Variables! Dave Rathbun @ 12:28 pm

The Challenge

Officially there is no way to put an alerter on a chart. Yet some time back I was challenged by a client to create a line chart that was green if the overall trend was up, and red if the overall trend was down. This chart appeared in a sectioned report so there was a different chart for each section value. Possible? It turns out that there was an answer that works. With minor changes it works in both the desktop and the web products as well.

The eFashion database and universe are used in this demonstration.

Continue reading “Alerters on Charts: Part I”


Jul 10 2007

Variables and More Variables

Categories: Variables! Dave Rathbun @ 11:44 pm

If you have been to the Integra Solutions web site and looked at their presentations page, or if you have been to one of the many Business Objects conferences that I have presented at over the years, you may have seen one of my “Variables” presentations. The very first one was in 1997 at the conference in New Orleans. And believe it or not, it was the presentation that almost wasn’t. :-)

Continue reading “Variables and More Variables”


« Previous PageNext Page »