48
Solving the Mystery of Data Provider Synchronization Stephen Bickerton Noscentia October 2002

Solving the Mystery of Data Provider Synchronization

Embed Size (px)

Citation preview

Page 1: Solving the Mystery of Data Provider Synchronization

Solving the Mystery of Data Provider

SynchronizationStephen Bickerton

NoscentiaOctober 2002

Page 2: Solving the Mystery of Data Provider Synchronization

Copyright © 2002 Business Objects - All Rights Reserved

3

Topics

What is synchronization? Best practices Tips and tricks Common problems and solutions Questions

Page 3: Solving the Mystery of Data Provider Synchronization

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

Page 4: Solving the Mystery of Data Provider Synchronization

Copyright © 2002 Business Objects - All Rights Reserved

5

What is Synchronization?

Query 1 from Universe Query 2 from Spreadsheet

Unique values

Page 5: Solving the Mystery of Data Provider Synchronization

Copyright © 2002 Business Objects - All Rights Reserved

6

What is Synchronization?

Establish a Relationship between the Common Dimensions

Page 6: Solving the Mystery of Data Provider Synchronization

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

Page 7: Solving the Mystery of Data Provider Synchronization

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

Page 8: Solving the Mystery of Data Provider Synchronization

Copyright © 2002 Business Objects - All Rights Reserved

9

Topics

What is synchronization? Best practices Tips and tricks Common problems and solutions Questions

Page 9: Solving the Mystery of Data Provider Synchronization

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

Page 10: Solving the Mystery of Data Provider Synchronization

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

Page 11: Solving the Mystery of Data Provider Synchronization

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

Page 12: Solving the Mystery of Data Provider Synchronization

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

Page 13: Solving the Mystery of Data Provider Synchronization

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

Page 14: Solving the Mystery of Data Provider Synchronization

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”

Page 15: Solving the Mystery of Data Provider Synchronization

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

Page 16: Solving the Mystery of Data Provider Synchronization

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)

Page 17: Solving the Mystery of Data Provider Synchronization

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

Page 18: Solving the Mystery of Data Provider Synchronization

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

Page 19: Solving the Mystery of Data Provider Synchronization

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…

Page 20: Solving the Mystery of Data Provider Synchronization

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>)

Page 21: Solving the Mystery of Data Provider Synchronization

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

Page 22: Solving the Mystery of Data Provider Synchronization

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

Page 23: Solving the Mystery of Data Provider Synchronization

Copyright © 2002 Business Objects - All Rights Reserved

25

Tips and Tricks

Removing Some, Not All, Null Values - the Outer Join Effect

Null values

Page 24: Solving the Mystery of Data Provider Synchronization

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

Page 25: Solving the Mystery of Data Provider Synchronization

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

Page 26: Solving the Mystery of Data Provider Synchronization

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

Page 27: Solving the Mystery of Data Provider Synchronization

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

Page 28: Solving the Mystery of Data Provider Synchronization

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

Page 29: Solving the Mystery of Data Provider Synchronization

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

Page 30: Solving the Mystery of Data Provider Synchronization

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

Page 31: Solving the Mystery of Data Provider Synchronization

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)

Page 32: Solving the Mystery of Data Provider Synchronization

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

Page 33: Solving the Mystery of Data Provider Synchronization

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

Page 34: Solving the Mystery of Data Provider Synchronization

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

Page 35: Solving the Mystery of Data Provider Synchronization

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

Page 36: Solving the Mystery of Data Provider Synchronization

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

Page 37: Solving the Mystery of Data Provider Synchronization

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

Page 38: Solving the Mystery of Data Provider Synchronization

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”

Page 39: Solving the Mystery of Data Provider Synchronization

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

Page 40: Solving the Mystery of Data Provider Synchronization

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

Page 41: Solving the Mystery of Data Provider Synchronization

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

Page 42: Solving the Mystery of Data Provider Synchronization

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

Page 43: Solving the Mystery of Data Provider Synchronization

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

Page 44: Solving the Mystery of Data Provider Synchronization

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…

Page 45: Solving the Mystery of Data Provider Synchronization

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

Page 46: Solving the Mystery of Data Provider Synchronization

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

Page 47: Solving the Mystery of Data Provider Synchronization

Copyright © 2002 Business Objects - All Rights Reserved

49

Topics

What is synchronization? Best practices Tips and tricks Common problems and solutions Questions

Page 48: Solving the Mystery of Data Provider Synchronization

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’