Wie Tabellen miteinander verknüpft werden können habe ich in einem anderen Eintrag schon angesprochen, aber was ist, wenn eine Spalte nicht mehr ausreicht, um zwei Tabellen zu verknüpfen. Zu theoretisch? Ok ein praktisches Beispiel.

Beispieltabellen

Als Ausgangslage haben wir zwei Tabellen, die zu einer Web-basierten Software gehören.In einer Tabelle haben wir aggregierte Nutzerstatistiken, in der anderen haben wir Daten zu Micropayments aus unserer Vertriebssoftware. Wie immer gilt: in der optimalen Welt hätten wir das direkt mit einer Datenbankabfrage so zusammenbekommen, nämlich folgendermaßen:

SELECT m.date_key, m.feature, m.sales, m.sales_eure, n.users
 FROM Micropayments m
 INNER JOIN Nutzung n
 ON m.date_key = n.date_key AND m.feature = n.feature

Zusammengesetzten Schlüssel erstellen

Wo sich bei einer SQL-Abfrage mehrere Bedingungen einbringen lassen, bietet PowerQuery diese Möglichkeit leider nicht. Der Grund hierfür ist einfach, dass als Argumente für den Join lediglich Spaltennamen übergeben werden können. Das bedeutet, dass wir zunächst einen neuen Schlüssel erstellen müssen. Dazu erstellen wir in beiden Abfragen die benutzerdefinierte Spalte „date_keyFeature“ mit folgender Formel:

= Text.From([date_key]) & [feature]
 benutzerdefinierte Spalte

Mit diesem Schritt bekommen wir eine neue Spalte mit eindeutigen Schlüsseln für die Kombination aus Datum und Feature.

Tabellen zusammenfügen

Jetzt steht dem Zusammenfügen nichts mehr im Wege, indem wir die neu erstellte Spalte „date_keyFeature“ auswählen und dann die neue Tabelle z.B. um „sales“ oder „sales_euro“ erweitern. Aussehen sollte es dann ungefähr folgendermaßen:

Tabellen zusammenfügen

Die Hilfsspalte kann auch noch entfernt werden, da sie bei der weiteren Analyse keinen wirklichen Mehrwert bringt und fertig ist unsere Kombination mittels zusammengesetztem Schlüssel.

Fragen? Einfach kommentieren.