02.07.2015
Anton Grening
Autor: Anton Grening

ACL An­a­lyt­ics™ – Re­la­tion­en: Ein­fach, in­di­rekt und mit­tels kom­bi­nier­tem Text­feld

In den ersten zwei Blogeinträgen dieser ACL Analytics™ Reihe (Vier praktische Textfeldfunktionen, Der Klassifizieren-Workaround) haben wir gesehen wie einfach Textfelder kombiniert werden können und welchen Nutzen wir davon haben. Heute zeige ich Ihnen eine weitere Einsatzmöglichkeit für diese Funktionalität.

Ein wesentlicher Vorteil von ACL Analytics™ ist, dass es sich nicht nur hervorragend für die Arbeit mit tabellenstrukturierten Daten eignet, arbeiten die wir in erster Linie mit Microsoft Excel™ verbinden, sondern auch einen Teil von Microsoft Access™ beherrscht, also die Verbindung von mehreren Tabellen über Schlüsselfelder. Da die zu analysierenden Informationen in der Regel auf mehrere Tabellen verteilt sind, bietet ACL Analytics™ die Möglichkeit diese über Relationen zu verbinden und anschließend zusammenzufügen und gemeinsam auszuwerten.

Die Betrachtung von Einkaufsbelegen liefert hier ein gutes Beispiel. SAP® und andere ERP-Systeme verwalten diese und dazu relevante Angaben in mehreren Tabellen. Die Belege selbst sind dabei in die zwei Tabellen Einkaufsbeleg-Kopf und Einkaufsbeleg-Position unterteilt, Informationen zu Lieferanten, dem Buchungskreis oder dem Lagerort sind wiederum in eigenen Stammdatentabellen hinterlegt.
Sogenannte Schlüsselfelder identifizieren bestimmte Datensätze einer Tabelle und ermöglichen gleichzeitig die Verbindung zu anderen Tabellen.

So ist zum Beispiel das Feld Buchungskreis in der Tabelle „Einkaufsbeleg-Position“ ein Schlüsselfeld, das auf die Buchungskreis-Stammdatentabelle verweist. Möchte man nun Informationen aus dieser Tabelle, z.B. die Bezeichnung des Buchungskreises, so geht man in ACL™ wie folgt vor:

Textfelder klassifizieren

Abbildung 1: Definieren einer einfachen Relation zwischen zwei Tabellen

  1. Tabelle "Einkaufsbeleg_Position" öffnen und über das Hauptmenü (Daten -> Verbinden) den Dialog Beziehungen aufrufen
  2. Im Dialog auf die Schaltfläche Tabelle hinzufügen... gehen
  3. Die entsprechende Tabelle auswählen (Hier: "Buchungskreis_Stammdaten")
  4. Das gemeinsame Schlüsselfeld mit der Maus über Drag and Drop verbinden

Nachdem der Prozess mit Fertig stellen… abgeschlossen wird, werden Sie zunächst keine Veränderung feststellen, denn das gewünschte Feld, also die Bezeichnung des Buchungskreises, muss erst in Ihre Ansicht eingefügt werden. (Das soeben verknüpfte Feld kann allerdings sofort in anderen Befehlen verwendet werden, dennoch schadet es nicht, es in die Ansicht hinzuzufügen und es auf Richtigkeit zu überprüfen) Dazu gehen Sie am einfachsten folgendermaßen vor:

Tabellen Relation

Abbildung 2: Einfügen eines Feldes aus einer verbundenen Tabelle

  1. Wählen Sie Spalten einfügen im Menü das Sie über Rechtsklick auf eine Spalte erhalten. (Die neue Spalte wird links daneben eingefügt)
  2. Im Dialog eine Tabelle aus der das Feld hinzugefügt werden soll auswählen. (Hier sehen Sie alle Tabellen die über Relationen zur Ausgangstabelle verknüpft sind)
  3. Das entsprechende Feld mit Doppelklick oder über die Pfeil-Schaltflächen zur Auswahl hinzufügen
  4. Mit OK bestätigen, was Ihnen das Feld in die Ansicht einfügt und die entsprechende Information aus der Stammdatentabelle verknüpft anzeigt

Neben diesen einfachen Relationen, sind in ACL Analytics™ auch indirekte Relationen möglich. Das bedeutet man verbindet eine Tabelle über eine andere, um so an weiterführende Informationen zu einem Datensatz zu gelangen, zu denen kein Schlüsselfeld in der eigenen Tabelle vorhanden ist. Ein gutes Beispiel hierfür ist das Hinzufügen von Lieferanteninformationen an die jeweiligen Positionen in den Einkaufsbelegen. Hierzu muss zunächst über die Belegnummer zu den Kopfdaten der Einkaufsbelege verknüpft werden, da nur diese die Lieferantennummern beinhalten. Über diese kann dann anschließend auf die Lieferantenstammdaten wie z.B. den Namen des Lieferanten zugegriffen werden.

Indirekte Relation definieren

Abbildung 3 Definieren einer indirekten Relation über eine Zwischentabelle

Wie Sie merken, spielen Schlüsselfelder bei dem Verbinden von Tabellen eine wichtige Rolle, deshalb müssen Sie sich hier genau überlegen wie Sie vorgehen. ACL Analytics™ prüft an dieser Stelle lediglich auf Gleichheit der Datentypen ab, weshalb auch unterschiedliche Feldbezeichnungen (Beispiel: Lieferantennr und LieferantNr) möglich sind und die Verbindungen über Felder die keinen Sinn ergeben zugelassen werden, z.B. Lieferantennr aus Einkaufsbeleg_Kopf (Textfeld) mit dem Ort aus Lieferant_Stammdaten(Textfeld). Da es bei den Inhalten der Felder zu keinen Übereinstimmungen kommen wird, führt die Verknüpfung zu keinem Ergebnis und Ihre hinzugefügten Felder werden leer bleiben. Deshalb ist es ratsam die Schlüsselfelder der Tabellen zu kennen und die Zuordnung im Relationen Dialog genau zu prüfen.

Ein weiterer Punkt der in Bezug auf Schlüsselfelder bedacht werden muss ist die Tatsache, dass einige Tabellen über ein Schlüsselfeld alleine nicht eindeutig Datensätze identifizieren können. In solchen Fällen müssen wir auf die bereits bekannte Funktionalität des Zusammensetzens von Feldern zurückgreifen. Dies lässt sich am Beispiel von Lagerinformationen gut demonstrieren, da die Tabelle „Lager_Stammdaten“ zwei Felder (Werk + Lagerort) braucht um einen Datensatz eindeutig bestimmen zu können. Möchte man nun die Lagerortbezeichnung zu den Positionen des Einkaufsbelegs verknüpfen, muss zunächst das benötigte Schlüsselfeld in beiden Tabellen erzeugt und anschließend über diese eine Relation definiert werden.

Textfelder in Relation setzen

Abbildung 4: Definieren einer einfachen Relation auf Grundlage eines kombinierten Textfeldes

Stammdaten Tabellen mit Bewegungsdaten

Abbildung 5: Tabelle mit Bewegungsdaten inklusive hinzugefügten Informationen aus diversen Stammdatentabellen

Diese drei Beispiele zeigen wie man in ACL Analytics™ Tabellen verbindet und es schafft Felder aus anderen Tabellen in die Auswertungen einzubeziehen. Dafür werden Relationen, also Beziehungen zwischen den Tabellen benötigt, die über Schlüsselfelder definiert werden. Entscheidend ist allerdings, dass es hier unterschiedliche Beziehungstypen mit sogenannten Kardinalitäten gibt, die beim Verbinden von Tabellen eine wesentliche Rolle spielen. Welche Unterscheidungen es hier gibt und was alles beachtet werden muss, beziehungsweise welche Fehler auftreten können, werden wir in unserem nächsten Blogeintrag ausführlich diskutieren. Ein erster Tipp vorweg, verbinden Sie Tabellen stets von den Bewegungsdaten startend zu den Stammdaten. In unserem Beispiel von den Einkaufsbelegen zu den Stammdatentabellen (Buchungskreis, Lieferant, Lager).

Für Fragen oder Kommentare können Sie sich auch gerne unter info@dab-gmbh.de an uns wenden.

Zum nächsten Artikel dieser Serie


Kommentare (0)
Sei der erste, der diesen Blog-Beitrag kommentiert.
Blog Anmeldung

Sie sind nicht angemeldet. Bitte melden Sie sich an um diesen Blogbeitrag zu kommentieren.

anmelden