Report Designer - How data joins work
Description

In Report Designer, closely related data fields are grouped together in tables. For example, the SALES_LEDGER table contains data fields relating to customer records.

However, sometimes you may want to add a data field from a table that isn't available by default. You can use the Join Editor to add additional tables to your report, giving you access to the extra data fields you need.

Before using the Join Editor it's important to understand how data joins work, to ensure your report shows the correct information.

Cause
Resolution
Table types

Using the Join Editor you can add the following types of table:

  • Static table - A table that's not linked to any other tables on the document. It provides stand alone information, not directly linked to any other information on the report. A common static table is COMPANY.
  • Non-static table - This is a table that's joined to another table, based on a common data field. The relationship between the two tables is determined by the type of join you specify. Most tables in a report are non-static.

 

Join criteria

When creating a join between tables the following criteria must be met for the join to work correctly:

  • Data fields must be the same type - Data fields have different types, such as numeric fields which only accept numbers, and alphanumeric fields which accept numbers and text.
  • The join must be between two logical variables - Data fields have to share similar information. For example you can link the customer account reference with the invoice account reference since they are the same.
  • Parent and child keys - When you create a join between two tables, the first table selected becomes the parent and the second table becomes the child. The parent table is signified by a key. This must be set correctly to ensure the correct data is included on your report.
Join types

The relationship between the parent and child tables is determined by the join type you select. To ensure that your report provides the right information, it is important to set the correct join type.

Join typeEffect
InnerAn inner join only includes records that exist in both of the tables that are joined.
Parent OuterA parent outer join only includes records that exist in the parent table.
Child OuterA child outer join only includes records that exist in the child table.
Full OuterA full outer join includes all records that exist in either of the tables that are joined.

 

[BCB:19:UK - Sales message :ECB]

 

 

 

Steps to duplicate
Related Solutions