One of the most powerful and therefore complicated features of Business Objects is the ability to create multiple data providers for a single document. This question came out several weeks ago:
In a message dated 00-01-25 13:50:51 EST, you write:
When linking two separate data providers based on a common dimension object,
one of the aggregated measure objects (SUM function of measure object in data provider #2) doesn’t seem to function correctly when report sectioned on additional dimensions. Two of the three dimension objects only exist in data provider #1. The third dimension object creates the link between data providers.
Linking dimensions is only one step required to build a report with two or more data providers. The other step is to understand the following:
The lowest VALID level of detail for measures is provided by the dimensions that are common to both data providers.
There was another response to this question that I have included here, along with my annotations…
In a message dated 00-01-26 10:22:01 EST, you write:
I think your problem is the same that we have had. In this case it¥s in my
opinion a error in BO, in the opinion of BO a problem of presenting the data.
You can reduce our problem to the following with the Univers “Island Resort Marketing”:
- One report with two Data-Providers (DP):
-
- DP: Region, Service, Number of Guests - 2. DP: Region, Revenue
- Provider linked by Region.
So far, there are no problems with this scenario.
- Service as section in the report.
Now you have a problem. One data provider (#1 above) is at a lower level of detail than the other (#2). Number 1 has two dimensions, Number 2 has only one. Because of this, the lowest VALID level of reporting is by the top level dimension of Region. This is a restriction based on the available data.
- Create two tables in one report:
- Table 1: Region (2. DP), Revenue, Number of Guests - Table 2: Region (2. DP), Revenue
- Result => The Revenue for every shown region is identical in both tables.
This is correct. There is no way to “allocate” revenue across Service, when that data is not available. A Measure object is defined to roll up to the common level of detail: in this case, the common level (and therefore the lowest valid reporting level) is Region.
- Create a global filter on Service, that shows all services (Bungalow, Hotel Room, Hotel Suite). In Reality this “filter” doesn¥t filter anything (but not in BO!). But you can also set a “real” filter, the result is the same.
- Result => The Revenue for a Region in the first table is another than the Revenue for the same region in the second table!!! You get two tables standing side by side showing different results!!!
The filter result is irrelevant. You are essentially compounding the error created by having created a section report (Master Detail) using a Dimension object that is beyond the level of detail that is valid for this report.
- I don¥t know if this problem still exists in BO 5, we use BO 4.
This problem is not a problem, as stated, with the application. The problem is in the way the report is constructed.
I can recreate this “error” without resorting (pun) to a Master Detail report. Create two data providers as follows:
DP1: Resort, Year, Revenue
DP2: Resort, Number of Guests
Next, create a combined block with Resort, Year, Revenue, Number of Guests. You will note that the data (shown below) shows that Revenue is allocated across both the Resort and the Year dimensions, but that Number of Guests is only valid at the Resort level.
Resort(Query 1 with Beach) Year Revenue Number of guests Bahamas Beach FY93 287,929.00 565.00 << each value Bahamas Beach FY94 307,400.00 565.00 << repeats three Bahamas Beach FY95 376,115.00 565.00 << times French Riviera FY93 295,940.00 446.00
French Riviera FY94 280,310.00 446.00
French Riviera FY95 259,170.00 446.00
Hawaiian Club FY93 479,685.00 540.00
Hawaiian Club FY94 519,530.00 540.00
Hawaiian Club FY95 480,445.00 540.00
Adding a Filter or a Section report does not change the fact that the data is not valid to begin with. Again, to restate: Combined data provider documents are only valid at the most detailed level of common dimensions to all data providers. I don’t see this as a bug or even a limitation of BusObj.
Regards,
Dave Rathbun
Integra Solutions
www.islink.com
Listserv Archives (BOB member since 2002-06-25)