Was sind die SSRS?
Die SQL Server Reporting Services (SSRS) sind ein Teil der Microsoft SQL Server BI Plattform. Man verwendet sie zur Bereitstellung von Berichten für einen bestimmten Personenkreis. Dazu gehört ein webbasiertes Standardberichtswesen, das interaktive Berichte mit Tabellen, Diagrammen oder Sparklines auf Basis einer Datenquelle zur Verfügung stellt. Die Bereitstellung der Berichte findet im Webbrowser oder durch sogenannte Abonnements statt. Als Datenquellen kann man neben den Microsoft eigenen Produkten auch Oracle, SAP etc. als Datenquellen zur Beschaffung der Daten hinzuziehen. Ein Export der Berichte erfolgt dabei in verschiedenen Ausgabeformaten wie zum Beispiel Excel oder PDF.
In SSRS werden neben der DataSource (Datenquelle) auch DataSets (Datensammlungen) definiert. Das Verwenden von zwei oder mehr verschiedenen DataSets in einem Berichtselement, wie zum Beispiel einer Tabelle, ist jedoch nicht möglich.
An diesem Punkt werden die Lookups interessant. Durch Lookups ist es möglich, den Inhalt zweier Datensätze über eine 1:1-Beziehung miteinander zu kombinieren. Dabei werden die Inhalte von zwei Datensätzen auf Basis eines gewünschten Attributs verglichen und die übereinstimmenden Werte herausgefiltert. Da diese Daten das Ergebnis einer „Berechnung“ sind, kann man diese nun in die Tabelle zu dem Inhalt des ersten Datensatzes hinzufügen.
Beispiel zur Erklärung
Wie man dem nachfolgenden Bild entnehmen kann, liegen zwei DataSets zugrunde. Einem Mitarbeiter wird dabei im Dataset Employee gleichzeitig ein Ländercode in Form eines Kürzels zugeordnet. Im Dataset Country wird diesem Kürzel der Name eines Staats zugewiesen. Möchte man nun eine Kombination dieser beiden Datasets erzeugen, ist es wie zuvor beschrieben nicht möglich, die beiden relevanten Attribute aus jedem Dataset auszuwählen und in einer Tabelle zusammenzufügen. An dieser Stelle kommt dann die Funktionalität eines Lookups zu greifen. Zunächst ist für die untere der drei Tabellen des Bildes ein Attribut zur Aufführung auszuwählen. In diesem Fall ist es der EmployeeName. Im nächsten Schritt wird mittels Lookup geprüft, ob der Ländercode des DataSet Employee im DataSet Country vorhanden ist und bei einem übereinstimmenden Ergebnis der Name des Landes als Ergebnis einer Berechnung in die Tabelle geschrieben.
Fazit
Somit hilft ein Lookup die Informationen aus verschiedenen DataSets in einem neuen gemeinsamen Kontext zu präsentieren und bereitzustellen.
Bei weiteren Fragen zu dem Thema nehmen Sie gerne Kontakt zu uns auf.
Bildquellen:
https://docs.microsoft.comde-de/sql/reporting-services
http://www.sql-datatools.com