Solving the Mystery of Data Provider
SynchronizationStephen Bickerton
NoscentiaOctober 2002
Copyright © 2002 Business Objects - All Rights Reserved
3
Topics
What is synchronization? Best practices Tips and tricks Common problems and solutions Questions
Copyright © 2002 Business Objects - All Rights Reserved
4
What is Synchronization?
Synchronization Report developers establish relationships between two or
more data providers (or micro cubes of data) To combine and display in a table, cross-tab or chart
Common values will be displayed as one row Uncommon values will also be displayed
Copyright © 2002 Business Objects - All Rights Reserved
5
What is Synchronization?
Query 1 from Universe Query 2 from Spreadsheet
Unique values
Copyright © 2002 Business Objects - All Rights Reserved
6
What is Synchronization?
Establish a Relationship between the Common Dimensions
Copyright © 2002 Business Objects - All Rights Reserved
7
What is Synchronization?
Establish a Relationship between the Common Dimensions
The common dimension objects become synchronized or linked in the “Define link Between dimensions” dialogue
Copyright © 2002 Business Objects - All Rights Reserved
8
What is Synchronization?
The Two Data Providers Are Now Merged
All values from both data providers are displayed
Unique values originating from the ‘historical’ data provider
Unique values originating from ‘Q1 spreadsheet’ data provider
Copyright © 2002 Business Objects - All Rights Reserved
9
Topics
What is synchronization? Best practices Tips and tricks Common problems and solutions Questions
Copyright © 2002 Business Objects - All Rights Reserved
10
Best Practices
Synchronization is limited to dimensions only Occurs at the micro cube level Local variables of all qualifications, details and measures
cannot be synchronized
Copyright © 2002 Business Objects - All Rights Reserved
11
Best Practices
Linked dimensions should have the same data type The data type of any object can be found in the data manager Universe designers should adhere to certain design
standards in order that the data type of potentially linked objects match
Copyright © 2002 Business Objects - All Rights Reserved
12
Best Practices
Measures will aggregate/roll-up (sum, count, average, min, max) to the level of the linked dimensions
The object, Fed Tax, is a measure
Copyright © 2002 Business Objects - All Rights Reserved
13
Best Practices
Measures will aggregate/roll-up (sum, count, average, min, max) to the level of the linked dimensions
Copyright © 2002 Business Objects - All Rights Reserved
14
Best Practices
Unlinked dimensions from only one data provider can be added to a combined block Ideally, users should downgrade all unlinked dimensions and
details to details that are associated to the linked dimension
Detail objects should be associated and dependent on the appropriate dimension at the universe level
Copyright © 2002 Business Objects - All Rights Reserved
15
Best Practices
For stable synchronization, linked dimensions should be at the lowest level of detail (like third normal form)
“Group Name” is linked but not at the lowest level of detail So “Fed Tax” is incorrect when combined with “Payroll Quarter”
Copyright © 2002 Business Objects - All Rights Reserved
16
Best Practices
For stable synchronization, linked dimensions should be at the lowest level of detail (like third normal form)
There is one “Group Name” value for four values of “Payroll Quarter”
One linked value to many unlinked values can lead to erroneous data
Copyright © 2002 Business Objects - All Rights Reserved
17
Summary of Best Practices
Synchronizing is limited to dimensions only Linked dimensions should have the same data type Measures will aggregate/roll-up (sum, count, average,
min, max) to the linked dimension Unlinked dimensions from only one data provider can
be added to a block For stable synchronization, linked dimensions should
be at the lowest level of detail (like third normal form)
Copyright © 2002 Business Objects - All Rights Reserved
18
Topics
What is synchronization? Best practices Tips and tricks
Removing null values Prevent data providers from synchronizing
Common problems and solutions Questions
Copyright © 2002 Business Objects - All Rights Reserved
20
Tips and Tricks
To create a defined filter, select Format/Filters from the menu
Removing Null Values, Accessing the Filter Dialogue
Copyright © 2002 Business Objects - All Rights Reserved
21
Tips and Tricks
“Department Name” is the linked dimension and is at the lowest level of detail
Removing Null Values, What To Filter…
Copyright © 2002 Business Objects - All Rights Reserved
22
Tips and Tricks
Removing All Null Values - the Equality Join Effect
The filter logic should be based on measures or details, as they act in association to the linked dimension
Filter Logic= Not IsNull(<Q1 Increase>)And Not IsNull(<Number of Employees>)
Copyright © 2002 Business Objects - All Rights Reserved
23
Tips and Tricks
Removing All Null Values - the Equality Join Effect
All null values have been removed
Copyright © 2002 Business Objects - All Rights Reserved
24
Tips and Tricks
Removing Some, Not All, Null Values - the Outer Join Effect
=Not isNull(<Number of Employees>)
Filter returns non-null values of the measure object “Number of Employees” effectively removing the null values generated from the “Q1 spreadsheet” data provider
Copyright © 2002 Business Objects - All Rights Reserved
25
Tips and Tricks
Removing Some, Not All, Null Values - the Outer Join Effect
Null values
Copyright © 2002 Business Objects - All Rights Reserved
26
Tips and Tricks
BusinessObjects will automatically link all identical dimension objects when two or more data providers reference the same universe
Preventing Data Providers From Synchronizing
Copyright © 2002 Business Objects - All Rights Reserved
27
Tips and Tricks
Report developers may wish to permanently unlink dimension objects across data providers
Preventing Data Providers From Synchronizing
Copyright © 2002 Business Objects - All Rights Reserved
28
Tips and Tricks
Problem - unlinking dimension objects will prevent data synchronization until the query panel is opened
To prevent the cubes from auto-synchronizing, the editable option should be disabled for both data providers
Preventing Data Providers From Synchronizing
Copyright © 2002 Business Objects - All Rights Reserved
29
Topics
What is synchronization? Best practices Tips and tricks Common problems and solutions
Synchronized dimensions not rolling up Variables not compatible error Incorrect aggregation Defined filters with large row counts
Questions
Copyright © 2002 Business Objects - All Rights Reserved
30
Common Problems and Solutions
Synchronized Dimensions Not Rolling Up
Queries linked on ID / Employee ID and Department /Group Name
Copyright © 2002 Business Objects - All Rights Reserved
31
Common Problems and Solutions
Symptom - what appears to be identical data displayed on different rows
Synchronized Dimensions Not Rolling Up
Copyright © 2002 Business Objects - All Rights Reserved
32
Common Problems and Solutions
Employee ID from data provider one is defined as data type “character”
ID from data provider two is defined as data type “numeric”
Synchronized Dimensions Not Rolling Up
Copyright © 2002 Business Objects - All Rights Reserved
33
Common Problems and Solutions
Solution - redefine the data type of the ID column in the spreadsheet
Synchronized Dimensions Not Rolling Up - Solution
Save spreadsheet as a .txt Reimport the .txt into excel Redefine ID column as text Data type could also be
changed in the universe (not advised)
Copyright © 2002 Business Objects - All Rights Reserved
34
Common Problems and Solutions
Symptom - linked objects with the same data type not rolling up State value “CA” appears over multiple lines
Synchronized Dimensions Not Rolling Up - Trailing Blanks
Copyright © 2002 Business Objects - All Rights Reserved
35
Common Problems and Solutions
A query returns trailing blanks Solution 1 - use a database function e.g., rtrim() (Oracle,
Sybase, Access 97), at the universe level or in free hand SQL Solution 2 - select the Options command button within the
query panel to eliminate trailing blanks
Synchronized Dimensions Not Rolling Up - Trailing Blanks
Copyright © 2002 Business Objects - All Rights Reserved
36
Common Problems and Solutions
BusinessObjects prevents the combination of two unlinked dimensions from different data providers
‘Variables Not Compatible’ Message or Objects Grayed Out
Copyright © 2002 Business Objects - All Rights Reserved
37
Common Problems and Solutions
Report Manager with “Zip Code” grayed out
Variables dialogue with Insert command button grayed out
‘Variables Not Compatible’ Message or Objects Grayed Out
Copyright © 2002 Business Objects - All Rights Reserved
38
Common Problems and Solutions
Change qualification of unlinked dimension to detail Associate the detail to the linked dimension
‘Variables Not Compatible’ Message or Objects Grayed Out
Copyright © 2002 Business Objects - All Rights Reserved
39
Common Problems and Solutions
The detail should be associated with the linked dimension at the lowest level of detail
‘Variables Not Compatible’ Message or Objects Grayed Out
Copyright © 2002 Business Objects - All Rights Reserved
40
Common Problems and Solutions
The many to one relationship
Incorrect Aggregation of Objects
There exists a many to one relationship between linked dimension “Department Name” and unlinked dimension “Group Name”
Copyright © 2002 Business Objects - All Rights Reserved
41
Common Problems and Solutions
The measure object “Gross Salary” does not roll up correctly when displayed in a block with only the unlinked dimension “Group Name”
Incorrect Aggregation of Objects
Copyright © 2002 Business Objects - All Rights Reserved
42
Common Problems and Solutions
Due to the many to one relationship, the MultiCube function can be used to force the measure value to roll up correctly
Incorrect Aggregation of Objects
The MultiCube function is available from version 5.0.x
Copyright © 2002 Business Objects - All Rights Reserved
43
Common Problems and Solutions
The one to the many relationship
Incorrect Aggregation of Objects
There is a one to many relationship between the linked dimension “Group Name” and the unlinked dimension “Payroll Year”
Each “Group Name” value has many“Payroll Year” values
Copyright © 2002 Business Objects - All Rights Reserved
44
Common Problems and Solutions
“Fed_Tax” the measure, will display erroneous results if displayed with “Payroll Year” the unlinked dimension
BusinessObjects cannot logically solve this problem, as it only knows the relationship of the Tax paid by each Group Name
The linked dimension is not at the lowest level of detail
MultiCube() cannot resolve the one to many problem
Incorrect Aggregation of Objects
Copyright © 2002 Business Objects - All Rights Reserved
45
Common Problems and Solutions
Synchronizing data providers with large row counts can cause performance problems (calculation time) This occurs when Creating defined filters Creating variables Custom sorts Ranking
Performance Problems - Data Providers with Large Row Counts
Copyright © 2002 Business Objects - All Rights Reserved
46
Common Problems and Solutions
Creating a defined filter with a large row count can can cause the calculation time of the filter to exceed the execution time of the query Example: Synchronizing 2 data providers with 220,000 and 50,000
rows, and 10 columns – calculation of defined filter over 30 minutes
Performance Problems: Data Providers with Large Row Counts…
Copyright © 2002 Business Objects - All Rights Reserved
47
Common Problems and Solutions
Work around Create the defined filter when the data providers have been
purged or have a very small row count Refresh the query and return a full data population The defined filter calculation does not occur in the filter
dialogue and the calculation time is less than three 3 minutes
Performance Problems: Data Providers with Large Row Counts
Copyright © 2002 Business Objects - All Rights Reserved
48
Summary of Tips, Problems & Solutions
Removing null values Equality join effect Outer join effect
Prevent data providers from synchronizing Synchronized dimensions not rolling up
Data type issue Trailing blanks
Variables not compatible error Incorrect aggregation
Many linked dimension values to one unlinked dimension value One linked dimension values to many unlinked dimension value
Defined filters with large row counts
Copyright © 2002 Business Objects - All Rights Reserved
49
Topics
What is synchronization? Best practices Tips and tricks Common problems and solutions Questions
Copyright © 2002 Business Objects - All Rights Reserved
50
Questions
Contact Information Stephen Bickerton, Noscentia (877) 722-7711, www.noscentia.com [email protected]
Noscentia
‘Knowledge through Information’
Top Related