17.5 SQL Server Reporting Services
In diesem Abschnitt zeigen wir Ihnen, wie Sie mit Microsoft SQL Server Reporting Services (SSRS) Auswertungen aus den von Project Server 2016 gehaltenen Daten erstellen können. Dabei gehen wir davon aus, dass Sie Microsoft SQL Server in der Version 2014 verwenden. SSRS sowohl in der Version 2014 als auch in der Version 2016 sind vom Design und der Architektur her nur für den Einsatz im Nutzungsmodell on-premises bzw. hybrid geeignet.
17.5.1 Überblick
Die Microsoft SQL Server 2014 Reporting Services stellen Ihnen eine komplett serverbasierte Plattform zur Verfügung, welche eine Vielzahl von Anforderungen an das Berichtswesen unterstützt. Diese Technologie ist bereits mit dem SQL Server lizenziert und auf dem Installationsmedium als Installationsoption enthalten.
Berichte werden in der Report Definition Language (RDL) definiert. Wenn Sie schon einmal mit XML gearbeitet haben, wird es Ihnen leichtfallen, diese Auszeichnungssprache zu lesen. Allerdings können wir Sie beruhigen, denn Sie müssen sich nur dann damit auseinandersetzen, wenn Sie komplexe Berichte oder Anwendungen erstellen. In vielen Fällen können Sie die RDL-Texte vom Berichtsdesigner generieren lassen und beschäftigen sich nur mit der grafischen Oberfläche.
Auf Basis der RDL können Sie Berichte in verschiedene Ausgabeformate exportieren. Dazu gehören:
- XML-Datei mit Berichtsdaten
- CSV (durch Trennzeichen getrennt)
- Acrobat-Datei (PDF)
- MHTML (Webarchiv)
- Excel
- TIFF-Datei
- Word
Sollten Sie weitere Exportformate, wie z.B. PowerPoint, benötigen, können Sie diese entweder über Berichtsgeneratoren von Drittanbietern beziehen oder auf die Version 2016 warten, wo der PowerPoint-Export im Standard vorhanden sein wird.
Umstieg auf SSRS 2016 lohnt sich
Nicht nur der Export in das PowerPoint-Format ist eine der Neuerungen von SQL Server Reporting Services 2016. Nachdem sich hier jahrelang mehr oder weniger gar nichts getan hat, wurde seitens Microsoft wieder kräftig investiert. Neues Design, HTML5-Rendering, mobile Reports, direktes Drucken aus allen gängigen Webbrowsern, neue Diagramme und Power-BI-Integration sind nur einige der Highlights der neuen Version.
Mit SSRS können Sie z.B. tabellarische, grafische oder Freiformberichte erstellen. Interaktivität können Sie u.a. durch Filter oder die Drilldown-Funktionalität integrieren. Ein Abonnieren von Berichten gehört ebenfalls zur Standardfunktionalität. Die Datenquellen können dabei relational, multidimensional (OLAP) oder auch XML-basiert sein. Sogar die Verwendung von benutzerdefinierten Datenquellen ist möglich.
Neben dem nativen Modus mit rollenbasiertem Sicherheitskonzept und eigener Webseite für das Management von Berichten können Sie SQL Server Reporting Services auch im SharePoint-integrierten Modus betreiben. Die Verwaltung der Berichte wird dann vom SharePoint Server übernommen, und diese werden innerhalb des Portals dargestellt. Mit dem Report-Webpart lassen sich so erstellte Berichte leicht in SharePoint-Webseiten oder Dashboards integrieren. Wenn Sie dazu die SQL Server Reporting Services physisch vom Datenbankserver trennen, benötigen Sie allerdings eine zusätzliche Lizenz für den Microsoft SQL Server.
Auslaufmodell SharePoint-integrierter Modus
Im Zuge der Auslagerung von Diensten in die Cloud wird der in SharePoint integrierte Modus der SQL Server Reporting Services von Microsoft nicht mehr weiterentwickelt. Diese Option wird zwar noch in der Version 2016 vorhanden sein, aber langfristig durch andere Technologien ersetzt.
Als erfahrener Berichtsentwickler verwenden Sie zur Berichtserstellung die SQL Server Data Tools, welche seit der Version 2012 Nachfolger des Business Intelligence Development Studio sind. Diese bestehen aus Microsoft Visual Studio mit speziellen Projekttypen, die nur für SQL Server-BI verfügbar sind. Auch diese Komponente ist mit dem Datenbankserver bereits lizenziert.
Nutzen Sie zur Berichtserstellung den Report Builder, wenn Sie Anwender ohne tiefer gehende Kenntnisse der Datenbanksprache T-SQL sind und bisher wenig Erfahrung mit Report-Design sammeln konnten. Der Report Builder für Microsoft SQL Server 2014 bietet Ihnen eine intuitiv zu bedienende Entwicklungsumgebung für Berichte. Die Oberfläche ist an die Microsoft-Office-Produkte angelehnt. Im Gegensatz zu SQL Server Data Tools kann der Report Builder direkt aus dem Berichtsmanager bzw. der Dokumentbibliothek aufgerufen werden, das heißt, ein Roll Out auf den Client ist nicht notwendig.
17.5.2 Praxisbeispiel: Einfache Projektliste
Wir gehen im Folgenden davon aus, dass Sie die Reporting Services im nativen Modus betreiben. Weiterhin besitzt Ihr Anmeldekonto das Recht Inhaltsmanager und hat mindestens Leserechte auf dem Reporting-Schema (pjrep) der SharePoint-Server-Datenbank. Ziel dieser Übung ist es, eine einfache tabellarische Auflistung aller Projekte wie im Project Center anzuzeigen, diese entsprechend zu formatieren und einer Benutzergruppe bereitzustellen.
Zu Recht denken Sie vielleicht jetzt, warum wir denn gerade so ein Beispiel gewählt haben, schließlich ist eine derartige Liste ja schon im PWA-Standard enthalten. Wir wollen damit hier ganz klar einige der großen Stärken von Reporting Services hervorheben, nämlich z.B. die Druckbarkeit von Reports bzw. das Erzeugen von Dokumenten im PDF-, Word- oder PowerPoint-Format oder die einfache Anpassung des Layouts. Fragen Sie Fachleute einmal nach dem Aufwand für ein Branding von SharePoint, dann wissen Sie, wovon wir reden.
Außerdem bieten die SSRS als vielseitiges Spezialwerkzeug für das Berichtswesen weit mehr Möglichkeiten als eine tabellarische Ausgabe von Daten, viel mehr, als es die PWA jemals leisten könnte.
Zum Nachvollziehen des Beispiels gehen Sie exemplarisch wie folgt vor:
-
Rufen Sie im Browser die Startseite des Report Managers auf. Die URL sollte etwa wie folgt aufgebaut sein:
http://IhrSQLServer/Reports - Fragen Sie gegebenenfalls bei Ihrem Datenbankadministrator nach, falls Ihnen die Adresse nicht bekannt ist.
-
Klicken Sie in der blauen Zeile auf Berichts-Generator, wie in Abbildung 17.23 zu sehen ist. Der Report Builder wird jetzt heruntergeladen und auf Ihrem Rechner ausgeführt. Eine deutsche Version dieser Software ist für den SQL Server 2014 zurzeit nicht verfügbar.
Abbildung 17.23 Startseite des Report Managers
Sollte die Schaltfläche nicht sichtbar sein, ist diese Funktion entweder auf dem Berichtsserver nicht aktiviert, oder Sie haben keine Berechtigungen. Kontaktieren Sie in diesem Fall entweder wieder den Administrator, oder laden Sie sich den Berichts-Generator direkt auf der Seite von Microsoft kostenlos herunter. - Da die Ausgabe tabellarisch erfolgen soll, klicken Sie doppelt auf Table or Matrix Wizard.
-
Im folgenden Dialog müssen Sie die Abfrage (Dataset) und die Datenquelle (Data Source) festlegen. Da Sie in der Regel mehrere Berichte mit Microsoft SQL Server Reporting Services erstellen, die Verbindungsinformationen zur SharePoint-Server-Datenbank aber immer gleich bleiben, sollten Sie eine gemeinsam genutzte Datenquelle erstellen. Klicken Sie auf Next, danach auf New.
Abbildung 17.24 Startseite des Report Builders
- Theoretisch könnten Sie auch mit jedem einzelnen Bericht diese Informationen speichern, aber eleganter ist es, für mehrere Berichte eine gemeinsame Referenz zu erstellen. Sollte sich beispielsweise der Name des Datenbankservers ändern, müssen Sie nur an einer Stelle die Verbindungsinformationen aktualisieren und alle Berichte, welche diese Informationen benutzen, funktionieren weiterhin.
- Tragen Sie im folgenden Dialog Data Source Properties die Verbindungszeichenfolge zur Datenbank ein, und testen Sie, ob die Kommunikation zum Server funktioniert. Hilfe zur Bildung der Zeichenkette erhalten Sie mit einem Klick auf die Schaltfläche Build.
-
Sie sehen jetzt eine Liste verfügbarer Tabellen, Ansichten und Tabellenwertfunktionen der SharePoint-Server-Datenbank. Erweitern Sie den Knoten pjrep, und klappen Sie den Knoten Views und dann die MSP_EpmProject_UserView aus, und selektieren Sie die folgenden Felder:
- ProjectName
- ProjectOwnerName
- ProjectFinishDate
- ProjectWork
- ProjectCost
-
Klicken Sie dann auf Next. Ziehen Sie das Feld ProjectName in den Bereich Row groups und alle anderen Felder in den Bereich Values.
Abbildung 17.25 Selektion der benötigten Felder
Logische Reihenfolge
Achten Sie bereits jetzt auf eine logische Reihenfolge der Felder, das heißt, machen Sie sich jetzt schon Gedanken darüber, wie die Spalten in der Tabelle angeordnet werden sollen. Sie können zwar später im Bericht die Spalten immer noch neu sortieren, aber den Aufwand können Sie sich sparen, wenn Sie bereits jetzt die Grundzüge des Layouts festlegen.
- Klicken Sie ein weiteres Mal auf Next, und legen Sie dann das Tabellenlayout fest. Bestimmen Sie beispielsweise, dass die Summen für die Gruppen und die gesamte Tabelle angezeigt werden und Gruppensummen unterhalb der Gruppe in einer eigenen Zeile erscheinen.
-
Klicken Sie wieder auf Next, und wählen Sie ein initiales Schrift- und Farbschema aus. Sie können Schriften und Farben später im Berichtsdesigner jederzeit anpassen. Klicken Sie nun auf Finish, um den Assistenten zu beenden.
Sie befinden sich jetzt auf der Startseite des Berichtsdesigners. Durch die im Assistenten definierten Einstellungen ist der Bericht bereits jetzt lauffähig. Probieren Sie es ruhig einmal aus, und klicken Sie im Bereich oben links auf Run.Abbildung 17.26 Erste Berichtsvorschau im Report Builder
Wie Sie sehen, sind noch ein paar Arbeiten zu erledigen, bevor der Bericht bereitgestellt werden kann. Allerdings können Sie auch erkennen, dass mit nur wenigen Klicks bereits ein recht brauchbares Ergebnis produziert wurde. - Klicken Sie wieder auf Design, um in die Entwurfsansicht zurückzukehren. Vergeben Sie zunächst einen Namen für den Bericht, indem Sie in das Textfeld oben bei Click to add title einen Titel eintragen.
- Klicken Sie dann rechts auf ein Zahlenfeld (Arbeit oder Kosten), und wählen Sie im Kontextmenü den Eintrag Text Box Properties.
-
Wechseln Sie in der Navigation links zur Eigenschaft Number, um das ausgewählte Feld zu formatieren. Wenn Sie hier keine Formatierung angeben, werden die Werte so ausgegeben, wie sie in der Datenbank gespeichert sind. Durch Formatierungen können Sie also den Bericht für die Berichtsempfänger lesbarer machen. Formatieren Sie nun auf die gleiche Weise beide Zahlenfelder.
Eigenschaftsfenster
Sie können sämtliche Eigenschaften eines Berichtselements, wie z.B. das Textfeld, auf einen Blick einsehen und ändern, wenn Sie sich das Eigenschaftsfenster einblenden. Wechseln Sie dazu im Berichtsdesigner auf die Registerkarte View, und setzen Sie den Haken bei Properties.
-
Ziehen Sie nun die jeweiligen Spalten auf eine für den Feldinhalt passende Breite. Alternativ können Sie im Eigenschaftsfenster unter Size die Breite direkt mit Maßeinheit eingeben. Achten Sie dabei gegebenenfalls darauf, dass die Breite nicht das gewünschte Ausdruckformat übersteigt. Wollen Sie den Bericht z.B. für DIN-A4-Querformat auslegen, tragen Sie als Breite 29,7 cm und als Höhe 21 cm im Eigenschaftsfenster des Berichts ein.
Die Spaltenüberschriften heißen im Standard genauso wie die Felder in der Datenbank. Auch diese können Sie leicht anpassen, indem Sie im Berichtsdesigner den Text ersetzen.
Wenn Sie den Bericht in der Vorschau betrachten, fällt Ihnen vielleicht auf, dass dort ein Projekt mit dem Namen Arbeitszeittabelle administrative Arbeitsaufgaben aufgeführt ist. Dieser Projekttyp sollte normalerweise nicht in Ihrer Projektauswertung auftauchen, deshalb zeigen wir Ihnen, wie Sie die Ergebnisse der Abfrage filtern können. Klicken Sie dazu im Report Builder im linken Fenster Report Data rechts auf die Abfrage, und wählen Sie den Eintrag Query. Fügen Sie, wie am Anfang die Basisfelder, das Feld ProjectType im Query Designer zur Auswertung hinzu, und bestätigen Sie mit OK. Aktivieren Sie erneut das Kontextmenü für die Abfrage, und wählen Sie diesmal Dataset Properties. Wechseln Sie in der Navigation links auf den Eintrag Filters, und klicken Sie auf Add. Setzen Sie den Filter für die Auswertung auf Standard-Projekte. Diese haben im Feld ProjectType die Zahl 0 hinterlegt. Weitere Informationen zu Projekttypen finden Sie in der Dokumentation des Project-Server-Datenbankschemas.
Abbildung 17.27 Filter auf Standard-Enterprise-Projekte
Wenn Sie den Bericht erneut ausführen, taucht das Projekt jetzt nicht mehr auf. Auf diese Weise können Sie die Abfrage bequem auch nach anderen Kriterien filtern.
Speichern Sie nun den Bericht über die Schaltfläche Save. Rufen Sie dann direkt aus dem Browser den Bericht auf. So können Sie kontrollieren, wie dieser für die Berichtsempfänger angezeigt wird.
Abbildung 17.28 Anzeige des Berichts