Show TOC

Join-Bedingung definierenLocate this document in the navigation structure

Kontext

Eine Join-Bedingung legt fest, welche Kombination von Sätzen der einzelnen Objekte in die Ergebnismenge aufgenommen wird.

Um ein InfoSet aktivieren zu können, müssen die Join-Bedingungen (als Equal-Join-Bedingungen) so definiert sein, dass alle vorhandenen Objekte direkt oder indirekt miteinander verbunden sind.

Meist werden aber nur diejenigen Zeilen verbunden, die das gleiche InfoObject enthalten bzw. deren InfoObjects das gleiche Basismerkmal besitzen.

Beispiel

Sie verbinden die Tabellen T1 und T2 über einen Join und legen als Join-Bedingung fest, dass das Feld F1 aus T1 den gleichen Wert wie das Feld F2 aus T2 haben muss. Das System bestimmt dann für einen Satz aus der Tabelle T1 alle Sätze aus T2, für die F2(T2) = F1(T1) gilt. Dabei können prinzipiell beliebig viele Sätze aus T2 gefunden werden. Werden ein oder mehrere Sätze gefunden, so wird die entsprechende Anzahl von Sätzen in der Ergebnismenge aufgenommen, wobei die Felder aus T1 jeweils die Werte aus dem betrachteten Satz aus T1 enthalten und die Felder aus T2 die Werte der gefundenen Sätze aus T2.

Vorgehensweise


  1. Definieren Sie die Join-Bedingungen. Dazu haben Sie verschiedene Möglichkeiten:

    Über Linkpflege:

    Wir empfehlen dieses Verfahren, da das System für ein vom Benutzer vorgegebenes Feld oder Attribut alle möglichen Kandidaten für Join-Bedingungen sucht und somit gewährleistet ist, dass die Join-Bedingung fehlerfrei definiert werden kann.

    1. Sie gelangen auf das Dialogfenster Linkpflege.

      Im linken Bildbereich werden alle bereits im Join enthaltenen InfoProvider mit ihren Feldern oder Attributen in einer Baumstruktur angezeigt. Wenn Sie ein Feld bzw. Attribut mit Doppelklick markieren, werden im rechten Bildbereich diejenigen Felder oder Attribute angeboten, mit welchen Sie eine Join-Bedingung definieren können.

    2. Setzen Sie eines oder mehrere Kennzeichen in der Spalte Auswahl der gewünschten Felder oder Attribute. Das System stellt eine gültige Join-Bedingung her.

    3. Über Links löschen können Sie alle vorhandenen Join-Bedingungen wieder zurücksetzen.

    4. Über Alle Merkmale bzw. Nur Basismerkmale haben Sie die Wahl zwischen den entsprechenden Anzeigevarianten.

      Empfehlung

      Wir empfehlen die Einstellung Nur Basismerkmale. Die Einstellung Alle Merkmale stellt alle technischen Möglichkeiten einer Verbindung zur Auswahl. Wenn Sie auf der Ebene der Basismerkmale keine Join-Bedingung finden, ist dies allerdings nur in Ausnahmefällen sinnvoll.

    5. Wenn Sie Ihre Einstellungen vorgenommen haben, wählen Sie Weiter.

    Mit der Maus:

    1. Markieren Sie die gewünschte Zeile in einem Objekt.

    2. Verbinden Sie die markierte Zeile bei gedrückter linker Maustaste mit der entsprechenden Zeile des anderen Objektes. Wenn eine Join-Bedingung zwischen diesen beiden Zeilen erlaubt ist, stellt das System die gültige Join-Bedingung durch eine Verbindungslinie dar.

  2. Wählen Sie gegebenenfalls den Join-Typ aus.

    1. Left-Outer-Join:

      Wenn Sie ein Objekt über einen Left-Outer-Join-Operator verbinden möchten, markieren Sie dieses, und wählen Sie Anfang des Navigationspfads Jointyp Nächster Navigationsschritt Left Outer Join Ende des Navigationspfads im Kontextmenü.

      Hinweis

      Diese Funktion steht Ihnen bei InfoCubes nicht zur Verfügung.

      Weitere Informationen: Left Outer Join

    2. Anti-Join

      Wenn Sie ein Objekt über einen Anti-Join-Operator verbinden möchten, markieren Sie dieses, und wählen Sie Anfang des Navigationspfads Jointyp Nächster Navigationsschritt Anti Join Ende des Navigationspfads im Kontextmenü.

      Weitere Informationen: Anti-Join

      Hinweis

      InfoProvider, an denen eine Left-Outer-Join-Bedingung bzw. Anti-Join-Bedingung hängt, werden farblich von denjenigen InfoProvidern abgehoben, die über Inner-Join-Operatoren verbunden sind. Das System stellt alle gültigen Join-Bedingungen, die von diesem Objekt ausgehen, durch Verbindungslinien mit der Beschriftung Left Outer Join bzw. Anti-Join dar.

      Hinweis

      Wenn Sie einen Left-Outer-Join-Operator oder einen Anti-Join-Operator verwenden, um zwei Objekte zu verbinden, müssen Sie bei der Formulierung der Join-Bedingungen beachten, dass alle Join-Bedingungen ausschließlich diese beiden Objekte verknüpfen.

      Beachten Sie, dass Sie an ein Objekt, das Sie über den Left-Outer-Join-Operator oder einen Anti-Join-Operator verbunden haben, kein weiteres Objekt mehr anfügen können.

    3. Inner Join:

      Sie können über das Kontextmenü auch wieder von einem Anti-Join oder einem Left Outer Join auf Inner Join umstellen.

      Das System stellt dann alle gültigen Join-Bedingungen, die von diesem Objekt ausgehen, wieder durch unbeschriftete Verbindungslinien dar.

  3. Über Prüfen können Sie ermitteln, ob alle vorhandenen Objekte direkt oder indirekt miteinander verbunden sind.

    Hinweis

    Wenn ein Objekt über einen Left-Outer-Join-Operator angeschlossen ist, wird zusätzlich geprüft, ob alle anderen Objekte für sich betrachtet ebenfalls direkt oder indirekt miteinander verbunden sind.

  4. Aktivieren Sie das InfoSet.