Eine Schritt-für-Schritt-Anleitung - kostenlose Testversion verfügbar

Tabellen zusammenfassen: Zwei oder mehrere Tabellen zusammenführen


Nicht selten kommt es vor, dass man Daten aus unterschiedlichen Quellen hat, die zusammen weiterverarbeiten werden müssen. Da liegt es natürlich nahe diese Daten bzw. die Tabellen in denen diese Daten gespeichert sind zu einer einzigen Tabelle zusammenzufassen. Alles andere ist meist keine Alternative, da sonst jeder anfallende Arbeitsschritt für jede dieser Tabellen einzeln und damit mehrfach durchgeführt werden muss. Einmal abgesehen davon ist es nicht eben gerade übersichtlich, wenn sich Informationen über mehrere Tabellen verteilen. 

Daten aus unterschiedlichen Quellen haben aber häufig eine unterschiedliche Struktur und können von daher nicht ohne weiteres zusammengefasst werden:

  • Die Spaltenüberschriften können abweichen. Beispielsweise wenn in der einen Tabelle die Spalte mit der Postleitzahl "PLZ" heißt und in der anderen aber "Postleitzahl". Das ließe sich noch vergleichsweise einfach vereinheitlichen.
  • Bei fehlenden oder zusätzlich vorhandenen Spalten wird das schon aufwendiger: Hier müsste dann in all jenen Tabellen in denen Spalten fehlen leere Spalten mit diesem Spaltennamen hinzugefügt werden.
  • Ähnlich sieht es aus, wenn die Spalten in den einzelnen Tabellen in unterschiedlicher Reihenfolge vorkommen, wenn also beispielsweise die Spalten "Vorname" und "Nachname" vertauscht sind. Hier müsste die Reihenfolge der betreffenden Spalten dann vor dem Zusammenfassen angepasst werden.
  • Und schließlich könnte es noch sein, dass in einer der zusammenzuführenden Tabellen eine bestimmte Information in einer einzigen Spalte erfasst worden ist, in der anderen Tabelle aber in zwei einzelnen Spalten. Beispielsweise könnte bei der einen Tabelle der Nachname vom Vornamen getrennt erfasst worden sein, bei der anderen Tabelle aber in einem einzigen Datenfeld. In diesem Fall gibt es dann verschiedene Möglichkeiten dieses Problem zu lösen: Man könnte in der einen Tabelle die zwei getrennt erfassten Spalten zu einer einzigen Spalte zusammenführen und die Daten so vereinheitlichen. Oder man könnte versuchen die Daten aus der Tabelle mit der einen einzigen Spalte für diese Information in ihre Bestandteile zu zerlegen und in zwei Spalten speichern. Oder man verzichtet der Einfachheit halber darauf die Daten an dieser Stelle zu vereinheitlichen und akzeptiert damit, dass in der Zieltabelle dann in der Spalte "Nachname" entweder tatsächlich nur der Nachname steht, und der Vorname in der "Vorname"-Spalte, oder die "Vorname"-Spalte ist leer und dafür steht dann in der "Nachname"-Spalte der komplette Name.

Möglicherweise sollen aber auch gar nicht alle Datensätze übernommen werden, da es bei den zusammenzufassenden Tabellen Überschneidungen gibt:

  • Entweder wird dann bereits vor dem zusammenfassen der Tabellen dafür gesorgt, dass diese überschneidungsfrei sind oder aber es wird im Anschluss an das Zusammenführen noch eine Bereinigung von Dubletten / Duplikaten durchgeführt. Wie man eine Tabelle von Duplikaten bereinigt können Sie in dem Artikel 'Intelligente Suche nach Dubletten und doppelten Adressen mit den DataQualityTools' nachlesen.
  • Denkbar wäre aber auch, dass nach dem Zusammenfügen nicht einfach nur noch zusätzlich eine Bereinigung von Dubletten / Duplikaten durchgeführt werden soll, sondern dass die Bereinigung von Dubletten / Duplikaten dazu genutzt wird um die erhalten bleibenden Datensätze durch Informationen aus den gelöschten Datensätzen, beispielsweise die Emailadresse, zu vervollständigen. Näheres zum Thema Datenanreicherung erfahren Sie in dem Artikel 'Daten anreichern: Informationen aus einer zweiten Tabelle ergänzen'.

Das bedeutet in jedem Fall viel vorbereitende Arbeit, bevor man die zusammenzufassenden Tabellen überhaupt zusammenführen kann.

Schließlich gibt es dann noch das Problem, dass die zu einer Tabelle zusammenzuführenden Datenbestände möglicherweise in unterschiedlichen Formaten vorliegen. Die eine der zusammenzufassenden Tabellen könnte beispielsweise eine Adressliste sein, die in einer Excel-Datei gespeichert ist. Eine weitere der zusammenzuführenden Tabellen könnte eine Textdatei sein. Und bei wieder einer anderen Tabelle könnte es sich um Daten aus einer Datenbank handeln, die von einem Datenbankserver wie MySQL oder dem SQL Server verwaltet wird. Natürlich könnte man vor dem eigentlichen Zusammenfügen der Tabellen in einem ersten Arbeitsschritt dafür sorgen, dass alle Ausgangstabellen im gleichen Format vorliegen, indem man diese passend exportiert und/oder konvertiert. Deutlich einfacher ist es aber wenn man hierauf verzichten und die Daten direkt in dem Format verarbeiten kann, in dem sie auch vorliegen.

All das und noch viel mehr beherrschen unter anderem die DataQualityTools. Um damit zwei oder mehr Tabellen zusammenzufassen gehen Sie folgendermaßen vor:

  1. Wenn Sie das nicht schon getan haben, dann laden Sie sich die DataQualityTools hier kostenlos herunter. Installieren Sie das Programm und fordern Sie eine Testfreischaltung an. Damit können Sie dann eine Woche lang ohne jede Einschränkung mit dem Programm arbeiten.
  2. Die Funktion die wir benötigen findet sich im Menü in dem Block 'Tabellen zusammenfassen'. Wählen wir dort für das Zusammenführen der Tabellen die Funktion 'Tabellen zusammenfassen':

    Tabellen zusammenfassen

  3. Nach dem Aufruf dieser Funktion erscheint zunächst die Projektverwaltung. Legen Sie hier ein neues Projekt mit einem beliebigen Projektnamen an und klicken Sie dann auf die Schaltfläche 'Weiter'.
  4. Als nächstes gilt es dann die zusammenzuführenden Tabellen zu dem Projekt hinzuzufügen. Dafür gibt es mehrere Möglichkeiten. Für Excel-Dateien mit nur einem Arbeitsblatt, für dBase, CSV- und Textdateien können Sie die Schaltfläche 'mehrere Dateien hinzufügen' verwenden:
    mehrere Dateien hinzufügen

    Wählen Sie in dem dazu gehörenden Dialog eine oder mehrere Dateien aus. Nach einem Klick auf die Schaltfläche 'Öffnen' fügt das Programm dann alle ausgewählten Tabellen dem Projekt hinzu.

    Enthält die Excel-Datei mehrere Arbeitsblättrer oder soll eine andere Datenquelle als Excel, dBase oder Textdateien verwendet werden, dann verwenden Sie dazu bitte die Schaltfläche 'Tabelle hinzufügen':
    Tabelle hinzufügen

    Fügen wir eine Excel-Datei hinzu. Klicken Sie dazu auf die Schaltfläche 'Datei öffnen' und wählen Sie anschließend die Excel-Datei aus:

    Tabelle hinzufügen, Excel'

    Bei 'Datenbankname' erscheint dann der Name der ausgewählten Excel-Datei. Und bei 'Arbeitsblatt' findet sich die Liste mit den in dieser Datei enthaltenen Tabellen. Falls die Datenquelle mehr als eine Tabelle enthält, etwa eine Excel-Datei mit mehreren Arbeitsblättern, dann können dem Projekt gleich mehrere Tabellen / Arbeitsblätter hinzugefügt werden, falls gewünscht auch alle:

    alle Tabellen hinzufügen

    Um eine zweite Tabelle hinzuzufügen, klicken wir noch einmal auf die Schaltfläche 'Tabelle hinzufügen'. Es erscheint der gleiche Dialog wie gerade eben:

    Tabelle hinzufügen, MySQL

    Mithilfe der Schaltfläche 'Datei öffnen', die wir gerade eben verwendet haben, können Excel-, Access, dBase, CSV- und Textdateien hinzugefügt werden. Als zweite der zusammenfassenden Tabellen wollen wir aber eine Tabelle aus einer Datenbank wählen, die von einem MySQL-Datenbankserver verwaltet wird. Dazu ist zunächst aus der Auswahlliste bei 'Format / Zugriff auf' der Eintrag 'MySQL / MariaDB-Datenbankserver' auszuwählen. Anschließend ist der Name des Datenbankservers einzugeben. Nach einem Klick auf die Schaltfläche 'mit dem Server verbinden' sind die Zugangsdaten einzugeben. Die Auswahl der gewünschten Datenbank und der Tabelle daraus erfolgt schließlich aus den entsprechenden Auswahllisten. Analog dazu gehen Sie vor, wenn Ihre Daten von einem anderen Datenbankserver wie dem MS SQL Server, MySQL, MariaDB, Oracle, Azure SQL, IBM DB2 oder PostgreSQL verwaltet werden.
  5. Damit haben wir jetzt zwei Tabellen mit insgesamt 2779 Datensätzen angegeben, die zusammengeführt werden sollen:

    zusammenzufassende Tabellen

    Zusammengefasst werden können von dieser Funktion allerdings nicht nur zwei Tabellen. Sie können an dieser Stelle (fast) beliebig viele Tabellen angeben.
  6. Mit einem Klick auf die Schaltfläche 'Weiter' kommen wir zu dem Dialog in dem wir festlegen können wie die zusammengeführte Tabelle aussehen soll und wo der Inhalt der Spalten aus den zusammenzufassenden Tabellen dort zugeordnet werden soll:

    Tabellen zusammenführen

    Diese Tabelle enthält die folgenden Angaben:
    - Mit der Schaltfläche mit dem roten Kreuz kann die betreffende Zeile gelöscht werden.
    - Mit den beiden Schaltflächen mit den grünen Pfeilen kann die betreffende Zeile nach oben oder nach unten verschoben werden.
    - 'Feldname Zieltabelle': In dieser Spalte finden sich die Bezeichnungen der Spalten für die zu erstellende Tabelle. Diese kann geändert werden.
    - 'Feldname Tabelle 1': In dieser Spalte finden sich Auswahllisten mit den Namen der Spalten aus der ersten der beiden zusammenzuführenden Tabellen.
    - 'Feldname Tabelle 2': In dieser Spalte finden sich Auswahllisten mit den Namen der Spalten aus der zweiten der beiden zusammenzuführenden Tabellen.

    An all jenen Stellen wo in beiden Tabellen Spalten mit dem gleichen Namen vorkommen hat das Programm diese bereits der gleichen Spalte in der Zieltabelle zugeordnet. An allen anderen Stellen ist entweder für die Tabelle 1 oder die Tabelle 2 (noch) kein Datenfeld aus der Auswahlliste ausgewählt. Das lässt sich aber ändern. Wenn beispielsweise die Spalte 'Result_BA' aus der Tabelle 2 der gleichen Spalte zugeordnet werden soll wie die Spalte 'Result_A' aus der Tabelle ein, dann nehmen wir diese Zuordnung einfach von Hand vor:

    Tabellen zusammenfassen, Spalte zuordnen

    Die Spalte 'Result_BA' in der Zieltabelle wird dadurch nicht mehr benötigt, da wir die 'Spalte 'Result_BA' aus der Tabelle 2 ja gerade eben an einer anderen Stelle zugeordnet haben. Mithilfe der Schaltfläche mit dem roten Kreuz können wir diese Zeile löschen:

    Tabellen zusammenführen, Spalte löschen

  7. In unserem Beispiel gibt es tatsächlich den Fall, dass in der einen der beiden zusammenzufassenden Tabellen eine bestimmte Information in einer einzigen Spalte erfasst worden ist, in der anderen Tabelle aber in zwei separaten Spalten:

    Tabellen zusammenfassen, Sonderfall

    In diesem Fall betrifft dies die Straße und die Hausnummer. Wie oben bereits beschrieben gibt es verschiedene Möglichkeiten dieses Problem zu lösen. Sehen Sie sich hierfür bitte die Funktion 'Straße zerlegen' und 'Datenfelder zusammenfassen' aus den DataQualityTools an.
  8. Mit einem Klick auf die Schaltfläche 'Weiter' kommen wir schließlich zu dem Dialog über den wir das Zusammenführen der Tabellen starten können. Dafür müssen wir für diese Datei erst noch einen Namen angeben. Als Format hierfür stehen Excel und CSV / Textdatei zur Verfügung, wobei bei der Textdatei zwischen einer Textdatei, die den Zeichensatz des Computers auf dem das Programm läuft verwendet und einer Textdatei die UTF-8 (Unicode) verwendet unterschieden wird. Unicode wiederum ist ein universaler sprachunabhängiger Zeichensatz wie ihn auch Excel verwendet:

    Ergebnisdatei, Dateiformat

    Wählen wir hier Excel. Für die Datei in der die Tabellen zusammengefasst werden sollen muss dann noch ein Dateiname angegeben werden:

    Ergebnisdatei, Dateiname

    Mit einem Klick auf die Schaltfläche 'Datei erstellen' wird diese dann erstellt. Das Ergebnis ist eine Excel-Datei mit einer Tabelle, die alle Datensätze aus den zusammenzuführenden Tabellen mit genau jener Struktur enthält, wie wir sie in dem vorhergebenden Schritt festgelegt haben.