Show TOC

Defining Join ConditionsLocate this document in the navigation structure

Context

A join condition determines the combination of individual object records that are included in the results set.

Before an InfoSet can be activated, the join conditions have to be defined in such a way (as equal join condition) that all the available objects are connected to one another either directly or indirectly.

Usually, however, only rows containing a common InfoObject, or rows containing InfoObjects that share the same basic characteristic, are connected to one another.

Example

Connect tables T1 and T2 using a join and set as a join condition that the F1 field from T1 must have the same value as F2 from T2. For a record from table T1, the system determines all records from T2 for which F2(T2) = F1(T1) is true. In principle, as many records from T2 can be found as required. If one or more records are found, the corresponding number of records is included in the results set, whereby the fields from T1 contain the values from that particular record in T1, and the fields from T2 contain the values of the records found in T2.

Procedure


  1. Define the join conditions. You can do this using one of the following options:

    Via Link Maintenance:

    We recommend this method because the system searches for all the possible join conditions for any field or attribute that the user specifies, ensuring that the join conditions are defined without errors.

    1. The Link Maintenance dialog box appears.

      In a tree structure on the left-hand side of the screen, all of the InfoProviders that are already included in the join are displayed along with their fields or attributes. If you double-click on one of these fields or attributes, the system displays on the right-hand side of the screen all of the fields or attributes with which you are able to create a join condition.

    2. In the Selection column, set one or more of the indicators for the fields or attributes for which you want to create a join condition. The system generates valid join conditions between the fields or attributes that you specify.

    3. You use the Delete Links pushbutton to undo all of the join conditions.

    4. With All Characteristics or Basic Characteristics Only, you can choose the appropriate display variant.

      Recommendation

      We recommend that you use the Basic Characteristics Only option. The All Characteristics setting displays all of the technical options involved in a join. If you are unable to find a join condition on the basic characteristic level, then the All Characteristics setting is useful, but this is an exceptional case.

    5. When you have finished making your settings, click on the Continue icon.

    With the Mouse:

    1. Position the cursor over a row in an InfoObject.

    2. Press the left mouse button and, keeping the left mouse button pressed down, trace a line between this row and a row in another object. Providing that the join condition between the two rows that you have indicated is valid, the system confirms the join condition by displaying a connecting line between the two rows.

  2. Select the join type if required.

    1. Left Outer Join:

      If you want to use a left outer join operator to connect an object, select the object and choose Start of the navigation path Join Type Next navigation step Left Outer Join End of the navigation path from the context menu.

      Note

      This function is not available for InfoCubes.

      More information: Left Outer Join

    2. Antijoin

      If you want to use an antijoin operator to connect an object, select the object and choose Start of the navigation path Join Type Next navigation step Antijoin End of the navigation path from the context menu.

      More information: Antijoin

      Note

      InfoProviders that are connected using a left outer join condition or an antijoin condition are displayed in different colors from the InfoProviders that are connected using inner join operators. The system displays all of the valid join conditions that originate from this object. The connecting lines that represent these join conditions are labeled as Left Outer Join or Antijoin.

      Note

      If you use a left outer join operator or an antijoin operator to connect two objects, you have to make sure that all join conditions except for these two objects are linked when you formulate join conditions.

      Note: You cannot add an object that you have already connected using the left outer join operator or antijoin operator to another object.

    3. Inner Join:

      You can also switch from an Antijoin or a Left Outer Join to Inner Join from the context menu.

      The system displays all the valid join conditions that originate from this object, using unlabeled connecting lines.

  3. With Check, you can find out if all existing objects are directly or indirectly connected with one another.

    Note

    If an object is joined by a left outer join operator, there is a check whether the other objects are also connected to one another either directly or indirectly.

  4. Activate the InfoSet.