report comparison tool guide - archive

36
Report Comparison Tool Guide Report Comparison ToolV2.1 Windows

Upload: others

Post on 29-May-2022

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Report Comparison Tool Guide - Archive

Report Comparison Tool Guide

Report Comparison ToolV2.1

Windows

ComparisonTool.book Page 1 Thursday, March 29, 2007 4:15 PM

Page 2: Report Comparison Tool Guide - Archive

Patents Business Objects owns the following U.S. patents, which may cover products that are offered and sold by Business Objects: 5,555,403, 6,247,008 B1, 6,578,027 B2, 6,490,593 and 6,289,352.

Trademarks Business Objects, the Business Objects logo, Crystal Reports, and Crystal Enterprise are trademarks or registered trademarks of Business Objects SA or its affiliated companies in the United States and other countries. All other names mentioned herein may be trademarks of their respective owners.

Copyright Copyright © 2007 Business Objects. All rights reserved.

Third-party contributors

Business Objects products in this release may contain redistributions of software licensed from third-party contributors. Some of these individual components may also be available under alternative licenses. A partial listing of third-party contributors that have requested or permitted acknowledgments, as well as required notices, can be found at:http://www.businessobjects.com/thirdparty

ComparisonTool.book Page 2 Thursday, March 29, 2007 4:15 PM

Page 3: Report Comparison Tool Guide - Archive

ComparisonTool.book Page 3 Thursday, March 29, 2007 4:15 PM

Contents

Chapter 1 Using the Report Comparison Tool 5

About this guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6Who should read this guide? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7Installing the Report Comparison Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7Working in Offline Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7Importing/Preparing/Comparing reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Source/Destination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8Importing Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Working with one computer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Buttons in the “Finished” panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Working with two computers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Working with multiple computers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Reading the compared reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Buttons in the “Finished” panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Key error messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Chapter 2 Calculation Engine Differences 17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18BusinessObjects modifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

Modifications by version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19BusinessObjects 5.1.4 modifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

Do you need to read this section? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20Global filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20Indirect filters and calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Report Comparison Tool Guide 3

Page 4: Report Comparison Tool Guide - Archive

Contents

ComparisonTool.book Page 4 Thursday, March 29, 2007 4:15 PM

Complex filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22Incompatible objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24The MultiCube() function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27Aggregation levels in synchronized data providers . . . . . . . . . . . . . . . . 28

BusinessObjects 6.0 modifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30Do I need to read this section? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30The Count() function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30Filtering on empty values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32Filters in master/detail reports with incompatible objects . . . . . . . . . . . 32Rankings in blocks with different data providers and empty values . . . 33The NoFilter() function with a Where clause . . . . . . . . . . . . . . . . . . . . . 34Duplicate row aggregation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Desktop Intelligence modifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36The UniverseName() function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36Unicode fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36Decimal precision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4 Report Comparison Tool Guide

Page 5: Report Comparison Tool Guide - Archive

ComparisonTool.book Page 5 Thursday, March 29, 2007 4:15 PM

Using the Report Comparison Tool

chap

ter

Page 6: Report Comparison Tool Guide - Archive

Using the Report Comparison ToolAbout this guide1

6

ComparisonTool.book Page 6 Thursday, March 29, 2007 4:15 PM

About this guideThe Business Objects Report Comparison Tool lets you compare and evaluate .rep documents upgraded from earlier versions of BusinessObjects (5.x and 6.x) to Desktop Intelligence XIR2. There may be differences in the values displayed due to differences in each version’s calculation engine. The Report Comparison Tool:• Indicates which files display the same values before and

after migration• Indicates which files display different values before and after

migration• Exports the report content to a text file for each report in the

document. It does this for the BusinessObjects version and again for the Desktop Intelligence XIR2 version

• Exports selected values of a microcube generated for each data-provider into a text file for comparison

Comparing BusinessObjects and Desktop Intelligence Reports

Page 7: Report Comparison Tool Guide - Archive

Using the Report Comparison ToolWho should read this guide? 1

ComparisonTool.book Page 7 Thursday, March 29, 2007 4:15 PM

Who should read this guide?This guide is designed for Business Information Administrators. It is aimed at anyone responsible for verifying that legacy files have been correctly migrated.

Installing the Report Comparison ToolTo install the Report Comparison Tool:1. Follow the Report Comparison Installation Wizard.2. Make sure you have installed the Comparison Tool on all

the computers involved in the file comparison.

Prerequisites! To prepare/compare documents created in 5.x:• Install version 5.x Client/BusinessObjects Reporter• Install Desktop Intelligence and Import Wizard XIR2• Install the Report Comparison Tool

! To prepare/comparing documents created in 6.x:• Install BusinessObjects 6.x Client/Business Objects

Reporter• Install Desktop Intelligence and Import Wizard XIR2• Install the Report Comparison Tool

Note: If there are 2 or more computers you must install the Report Comparison Tool on all the computers.

Working in Offline ModeYou can work in Offline Mode only if you have been connected previously at least once with the same version on the same computer.

Comparing BusinessObjects and Desktop Intelligence Reports 7

Page 8: Report Comparison Tool Guide - Archive

Using the Report Comparison ToolImporting/Preparing/Comparing reports1

ComparisonTool.book Page 8 Thursday, March 29, 2007 4:15 PM

Importing/Preparing/Comparing reportsBecause of the time and resources involved in preparing large numbers of documents, or very dense documents the Report Comparison Tool separates the preparation sequence from the actual comparison sequence. Thus prepared documents can be compared at a later date.Note: Documents that are password protected can not be compared.

Source/DestinationFor the purposes of the Report Conversion Tool we use the expressions source and destination. The following explains how we use these terms.

SourceThe source is the original file (5.x or 6.x) before migration to Desktop Intelligence.

DestinationThe destination is the file after it has been migrated to Desktop Intelligence.

Importing Documents! To import documents:1. Launch the Comparison Tool2. Click Next in the Wizard3. Select the source/destination environments in the “Define

Actions to Perform” panel4. Check the Import check box list to import the documents

Note: The Compare documents will be greyed until the diff tool for windows is installed

5. Click Next6. Login with the correct parameters for the displayed version7. From the documents listed, select for preparing/comparing.

8 Comparing BusinessObjects and Desktop Intelligence Reports

Page 9: Report Comparison Tool Guide - Archive

Using the Report Comparison ToolImporting Documents 1

ComparisonTool.book Page 9 Thursday, March 29, 2007 4:15 PM

Working with one computerThough there are several multi machine configurations that you can use to compare .rep documents, a single machine configuration is preferable.Steps 1 through 12 of the following procedure are part of the document preparation sequence.

! To run the Report Comparison Tool with one computer:1. Launch the Comparison Tool2. Click Next in the Wizard3. Select the source/destination environments In the

“Define Actions to Perform” panel.4. Select Compare documents if you want to prepare/

compare document(s).Note: If you do not choose to compare the documents now the documents will be prepared, and you can compare them at a later date.

5. Click Next6. Login with the correct parameters for the displayed version.

See the note at the bottom of this procedure7. Select the folder(s) or documents that you want to prepare/

compare for both source and destination• “Browse” allows you to choose a folder with all its files

to prepare/compare.8. Click Next9. Select the Output Folder for source and destination versions

Note: “Browse” allows you to choose output folders which contain the prepared documents

10. Select options in the Select compare options panel;• “Data provider content” compares the complete data in

the cube• “Data provider SQL” compares the data provider query

11. Select the Version Folder for source and destination that contains the prepared documents to compare• • “Browse” allows you to choose output folders that

contain the prepared documents

Comparing BusinessObjects and Desktop Intelligence Reports 9

Page 10: Report Comparison Tool Guide - Archive

Using the Report Comparison ToolImporting Documents1

ComparisonTool.book Page 10 Thursday, March 29, 2007 4:15 PM

• • “Browse” allows you to choose a folder with all its files by default and then deselect the files that you do not want to prepare/compare.

• • “Browse” is recommended when you have a large number of files.

• • “Browse files” lets you choose the files that you want to prepare/compare.

• • “Browse files” is recommended when you have a small number of files.

12. Click Start in the Action summary panel.13. Login with the correct parameters for the displayed version.

See the note at the bottom of this procedure.Note: This ends the preparation/comparison phase.

Buttons in the “Finished” panel1. .Click Open on the files 2. Click Next.3. Select options in the Select compare options panel;

• “Data provider content” displays the actual content of the report

• “Data provider SQL” displays generated data provider query

4. Click Start in the Action summary panel. This ends the preparation sequence.

5. Use the following buttons in the table to view the comparison.:

Button What it shows

XI release 2 log Shows which destination files were treated.

5.x/6.x Log Shows which source files were treatedView report Opens the report in Desktop

IntelligenceView Detail Log Displays details of a chosen fileDone Closes the Comparison Tool

10 Comparing BusinessObjects and Desktop Intelligence Reports

Page 11: Report Comparison Tool Guide - Archive

Using the Report Comparison ToolWorking with two computers 1

ComparisonTool.book Page 11 Thursday, March 29, 2007 4:15 PM

Note: When you login to the source or destination you are asked to select whether or not you want to “Restart BusinessObjects/Desktop Intelligence for each document. This will close BusinessObjects/Desktop Intelligence after each file is treated. It will save computer memory and increase performance.

Working with two computersWhen you work with two computers, one of them is the source environment (A) the other is the destination environment (B).

PrerequisitesInstall the following on the required computers:• The Report Comparison tool on both the computers (A and B)• BusinessObjects 5.x or 6.x in the source environment (A).• Desktop Intelligence XIR2 and Import Wizard in the destination environment (B).

! To Run the Report Comparison Tool on two computers:1. 1. Prepare the document(s) in the source environment (A),

and in the destination environment (B).Note: To do these follow the procedures to prepare documents using one computer.

2. Copy the source folder (storage file) A where the document was prepared to the destination system (B)

3. Launch the Comparison Tool in computer (B)4. Follow the procedures to prepare (Only for destination) and

compare documents using one computer.Note: Source documents are already prepared and copied so only destination documents need to be prepared. Be sure to select Compare documents in the “Define Actions to Perform” panel.

5. Launch the Comparison Tool6. Click Next in the Wizard.

Comparing BusinessObjects and Desktop Intelligence Reports 11

Page 12: Report Comparison Tool Guide - Archive

Using the Report Comparison ToolWorking with two computers1

ComparisonTool.book Page 12 Thursday, March 29, 2007 4:15 PM

7. Select the source environment (A) In the “Define Actions to Perform” panel.

8. Login with the correct parameters for the displayed version.See the note at the bottom of this procedure.

9. Select the destination environment (B) Desktop Intelligence XIR2 in the “Define Actions to Perform” panel.

10. Select the folder(s) that you want to prepare/compare.11. Login with the correct parameters for the displayed version.

See the note at the bottom of this procedure.12. Select the folder(s).13. Click Open.14. Click Next.15. Select the option(s) in the Select compare options panel.

• “Simple Report content” displays the actual content of the report.

• “Data provider SQL” displays SQL generated by the data provider query.

16. Click Start in the Action Summary panel. This ends the preparation sequence.:

Note: When you login to the source or destination you are asked to select whether or not you want to “Restart BusinessObjects/Desktop Intelligence for each document. This will close BusinessObjects/Desktop Intelligence after each file is treated. This saves computer memory and increases performance.

Button What it shows

XI release 2 log Shows which destination files were treated.

5.x/6.x Log Shows which source files were treatedView report Opens the report in Desktop

IntelligenceView Detail Log Displays details of a chosen fileDone Closes the Comparison Tool

12 Comparing BusinessObjects and Desktop Intelligence Reports

Page 13: Report Comparison Tool Guide - Archive

Using the Report Comparison ToolWorking with two computers 1

ComparisonTool.book Page 13 Thursday, March 29, 2007 4:15 PM

Working with multiple computersIt is possible to work with multiple computers. The following example shows the workflow for three machines. A source environment (A), a destination environment (B), and a third environment to generate the comparison report (C).

Prerequisites ! Install the following on the required computers:• The Report Comparison tool on all computers (A,B,C)• BusinessObjects 5.x or 6.x in the source environment (A).• Desktop Intelligence XIR2 in the destination environment

(B).Tip: You can copy the source and target storage folder to one machine in a 3-machine setup for faster comparison.

! To Run the Report Comparison Tool on three computers:1. Prepare the document(s) in the source environment (A), and

in the destination environment (B).Note: To do this follow the procedures to prepare documents using one computer.

2. Copy the source folder (storage file) A where the document was prepared to the compare directory (C) (A to C)

3. Copy the destination directory (storage file) where the Desktop Intelligence XIR2 document was prepared to the compare directory. (B to C)

Note: This can also be done remotely from machine C, using the UNC share to point to the A machine file storage and/or the B machine file storage.

4. Launch the Comparison Tool in computer (C)5. Follow the procedures to compare documents using one

computer. Note: Be sure to select Compare documents in the “Define Actions to Perform” panel.

Comparing BusinessObjects and Desktop Intelligence Reports 13

Page 14: Report Comparison Tool Guide - Archive

Using the Report Comparison ToolReading the compared reports1

ComparisonTool.book Page 14 Thursday, March 29, 2007 4:15 PM

Reading the compared reportsThe “Finished panel displays the number of documents selected for preparation and prepared also the number of documents selected for comparison and compared. It also displays the source and the destination.

Buttons in the “Finished” panel“XI release 2 log”

Displays the files prepared in the Desktop Intelligence version.

“5.x/6.x log”Displays the files prepared with results in the BusinessObjects 5.x/6.x version.

“View Report”Consists of the following three tabs:• “Diff Overview” displays the document names and the

comparison results, and if they contain a chart • “Diff Details” displays details about the components for each

document• “Diff Lines” displays differences line by line in the report.

“View detail log”Allows you to select a compared report and displays a short hand version of the Comparison Log. When you choose a document in the “View detail log” the details are preceded by one of the following characters:• ?.......... no information• !............difference / chart detected • -............no difference / no chartFirst character > Document differenceSecond character > Dataprovider differenceThird character > Chart

14 Comparing BusinessObjects and Desktop Intelligence Reports

Page 15: Report Comparison Tool Guide - Archive

Using the Report Comparison ToolButtons in the “Finished” panel 1

ComparisonTool.book Page 15 Thursday, March 29, 2007 4:15 PM

Example: • ---..........no differences detected, no chart detected• !-!..........document difference and chart detected

“Done”This closes the Report Comparison tool

Comparing BusinessObjects and Desktop Intelligence Reports 15

Page 16: Report Comparison Tool Guide - Archive

Using the Report Comparison ToolKey error messages1

ComparisonTool.book Page 16 Thursday, March 29, 2007 4:15 PM

Key error messagesThese are the major error messages?

ID Error Message Cause Action

01 Source document Format

Version error opening source document

Upgrade to supported source version

02 Destination document format invalid

Version error opening destination document

Upgrade to supported destination

03 Source document cannot open

Rights error/File availability

Check user rights on document / check file availability

04 Destination document can not open

Rights error/File availability

Verify user rights on document / check file availability

05 The Report Comparison tool does not have rights to create the necessary directories or .txt files needed for comparison

Working directory and/or .txt files cannot be created

Add create directory/create file right to the Windows user profile.

16 Comparing BusinessObjects and Desktop Intelligence Reports

Page 17: Report Comparison Tool Guide - Archive

ComparisonTool.book Page 17 Thursday, March 29, 2007 4:15 PM

Calculation Engine Differences

Page 18: Report Comparison Tool Guide - Archive

Calculation Engine DifferencesOverview1

ComparisonTool.book Page 18 Thursday, March 29, 2007 4:15 PM

OverviewDuring migration to the BusinessObjects XI R2 platform, you can use the Import Wizard to migrate BusinessObjects documents to Desktop Intelligence format.epending on the version of the original document and the data in the original document, your reports might return different results in certain circumstances after migration. These differences are the result of several sets of improvements to the software, and in particular to the calculation engine (the part of the software that calculates report values), that Business Objects has made since version 5.1.4.

BusinessObjects modificationsBusiness Objects modified the calculation engine in BusinessObjects versions 5.1.4 and 6.0. These two sets of modifications are cumulative: if you migrate a document from BusinessObjects 5.1.3 to 6.5, the migrated document contains both sets of modifications.Business Objects made further improvements to the software when BusinessObjects 6 became Desktop Intelligence. These modifications did not impact the calculation engine, but they can result in changed values in certain circumstances. They are also cumulative with the calculation engine modifications: if you migrate from BusinessObjects 5.1.3 to Desktop Intelligence, your document data can potentially be changed by all three sets of modifications. For a summary of modifications by version, see “Modifications by version” on page 19. The topics “BusinessObjects 5.1.4 modifications” on page 20, “BusinessObjects 6.0 modifications” on page 30 and “Desktop Intelligence modifications” on page 36 provide detailed information on modifications as well as describing how, where possible, you can edit your reports to return pre-modification values.

18 Comparing BusinessObjects and Desktop Intelligence Reports

Page 19: Report Comparison Tool Guide - Archive

Calculation Engine DifferencesBusinessObjects modifications 1

ComparisonTool.book Page 19 Thursday, March 29, 2007 4:15 PM

Modifications by versionThe following table contains a brief summary of all modifications:

Document version Areas affected by modifications

All 5.x versions starting from and including 5.1.4.

• Multiple cubes and global filters • Multiple cubes and complex filters • Incompatible objects in the same block • The NoFilter() function Multiple cubes can occur either when the document contains multiple data providers, or when a single data provider contains multiple cubes.Global filters are filters that apply to an entire report.Complex filters are filters based on a formula (for example <Country> <> “France”).

All 6.x versions starting from and including 6.0.

• Blocks with objects from different data providers and the Count() function to count the rows in the blocks

• Filters that apply to objects that contain empty values

• Master/detail reports with incompatible objects in the section header and body and filters applied to the header

• Rankings in blocks that contain empty values and objects from different data providers

• The NoFilter() function used with a Where clause• Blocks with the Avoid Duplicate Rows

Aggregation setting activatedDesktop Intelligence • The UniverseName() function

• Unicode fonts• Decimal precision

Comparing BusinessObjects and Desktop Intelligence Reports 19

Page 20: Report Comparison Tool Guide - Archive

Calculation Engine DifferencesBusinessObjects 5.1.4 modifications1

ComparisonTool.book Page 20 Thursday, March 29, 2007 4:15 PM

BusinessObjects 5.1.4 modificationsBusinessObjects 5.1.4 modifications affect:• global filters• complex filters• incompatible objects in the same block

Do you need to read this section?You could be affected by these modifications if you have BusinessObjects reports that contain the following:• multiple data providers or a single data provider with multiple cubes, and

global filters • multiple data providers or a single data provider with multiple cubes, and

complex filters • incompatible objects in the same block

Global filtersGlobal filters are filters that apply to an entire report tab, as opposed to block filters, which apply to specific blocks only. Global filters behave differently in BusinessObjects 5.1.3 and 5.1.4+.

Are your reports affected?If your reports contain global filters and multiple cubes, whether from single or multiple data providers, your reports are affected by the change in global filters behavior.

Global filters behavior in BusinessObjects 5.1.3In this example a report has three data providers containing several linked objects:Data Provider 1: Country, Resort, Service, Service Line, RevenueData Provider 2: Country, Resort, Service, Service Line, RevenueData Provider 1: Country, Resort, CityThe City object in Data Provider 3 is not linked to the other data providers, but Country and Resort in Data Provider 3 are both linked to Country and Resort of Data Provider 1 and 2.

20 Comparing BusinessObjects and Desktop Intelligence Reports

Page 21: Report Comparison Tool Guide - Archive

Calculation Engine DifferencesBusinessObjects 5.1.4 modifications 1

ComparisonTool.book Page 21 Thursday, March 29, 2007 4:15 PM

There is a global filter defined on City with a condition that is not met: City = ‘test’.BusinessObjects 5.1.3 creates a report with one table per data provider. The first table is based on Data Provider 1, the second on Data Provider 2 and the third on Data Provider 3. The filter impacts the table based on Data Provider 3 only: the table has no data because no row matches the filter criterion.

Global filters behavior in BusinessObjects 5.1.4BusinessObjects 5.1.4 behavior is modified to account for indirect filters. In the example, indirect filtering means that all tables do not now show any data because BusinessObjects indirectly applies the filter on table 3 to the other two tables. It does this because the other tables are linked to the table containing the object referenced in the filter. This mechanism is similar to an equi-join in a RDBMS, where the rows returned from all joined tables are determined by a WHERE restriction on any individual table.

Obtaining BusinessObjects 5.1.3 results in BusinessObjects 5.1.4You can recreate BusinessObjects 5.1.3 behavior in two ways: by moving the filter to the block level, or by desynchronizing the queries.

Moving the filter to the block levelIn the example, you can ensure that all tables are not filtered by applying the filter City=’test’ to table 3 only. Note that this solution works only if the filtered block contains the object referenced in the filter. If the block does not contain the City object, you cannot apply the filter to it.

Desynchronizing the data providersThe other solution is to desynchronize the data providers. By removing the links between them, you ensure that BusinessObjects will not apply the filter indirectly to other data providers.

Indirect filters and calculationsThe new indirect filters behavior has implications for calculations. In this example, you have two data providers:Data Provider 1: Country, Resort, Revenue Data Provider 2: Country, Future Guests

Comparing BusinessObjects and Desktop Intelligence Reports 21

Page 22: Report Comparison Tool Guide - Archive

Calculation Engine DifferencesBusinessObjects 5.1.4 modifications1

ComparisonTool.book Page 22 Thursday, March 29, 2007 4:15 PM

You have a report with three blocks. The third block contains the objects Country (from Data Provider 1), Resort, Revenue and Future Guests. If you add a sum on the Revenue and Future Guest columns in the third block and a complex filter, Resort=’Bahamas Beach’, on the Resort object, you get the following result:

The Sum for Future Guests is wrong in BusinessObjects 5.1.3 because the indirect filters behavior is not implemented. In this case, the filter on the first data provider is not applied indirectly to the second data provider, with the result that the Future Guests figure is counted twice. In BusinessObjects 5.1.4+, the sum is correct.Note: if you add a sum to the Future Guests column before applying the complex filter, BusinessObjects still gives the figure 102, even though the column contains three figures: 46, 56 and 56. For an explanation of this, see “Aggregation levels in synchronized data providers” on page 28.BusinessObjects 5.1.4 calculates the correct sum as follows: • filter on the first data provider to get a list of rows that need to be

preserved.• join this set of rows with the second data provider on the data providers’

linked dimensions. This join returns a row only if there is a row in each data provider.

In the example:• filter on Resort in the first data provider to return one row (US, Bahamas

Beach).• join to the second data provider to return one row and the correct value

for Future Guests.

Complex filtersComplex filters are filters that are based on a formula, for example: Country <> ‘France’

Are your reports affected?If your reports contain complex filters and multiple cubes, whether from single or multiple data providers, your reports are affected by the change in complex filters behavior.

Country (DP1) Resort Revenue Future Guests

US Bahamas Beach $971,444 56Sum: 102

22 Comparing BusinessObjects and Desktop Intelligence Reports

Page 23: Report Comparison Tool Guide - Archive

Calculation Engine DifferencesBusinessObjects 5.1.4 modifications 1

ComparisonTool.book Page 23 Thursday, March 29, 2007 4:15 PM

Complex filters in BusinessObjects 5.1.3The complex filter algorithm in BusinessObjects 5.1.3 produced errors in certain situations involving linked data providers. This had the following symptoms:• Incorrect display of lists of values• Different behavior when filtering empty values

Lists of values in BusinessObjects 5.1.3The following example looks at a list of values associated with a filter. Here are the details of the report:• Data Provider 1: Country, Quarter, Year, Revenue • Data Provider 2: Country, Number of Guests • The two data providers are synchronized on Country.• A variable called Test whose formula references objects in both data.• A complex filter with the formula Test<>’FRA’.When you view the list of values related to the Test variable, all values not equal to FRA should be selected, but this is not always the case. When you open the report with BusinessObjects 5.1.4+, all values are selected.Note: BusinessObjects 5.1.3 and 5.1.4+ give the same results with simple filters.

Empty values in BusinessObjects 5.1.3The complex filters fix has implications for filtering on empty values. Before the fix, this filtering occurred automatically. Now there is no automatic filter on empty values in a multi-data provider report. The following example illustrates this.You have a simple report as follows:• Data Provider 1: Country, Revenue• Data Provider 2: Country, Revenue • The second data provider has a query condition that restricts Country to

“US”.

This is the report display:

Country(DP1) Revenue(DP1)

France $835,420US $2,451,104

Comparing BusinessObjects and Desktop Intelligence Reports 23

Page 24: Report Comparison Tool Guide - Archive

Calculation Engine DifferencesBusinessObjects 5.1.4 modifications1

ComparisonTool.book Page 24 Thursday, March 29, 2007 4:15 PM

If you add a complex filter on Revenue on the third table, <Revenue(DP2)> <> 2451104, BusinessObjects 5.1.3 takes the empty value into consideration and the third table with synchronized data providers contains one row:

Empty values in BusinessObjects 5.1.4+In the above example, BusinessObjects 5.1.4+ does not display any results in the third table because the filter does not account for the empty revenue value.

Obtaining BusinessObjects 5.1.3 results in BusinessObjects 5.1.4+You make BusinessObjects 5.1.4+ behave like BusinessObjects 5.1.3 by forcing it to account for empty values. To force BusinessObjects, you incorporate an object from the first data provider into the filter definition. If you change the filter definition in the above example to (<Revenue(DP2)> <> 2451104) And (<Country(DP1)> = <Country(DP1)>) the result is the same as the BusinessObjects 5.1.3 result. By including an object, Country(DP1), from the first data provider, you force BusinessObjects to take the empty value into account.

Incompatible objectsBusinessObjects 5.1.4+ contains changes that can affect reports containing incompatible objects under certain circumstances. Incompatible objects are objects that belong to different contexts in a universe. BusinessObjects universe designers often use contexts to resolve loops in database structures. If a query references incompatible objects, it cannot be expressed as a single SQL query; BusinessObjects therefore builds multiple data cubes and synchronizes them.

Country)DP2) Revenue(DP2)

US $2,451,104

Country(DP1) Revenue(DP2)

FranceUS $2,451,104

Country(DP1) Revenue(DP2)

France

24 Comparing BusinessObjects and Desktop Intelligence Reports

Page 25: Report Comparison Tool Guide - Archive

Calculation Engine DifferencesBusinessObjects 5.1.4 modifications 1

ComparisonTool.book Page 25 Thursday, March 29, 2007 4:15 PM

Determining if your reports are affectedIf your reports have incompatible objects that appear in the same block, they are affected by the change in incompatible objects behavior.You can quickly tell if a report is affected. Open the Data Manager dialog box by selecting Data > View Data on the menu.The Data Manager shows the data cube or cubes that BusinessObjects uses internally to build the report, and the objects within each cube. Each cube is populated from one SQL query; if there is more than one cube, the report contains multiple queries.If the report has more than one cube or SQL query, check whether objects from different cubes (incompatible objects) appear in the same block of data. If you have reports that satisfy these conditions, they are affected by the incompatible objects fix in BusinessObjects 5.1.4+You can further see why these objects are incompatible by examining the Island Resorts Marketing universe, which has two contexts. The Reservation Year object (derived from reservations.res_date) and the Revenue object (derived from sales.invoice_date) each belong to a different context:

Incompatible objects in BusinessObjects 5.1.3A report contains the Country, Year, Reservation Year, Revenue and Future Guests objects. Because Reservation Year and Revenue come from different contexts, BusinessObjects needs to perform two steps:• Sum Future Guests by Country by Reservation Year• Sum Revenue by Country by YearTo do this BusinessObjects generates two SQL statements and builds the following cubes:Cube 1: Country, Year, RevenueCube 2: Country, Reservation Year, Future GuestsYou can examine the underlying cube structure of a report using the Data Manager dialog box. The Data Providers pane on the left shows the cubes used in the report.You can also examine the SQL generated by BusinessObjects in the SQL Viewer dialog box that you access from the Query Panel:

Comparing BusinessObjects and Desktop Intelligence Reports 25

Page 26: Report Comparison Tool Guide - Archive

Calculation Engine DifferencesBusinessObjects 5.1.4 modifications1

ComparisonTool.book Page 26 Thursday, March 29, 2007 4:15 PM

Internal handling of multiple cubesWhen processing a report that contains multiple cubes, BusinessObjects fuses all cubes into a single cube. For the above example, this cube is as follows:

There is no true relationship between the Year and Reservation Year objects in this cube. The cube contains two different kinds of information, based around the incompatible objects: • Revenue by Country by Year• Future Guests by Country by Reservation YearThis information is synchronized around the one common dimension – Country, but the relationship between Year and Reservation Year for any row is arbitrary.

Incompatible objects and filtersA problem arises if you apply a filter on, for example, the Reservation Year column and exclude Year from the report. If you restrict Reservation Year to ‘FY96’ only, the cube produces the following data:

In this situation the Revenue column clearly displays incorrect data. It shows the revenues for France and US for FY93. But because Year, the second object around which Revenue is aggregated, does not appear in the report, it should show the total revenues for France and US respectively, irrespective of year. (That is, by Country - the other object on which Revenue is aggregated.).

Country Year Reservation Year

Future Guests

Revenue

France FY93 FY96 17 $295,940France FY94 FY97 15 $280,310France FY95 FY98 14 $259,170US FY93 FY96 48 $767,614US FY94 FY97 8 $826,930US FY95 <empty> <empty> $856,560

Country Reservation Year

Future Guests

Revenue

France FY96 17 $295,940US FY96 48 $767,614

26 Comparing BusinessObjects and Desktop Intelligence Reports

Page 27: Report Comparison Tool Guide - Archive

Calculation Engine DifferencesBusinessObjects 5.1.4 modifications 1

ComparisonTool.book Page 27 Thursday, March 29, 2007 4:15 PM

In other words, the aggregation of revenue by country is unrelated to Reservation Year.

Cube filteringCubes are filtered either internally by BusinessObjects or when a user applies a filter. When BusinessObjects is working with cubes behind the scenes, or when the user drills on a report, BusinessObjects sometimes applies internal filters.

The NoFilter() functionBusinessObjects has a function called NoFilter(). When you use this function, BusinessObjects ignores any user-defined filters when performing calculations. In BusinessObjects 5.1.3 NoFilter() could cause BusinessObjects to ignore internal filters (filters applied by BusinessObjects when processing cubes), resulting in incorrect results.

Incompatible objects in BusinessObjects 5.1.4+In BusinessObjects 5.1.4+, user-applied filters have no effect on unrelated aggregations when a block contains incompatible objects. In behind-the-scenes processing, BusinessObjects ensures that filters do not affect unrelated aggregations. Furthermore, the NoFilter() function no longer causes BusinessObjects to ignore internal filters. These changes ensure that the rare occasions on which BusinessObjects could return incorrect data from blocks with incompatible objects no longer occur.

Activating the fixThe incompatible objects fix is not active by default in BusinessObjects 5.1.4+. You activate it by setting values in the Windows registry. Because each case of a potential incompatible objects problem is unique, you need to discuss your particular case or cases with BusinessObjects Customer Support, who can advise you which values to use for these registry settings.

The MultiCube() functionMultiCube() is a function that ensures that BusinessObjects takes all cubes into account when performing calculations in reports that contain synchronized queries. If you have used MultiCube() in your multi-cube reports, you should not remove it even after activating the BusinessObjects 5.1.4 fix. You still need to use MultiCube() in BusinessObjects 5.1.4.

Comparing BusinessObjects and Desktop Intelligence Reports 27

Page 28: Report Comparison Tool Guide - Archive

Calculation Engine DifferencesBusinessObjects 5.1.4 modifications1

ComparisonTool.book Page 28 Thursday, March 29, 2007 4:15 PM

Aggregation levels in synchronized data providersWhenever you work with synchronized data providers, you must pay close attention to the structure and semantics of your data, because certain anomalies can arise from the data structure rather than limitations in BusinessObjects. “Indirect filters and calculations” on page 21 gives an example of this. Remember that there are two data providers:Data Provider 1: Country, Resort, Revenue Data Provider 2: Country, Future Guests You build a block that contains dimensions and measures from both data providers:

The Sum and Count figures for the Future Guests column are clearly anomalous. The point to note is that Future Guests is compatible with both Country and Resort, yet it is placed in the third block from a data provider that aggregates solely by Country. As a result, BusinessObjects recognizes only two values for Future Guests (which is why the sum is anomalous) and does not calculate future guests by country and resort (which is why the values for the two US resorts are anomalous). You remove this anomaly by including the Resort dimension in the data provider that contains Future Guests. BusinessObjects is then able to calculate Future Guests correctly.

Country(DP1) Resort Revenue(DP1)

France French Riviera $835,420US Bahamas Beach $971,444US Hawaiian Club $1,479,600

Country(DP2) Future Guests

France 46US 56

Country(DP1) Resort Revenue(DP1) Future Guests

France French Riviera $835,420 46US Bahamas Beach $971,444 56US Hawaiian Club $1,479,600 56

Sum: 102Count: 3 Count: 2

28 Comparing BusinessObjects and Desktop Intelligence Reports

Page 29: Report Comparison Tool Guide - Archive

Calculation Engine DifferencesBusinessObjects 5.1.4 modifications 1

ComparisonTool.book Page 29 Thursday, March 29, 2007 4:15 PM

In general, if you place a measure from one data provider in a block containing dimensions from another data provider that are compatible with the measure, you need to make sure that the measure data provider contains all the compatible dimensions in the block. This ensures that the measure is aggregated at the correct level in the block.

Comparing BusinessObjects and Desktop Intelligence Reports 29

Page 30: Report Comparison Tool Guide - Archive

Calculation Engine DifferencesBusinessObjects 6.0 modifications1

ComparisonTool.book Page 30 Thursday, March 29, 2007 4:15 PM

BusinessObjects 6.0 modificationsBusinessObjects 6.0 modifications affect:• The Count() function• Filtering on empty values• Filters on master detail reports containing incompatible objects• Rankings• The NoFilter() function• Duplicate row aggregation

Do I need to read this section?You need to read this section if you have reports that contain any of the following:• Blocks with objects from different data providers and the Count()

function to count the rows in the blocks• Filters that apply to objects that contain empty values• Master/detail reports with incompatible objects in the section header and

body and filters applied to the header• Rankings in blocks that contain empty values and objects from different

data providers• The NoFilter() function used with a Where clause• Blocks with the Avoid Duplicate Rows Aggregation setting activated

The Count() functionCount() is a BusinessObjects function that calculates the number of rows in a data provider.

Are your reports affected?Your reports are affected if they contain multiple cubes, multiple data providers and the Count() function. Multiple cubes occur when a BusinessObjects query contains incompatible objects. As a result, BusinessObjects splits the query into two or more cubes in order to resolve it. You do not control the creation of multiple cubes; BusinessObjects does this internally. Multiple data providers occur when you explicitly create more than one cube in a report, by building the report from more than one data provider.

30 Comparing BusinessObjects and Desktop Intelligence Reports

Page 31: Report Comparison Tool Guide - Archive

Calculation Engine DifferencesBusinessObjects 6.0 modifications 1

ComparisonTool.book Page 31 Thursday, March 29, 2007 4:15 PM

The Count() function in BusinessObjects 5.xIn this example your report contains two data providers:Data Provider 1: Country, Year, Reservation Year, Number of Guests Data Provider 2: CountryWhen you run DP1, BusinessObjects cannot resolve it with a single query because the Year and Reservation Year objects are incompatible. BusinessObjects creates two cubes: (Country, Year, Number of Guests) and (Country, Reservation Year). As a result your report has three cubes in total:DP1 Cube 1: Country, Year, Number of GuestsDP1 Cube 2: Country, Reservation YearDP2: CountryIt is this combination of multiple cubes and data providers that causes the Count() function to return different results in BusinessObjects 5.x and 6.0. If you create a block that contains the Country object from DP2 and the Number of Guests object from DP1, then apply the Count() function to the Number of Guests column, you get the following result:

In this situation the underlying cube created by BusinessObjects to build the block contains empty values, because not all countries have a value for Number of Guests. (See “Filtering on empty values” on page 32 for an explanation of empty values.) BusinessObjects 5.x counts these empty values when performing calculations using the Count() function.

The Count() function in BusinessObjects 6.0BusinessObjects 6.0 no longer counts the empty values, with the result that the Count() function for this block returns 2 rather than 7.

Country Number of Guests

AustraliaFrance 446GermanyHollandJapanUKUS 1105Count: 7

Comparing BusinessObjects and Desktop Intelligence Reports 31

Page 32: Report Comparison Tool Guide - Archive

Calculation Engine DifferencesBusinessObjects 6.0 modifications1

ComparisonTool.book Page 32 Thursday, March 29, 2007 4:15 PM

Obtaining BusinessObjects 5.x results in BusinessObjects 6.0To obtain BusinessObjects 5.x results you need to apply the Count() function to a column that does not contain empty values. In the example, the formula for the total is Count(<Number of Guests>). If you change this to Count (<Country(DP2)>) you get the BusinessObjects 5.x result:

Filtering on empty valuesEmpty values occur in a BusinessObjects report for one of two reasons:• A query returns empty values (for example, SQL queries containing outer

joins often return NULL values)• BusinessObjects internal cube processing creates a cube that contains

empty values; for example, the cube underlying the block in the example for the Count() function described above

Are your reports affected?If you have reports with filters on objects that return empty values, they are affected by the enhancement to BusinessObjects filter capability.

BusinessObjects 5.x and 6.0In BusinessObjects 5.x it is not possible to select an empty value when creating a filter. BusinessObjects 6.0 allows you to include the empty values in the filter definition, which allows you to build filters that, for example, exclude all empty values from the report.

Filters in master/detail reports with incompatible objectsFilters behave differently in BusinessObjects 6.0 in master/detail reports that contain incompatible objects in the section header and body.

Are you reports affected?Your reports are affected by this issue if they contain incompatible objects that appear in the header and body sections of a master/detail report.The following is a BusinessObjects 5.x example:You have a report that contains the Country, Resort, Year, Reservation Year and Revenue objects. (Year and Reservation Year are incompatible objects.) Reservation Year appears in the section header; the section body contains a block with Country, Year and Revenue.

32 Comparing BusinessObjects and Desktop Intelligence Reports

Page 33: Report Comparison Tool Guide - Archive

Calculation Engine DifferencesBusinessObjects 6.0 modifications 1

ComparisonTool.book Page 33 Thursday, March 29, 2007 4:15 PM

If you apply a filter on Reservation Year, for example Reservation Year=”FY98”, the filter also causes the entire contents of the block in the section body to be filtered.In BusinessObjects 6.0, the filter on the object in the section header does not affect the objects in the section body:

Rankings in blocks with different data providers and empty values

In BusinessObjects 6.0, ranking returns correct sub-totals in reports from rankings on blocks that contain objects from different data providers and empty values.

Are your reports affected?Your reports are affected by this issue if they contain rankings with sub-totals in blocks that contain• objects from different data providers • empty valuesIn this BusinessObjects 5.0 example you have a report with two data providers:Data Provider 1: Country Data Provider 2: Country, Resort, Number of Guests Your report has a block that contains Country (DP1), Resort and Number of Guests. You rank the top country by Number of Guests and include sub-totals in the ranking.

The Sum and Sum Other totals are incorrect. Sum totals all Number of Guests figures in the report, rather than those left in the block by the ranking, and Sum Other does not include the figures excluded from the block by the ranking.These sums are correct in BusinessObjects 6.0.

US Bahamas Beach 565US Hawaiian Club 540

Sum: 1105Sum Other: 446Sum All: 1551

Comparing BusinessObjects and Desktop Intelligence Reports 33

Page 34: Report Comparison Tool Guide - Archive

Calculation Engine DifferencesBusinessObjects 6.0 modifications1

ComparisonTool.book Page 34 Thursday, March 29, 2007 4:15 PM

The NoFilter() function with a Where clauseNoFilter() is a function that tells BusinessObjects to ignore all filters when calculating a value.

Are your reports affected?Your reports are affected by this issue if they use the NoFilter() function with a Where clause.

NoFilter()…Where in BusinessObjects 5.xYou have a report containing the Resort, Services and Revenue objects. You apply a filter on Services to retain the value “Bungalow” only. The function NoFilter(<Revenue>) returns the total revenue for all services because it ignores the filter. You can refine the NoFilter() function with a Where clause; for example, NoFilter(<Revenue>) Where (<Service> = “Excursion”)

returns the total revenue for all “Excursion” services.In BusinessObjects 5.x it does not matter where you place the parentheses that enclose the input to the NoFilter() function. For example,NoFilter (Sum(<Revenue>) Where (<Service>="Excursion"))

andNoFilter ((Sum(<Revenue>)) Where (<Service>="Excursion")

return the same result.

NoFilter()…Where in BusinessObjects 6.0In BusinessObjects 6.0, the position of the NoFilter() parentheses is critical.NoFilter (Sum(<Revenue>) Where (<Resort>="Bahamas Beach"))

returns the same value as BusinessObjects 5.x, butNoFilter ((Sum(<Revenue>)) Where (<Service>="Excursion")

returns an empty value. When you use the second syntax, BusinessObjects does not apply NoFilter() function to the sum before applying the Where clause. As a result, BusinessObjects returns an empty value, because the application of the filter (Service=”Bungalow”) followed by the Where clause (Service=”Excursion”) excludes all revenue values.

34 Comparing BusinessObjects and Desktop Intelligence Reports

Page 35: Report Comparison Tool Guide - Archive

Calculation Engine DifferencesBusinessObjects 6.0 modifications 1

ComparisonTool.book Page 35 Thursday, March 29, 2007 4:15 PM

Obtaining BusinessObjects 5.x results in BusinessObjects 6.0To obtain BusinessObjects 5.x results, ensure that your NoFilter()…Where functions or variables use the syntax that returns the same result as BusinessObjects 5.x.

Duplicate row aggregationThe Avoid Duplicate Row Aggregation setting for a block tells BusinessObjects to return a single row for all rows where all column values are duplicated across multiple rows. When you select this option in a block in a report with multiple data providers, BusinessObjects ignores sorts on the block.

BusinessObjects 5.x and BusinessObjects 6.0 behaviorIn this example you have two data providers: Data Provider 1: Customer, Reservation Year Data Provider 2: Customer You create a block from Customer and Reservation Year (both from the same data provider) and place a sort on Customer in the block.When you include all rows in the table and include duplicates by selecting the Avoid Duplicate Rows Aggregation option, BusinessObjects ignores the sort on Customer.When you exclude duplicate rows from the table by deselecting the option, BusinessObjects sorts the table on the Customer object. BusinessObjects 6.0 applies the sort whether or not the Avoid Duplicate Rows Aggregation option is selected.

Comparing BusinessObjects and Desktop Intelligence Reports 35

Page 36: Report Comparison Tool Guide - Archive

Calculation Engine DifferencesDesktop Intelligence modifications1

ComparisonTool.book Page 36 Thursday, March 29, 2007 4:15 PM

Desktop Intelligence modifications

The UniverseName() functionThe UniverseName() function now returns the short name of a universe, rather than the long name. For example, where the function previously returned “Island Resorts Marketing“, it now returns “beach“.This change could affect the overall report size if the Autofit properties of the cell containing the function are enabled. The size of Autofit cells changes in relation to the data they contain, and the change in cell size might affect the size of the whole report. Changes in report size could in turn affect functions whose output relates to the report size, for example NumberOfPages().

Unicode fontsThe sizes of the Unicode fonts used by Desktop Intelligence are not identical to the sizes of the corresponding non-Unicode fonts. This might have the following impacts:• Data in cells which previously displayed all the cell data is now truncated,

resulting in ###s to denote the truncation.• Functions that return data relating to the report size - for example

NumberOfPages() - might return different values in reports with cells whose Autofit properties are enabled. The size of Autofit cells changes in relation to the data they contain, and these changes in cell size might affect the size of the whole report.

• Reports are not identical when compared in a pixel-by-pixel comparison.

Decimal precisionDesktop Intelligence supports up to 24 decimal places, as opposed to 10 in previous versions. This increased precision might affect the output of some functions, in particular the euro conversion functions.

36 Comparing BusinessObjects and Desktop Intelligence Reports