SQL Server 2005 Reporting Services (SSRS) Autoren: Alex Payne und Brian Welcker Veröfentlichung: May 2005 Zusammenfassung: SQL Server 2005 Reporting Services ist eine Schlüsselkomponente von SQL Server 2005. Reporting Services wurde erstmalig mit SQL Server 2000 ausgeliefert und stattete Kunden mit einer unternehmenstauglichen Berichterstellungsplattform aus, mit einer umfassenden Umgebung für das Erstellen, Verwalten und Ausliefern von Berichten an das gesamte Unternehmen. Reporting Services in SQL Server 2005 verfügt über zusätzliche Möglichkeiten zur Unternehmensberichterstellung und richtet sich an eine neue Zielgruppe – Unternehmensbenutzer, die sowohl in Ad-hoc-Manier mit den Daten interagieren möchten, als auch ihre eigenen Berichte von der Pike auf selber erstellen wollen und sie mit anderen teilen. In Reporting Services können die Bedürfnisse von verschiedenen Benutzer-Typen, die mit den Berichten interagieren möchten, erstmalig mit einer Berichterstellungslösung angegangen werden. Dieses Dokument beschreibt die neuen Möglichkeiten von SQL Server 2005 Reporting Services. Copyright Die in diesem Dokument enthaltenen Informationen repräsentieren die augenblickliche Meinung der Microsoft Corporation zum Zeitpunkt der Publikation. Da Microsoft den wechselnden Ansprüchen des Marktes entsprechen muss, sollte es nicht als eine Haftung seitens Microsoft interpretiert werden, und Microsoft kann nicht für die Genauigkeit jeglicher Information nach dem Datum der Veröffentlichung garantieren. Dieses Whitepaper dient nur der Information. MICROSOFT GIBT IN DIESEM DOKUMENT KEINE GARANTIEN, AUSDRÜCKLICHE ODER ANGEDEUTETE. Es liegt in der Verantwortung des Benutzers, allen maßgeblichen Urheberrechtsbestimmungen zu entsprechen. Kein Teil dieses Dokuments kann reproduziert werden, in einem Verteilersystem gespeichert oder in ein Verteilersystem eingespeist werden, oder in irgendeiner Form auf irgendeine Art übertragen werden (elektronisch, mechanisch, durch Photokopieren Aufnehmen oder ähnliches), aus irgendeinem Grund, ohne die ausdrückliche schriftliche Genehmigung der Microsoft Corporation. Microsoft kann Patente, Patentanmeldungen, Schutzmarken, Urheberrechte oder andere Rechte geistigen Eigentums haben, die in diesem Dokument behandelte Gegenstände betreffen. Soweit nicht eine ausdrückliche schriftliche Lizenzgenehmigung seitens Microsoft vorliegt, gibt die Ausstattung mit diesem Dokument Ihnen keinerlei Lizenz über Patente, Schutzmarken, Urheberrechte oder andere geistige Eigentümer. Soweit nicht anders erwähnt, sind die in diesem Dokument als Beispiel gewählten Unternehmen, Organisationen, Produkte, Domänennamen, E-Mail-Adressen, Logos, Menschen, Orte und Ereignisse fiktiv. Jede Ähnlichkeit mit realen Unternehmen, Organisationen, Produkten, Domänennamen, E-Mail-Adressen, Logos, Menschen, Orten und Ereignissen ist weder beabsichtigt, noch soll sie angedeutet werden. 2005 Microsoft Corporation. Alle Rechte vorbehalten. Microsoft, ActiveX, IntelliSense, PowerPoint, SharePoint, Visual Studio, und Windows sind entweder eingetragene Handelsmarken oder Handelsmarken der Microsoft Corporation in den Vereinigten Staaten und/oder anderen Ländern. Die Namen von in diesem Dokument erwähnten realen Unternehmen und Produkten können Handelsmarken der betreffenden Eigentümer darstellen. Inhaltsverzeichnis Themen der Veröffentlichung ............................................................................1 Kernverbesserungen des Produkts ....................................................................1 Direktes Client-Drucken ................................................................................... 1 Sortierung durch den Endbenutzer .................................................................... 3 Mehrwertige Parameter .................................................................................... 3 Benutzerdefinierte Berichtselemente .................................................................. 4 Verbesserungen im Berichts-Designer ................................................................ 4 Bessere Integration ..........................................................................................5 Analysis Services Abfrage-Designer ................................................................... 5 SQL Server Management Studio-Integration ....................................................... 6 SharePoint Webparts ....................................................................................... 7 Reichhaltige Entwickler-Erfahrung ....................................................................8 Visual Studio-Integration ................................................................................. 8 Berichts-Viewer-Steuerelemente ....................................................................... 9 Den Endbenutzer unterstützen ........................................................................10 Berichts-Generator-Client ............................................................................... 10 Der Berichts-Generator Modell-Designer .......................................................... 11 Schlussfolgerung.............................................................................................13 i Themen der Veröffentlichung Es gibt vier Hauptthemen von Microsoft® SQL Server 2005 Reporting Services (SSRS). Spezifische Features werden im Folgenden ausführlich beschrieben werden. Kernverbesserungen des Produkts Basierend auf dem Feedback von Kunden von SQL Server 2000 Reporting Services wird SQL Server 2005 über verschiedene Verbesserungen in den Bereichen des Berichtsentwurfs, Verarbeitung und Interaktivität verfügen. Auch wird es Verbesserungen der Leistung und Skalierbarkeit geben. Bessere Integration SQL Server 2005 Reporting Services wird über eine verbesserte Integration mit anderen Komponenten von SQL Server 2005 verfügen, einschließlich SQL Server Integration Services (SSIS), SQL Server Analysis Services (SSAS) und SQL Server Management Studio. Reporting Services wird auch über eine engere Integration mit Microsoft SharePoint®-Produkten und –Technologien verfügen, wodurch Berichte leicht in Portal-Szenarien eingebunden werden können. Reichhaltige Entwickler-Erfahrung Durch die Zusammenarbeit mit Microsoft Visual Studio® wird Reporting Services über unvergleichliche Berichterstellungsintegration mit der Visual StudioEntwicklungsumgebung verfügen. Zusätzlich sorgen frei neuverteilbare Microsoft Windows®- und ASP.NET- Kontrollen für ein einfaches Einbetten von Berichterstellung sowohl in serverbasierten, als auch clientbasierten Anwendungen. Den Endbenutzer unterstützen SQL Server 2005 Reporting Services enthält den Berichts-Generator, ein neues Werkzeug zur Ad-hoc-Berichterstellung, das Unternehmensbenutzer in die Lage versetzt, ihre eigenen Berichte zu erstellen und Firmen-Daten zu untersuchen. Der Berichts-Generator enthält ein benutzerfreundliches Abfragemodell, das Benutzer dazu befähigt, Berichte ohne tiefergehendes technisches Verständnis der zu Grunde liegenden Datenquellen zu erstellen. Kernverbesserungen des Produkts Viele Verbesserungen von Reporting Services in SQL Server 2005 sind Verbesserungen der Features von SQL Server 2000, basierend auf dem Feedback von Kunden. Direktes Client-Drucken Das Drucken in SQL Server 2000 Reporting Services machte es nötig, dass der Benutzer den Bericht in ein druckbares Format exportierte (PDF, TIFF, oder Excel) bevor er ihn an den Drucker schickte. In SQL Server 2005 Reporting Services können Benutzer Druckaufträge direkt routen. Um zu drucken wählt der Benutzer die neue print-Schaltfläche in der HTML ViewerSymbolleiste. Wenn die Druckfunktion das erste Mal angewählt wird, wird eine kleines ActiveX®-Steuerelement auf den Arbeitsplatz des Benutzers heruntergeladen. Dem Benutzer wird dann der gebräuchliche Windows Druckdialog angezeigt (Abbildung1). 1 Abbildung 1 Der Benutzer kann einen Drucker und den zu druckenden Seitenbereich auswählen. Wenn gewünscht, können Ausrichtung und Seitenränder geändert werden. Es kann auch eine Druckvorschau angezeigt werden (Abbildung 2). 22 Abbildung 2 Wenn der Benutzer zufrieden ist, wird der Druckauftrag an den Berichtsserver gerenderd und durch den Client an den ausgewählten Drucker geleitet. Sortierung durch den Endbenutzer In SQL Server 2005 Reporting Services kann der Ersteller von Berichten die Möglichkeit hinzufügen, dass der Benutzer eines veröffentlichten Berichts Daten innerhalb des Berichts neu sortiert. Das Neusortieren der Daten benötigt keine neue Abfrage der Datenbank, deshalb arbeitet es auf Snapshot-Berichten oder zwischengespeicherten Berichten. Das Feature enthält auch Unterstützung für mehrspaltige Sortierung und Sortieren von verschachtelten oder gruppierten Daten. Mehrwertige Parameter In SQL Server 2000 Reporting Services konnte ein Berichtsparameter nur so definiert werden, dass der Benutzer lediglich einen einzigen Wert eingeben konnte. Ein Parameter „Farbe“ konnte nur „rot“ oder „blau“ sein. In SQL Server 2005 Reporting Services kann der Berichtersteller festlegen, dass jeder Parameter mehrwertig ist. In Abbildung 3 werden mehrere Werte für einen Parameter gewählt. Abbildung 3 Nachdem der Benutzer einen Satz von Werten gewählt hat, konstruiert das Berichtsverarbeitungsmodul die korrekte SQL- oder MDX-Syntax. Der Ersteller kann auch einen Satz voreingestellter Werte für den Parameter spezifizieren. Entwickler können programmgesteuert viele Parameter-Sätze via URL oder der Webdienste-API übergeben. 3 Benutzerdefinierte Berichtselemente SQL Server 2005 Reporting Services unterstützt unabhängige Softwareanbieter und Entwickler dabei, Berichtsverarbeitung zu erweitern durch das Erstellen von benutzerdefinierten Berichtselementen. Benutzerdefinierte Berichtselemente sind Serverkontrollen, die in Berichte eingebettet werden können, um zusätzliche Funktionalität jenseits der eingebauten Reporting Services-Kontrollen (Textfeld, Linie, Grafik etc.) zu bieten. So kann ein Entwickler beispielsweise Trendmaßstäbe, Barcodes und Abbildungen hinzufügen. Im Berichts-Designer sind diese Kontrollen der Visual Studio-Toolbox hinzugefügt und verfügen über einen eigenen Satz von Eigenschaftenseiten und Dialogboxen. Abbildung 4 zeigt das Beispiel eines benutzerdefinierten Berichtselements, einen Trendmaßstab. Abbildung 4 Benutzerdefinierte Berichtselemente unterstützen mehr als nur einfache Eigenschaftseinstellungen — sie können an Datensätze gebunden werden wie systemeigene Reporting Services-Kontrollen und können die Features des Berichtsverarbeitungsmoduls zur Bewertung, Gruppierung, Sortierung und Filterung von Ausdrücken wirksam einsetzen. Verbesserungen im Berichts-Designer Während der neue Berichts-Generator-Client (der später in diesem Dokument besprochen werden wird) Unternehmensbenutzer dabei unterstützen wird, auf einfache Art Berichte zu erstellen, wird der Visual Studio-basierte Berichts-Designer weiterhin das bevorzugte Entwurfs-Werkzeug für IT-Profis und Anwendungsentwickler darstellen. In SQL Server 2005 ist es nicht mehr nötig, dass Visual Studio (VS) auf einer 44 Workstation vorinstalliert ist, um den Berichts-Designer zu verwenden. Wenn Visual Studio nicht installiert ist, wird eine Kopie der VS-Shell installiert, um den BerichtsDesigner und andere SQL Server Entwicklungswerkzeuge zu hosten. Wenn der Ersteller eine Version von Visual Studio installiert hat, wird der Berichts-Designer als ein Add-in installiert. Der Berichts-Designer hat einige Verbesserungen erfahren, einschließlich des verbesserten Ausdrucks-Editors. (Abbildung 5) Abbildung 5 Der Ausdrucks-Editor enthält jetzt sowohl eine Liste der verfügbaren Funktionen, die zum Berichtsentwurf zur Verfügung stehen, als auch IntelliSense®-Features wie etwa Inline Parameter Information, Anweisungsvervollständigung und Echtzeitprüfung der Syntax. Bessere Integration Integration mit bereits bestehenden Produkten ist ein Schlüsselelement von Reporting Services. SQL Server 2005 Reporting Services bietet verbesserte Integration mit sowohl anderen Komponenten innerhalb von SQL Server, als auch Microsoft SharePointProdukten und –Technologien. Analysis Services Abfrage-Designer Obwohl es zwar möglich war, Daten aus Analysis Services in die SQL Server 2000Version von Reporting Services zu integrieren, gab es keine Einrichtung, die dem Benutzer beim Erstellen von MDX-Abfragen half. In SQL Server 2005 enthält der Visual Studio-Berichts-Designer einen integrierten Abfrage-Desinger für SQL Server 2005 Analysis Services (SSAS), der Benutzer bei der Konstruktion von Abfragen mittels Drag&Drop von Server-Metadaten und Voransichten der Resultate unterstützt. Der neue MDX-Abfrage-Designer wird in Abbildung 6 gezeigt. 5 Abbildung 6 Der Analysis Services Abfrage-Generator enthält auch die Möglichkeit zum Filtern der Resultate und Parametrisieren der MDX-Abfragen. SQL Server Management Studio-Integration Während es weiterhin möglich ist, SSRS durch den Report Manager zu verwalten, verfügt SQL Server 2005 auch über die Fähigkeit, durch das Windows-basierte SQL Server Management Studio die Bereitstellung von Reporting Services zu konfigurieren und zu verwalten. Als Alternative zu dem webbasierten Report Manager bietet SQL Server Management Studio einen eigenen Verwaltungspunkt für alle SQL ServerKomponenten, einschließlich der relationalen Datenbank, Analysis Services, Integration Services und Reporting Services. Das SQL Server Management Studio wird in Abbildung 7 gezeigt. 66 Abbildung 7 Zusätzlich zu der Integration mit dem Objekt-Explorer und Eigenschafts-Dialogen verfügt Management Studio über volle Unterstützung für das Generieren von Berichtsserver-Skripts, die durch das Berichtsserver Befehlszeilen-Werkzeug ausgeführt werden können. SharePoint Webparts SQL Server 2005 Reporting Services enthält einen Satz von Webparts, der es einfach macht, Berichte in eine SharePoint Portal Server 2003- oder Windows SharePoint Services-Umgebung zu integrieren. Die Webparts Berichts-Viewer- und BerichtsExplorer werden in Abbildung 8 gezeigt. 7 Abbildung 8 Der Webpart Berichts-Explorer ermöglicht das Durchsuchen des Berichtsservers. Ein Benutzer kann einen Bericht einsehen und ein Abonnement für einen Bericht erstellen oder bearbeiten. Der Webpart Berichts-Viewer wird verwendet, um eine Vielzahl von Berichten einzusehen und zwischen ihnen zu navigieren, wie auch sie in unterstützte Formate zu exportieren. Durch die Verwendung von Verbinden der Webparts kann der Viewer mit dem Explorer verbunden werden, um eine Anzeige des ausgewählten Berichts innerhalb der Portals-Seite zu ermöglichen. Reichhaltige Entwickler-Erfahrung Visual Studio 2005 (Professional-Editionen und höher) enthält jetzt Reporting ServicesFunktionalität, damit es Entwicklern ermöglicht wird, reichhaltige Berichte in ihre Anwendungen zu integrieren, sowohl mit, als auch ohne einen Berichtsserver. Visual Studio-Integration Zusätzlich zu dem Erstellen von Berichten in einem Berichtsserver-Projekt ist der Berichtsentwurf nun komplett mit Visual Studio-Sprachprojekten integriert. Berichte können unmittelbar in jedes Windows-Formular oder jede ASP.NET-Webanwendung eingebettet werden. Die Möglichkeiten zum Datenzugriff eingebetteter Berichte sind eine natürliche Erweiterung der Visual Studio Daten-Möglichkeiten. Nicht nur können traditionelle Datenbanken als eine Datenquelle für Berichte verwendet werden, es 88 können auch Objektsammlungen verwendet werden. Abbildung 9 zeigt den BerichtsDesigner dargestellt in einem Sprachprojekt. Abbildung 9 In der Entwurfsphase bietet der Berichts-Editor Zugang zu in der Anwendung bereits definierten Datenquellen. Sobald die Berichte definiert sind, verwendet die Anwendung die Berichts-Viewer-Steuerelemente (die in dem nächsten Abschnitt beschrieben werden), um die Ergebnisse anzuzeigen. Berichts-Viewer-Steuerelemente Visual Studio 2005 enthält einen Satz frei neu verteilbarer Berichts-ViewerSteuerelemente, die es auf einfache Art ermöglichen, Reporting Services-Funktionalität in benutzerdefinierte Anwendungen einzubetten. Es gibt zwei Versionen des BerichtsViewer, eine für reichhaltige Windows-Client-Anwendungen, und eine für ASP.NETAnwendungen. Das Berichts-Viewer-Steuerelement wird in Abbildung 10 dargestellt. 9 Abbildung 10 Die Steuerelemente unterstützen sowohl lokale als auch Remoteverarbeitungsmodi. Im lokalen Verarbeitungsmodus liefert die Anwendung die Berichtsdefinitionen und – datensätze und löst die Berichtsverarbeitung aus. Im Remoteverarbeitungsmodus geschehen Datenbeschaffung und Berichtsverarbeitung auf dem Berichtsserver, und die Kontrolle wird für Anzeige und Navigation durch den Bericht verwendet. Dieses Modell ermöglicht das Erstellen reichhaltiger Anwendungen, die vom Desktop- bis zum Unternehmenslevel skalierbar sind. Den Endbenutzer unterstützen SQL Server 2005 Reporting Services enthält den Berichts-Generator, ein neues Werkzeug zur Ad-hoc-Berichterstellung, das Unternehmensbenutzer dabei unterstützt, ihre eigenen Berichte zu erstellen und Firmendaten zu untersuchen. Berichts-Generator beinhaltet ein benutzerfreundliches Abfragemodell, das Benutzer zum Erstellen von Berichten befähigt, selbst wenn der Benutzer über kein tiefergehendes technisches Verständnis der zu Grunde liegenden Datenquellen verfügt. Berichts-Generator unterstützt die Berichtserstellung sowohl für SQL Server relationale Datenbanken als auch SQL Server Analysis Services multidimensionale Datenbanken. Der Berichts-Generator wurde nicht als umfassendes Datenanalysewerkzeug entworfen, sondern soll eher als Möglichkeit dienen, mittels der Mitarbeiter der Informationstechnologischen Abteilung Abfragen und Berichterstellungsszenarios in Eigenregie erstellen können. Berichts-Generator-Client Der Berichts-Generator-Client ist eine ClickOnce WinForms-Anwendung, die vom Berichtsserver gestartet wird. Die Benutzeroberfläche des Berichts-Generator ist auf vertrauten Microsoft Office-Paradigmen wie Excel und PowerPoint® errichtet. Der Berichts-Generator wird in Abbildung 11 dargestellt. 1010 Abbildung 11 Im Gegensatz zu der formfreien Natur des Visual Studio-Berichts-Designer werden die Berichte im Berichts-Generator durch vordefinierte Vorlagen erstellt (Tabelle, Matrix oder Diagramm). Benutzer können neue Berichte erstellen oder bestehende Berichte verändern. Nach Abschluß können die Berichte – wenn der Benutzer über die benötigten Rechte verfügt – an den Berichtsserver herausgegeben werden. Berichts-Generator-Berichte können auch in den Visual Studio-Berichts-Designer geladen werden, wenn komplexe Veränderungen vonnöten sind. Der Berichts-Generator Modell-Designer Wenn ein Endbenutzer mittels des Berichts-Generators einen Bericht erstellt, verwendet er ein Darstellung des zu Grunde liegenden Datenbankschemas in Form eines Unternehmensmodells. Der Berichterstellungszugang zu diesem Modell schließt den Endbenutzer von der Notwendigkeit aus, beispielsweise Verbindungszeichenfolgen verstehen zu müssen oder SQL oder MDX schreiben zu können. Während Modelle, die Zugang zu SQL Server Analysis Services ermöglichen, automatisch auf dem Berichtsserver erstellt werden, kann der Berichts-Generator Modell-Designer dafür verwendet werden, die Modelle, die auf den SQL Server relationalen Datenbanken errichtet wurden, zu generieren oder zu verändern. Diese Modell-Generierungs-Projekte sind ein neuer Projekttyp innerhalb der Visual Studio-basierten Entwicklungs-Shell. Der Berichtsmodell-Designer wird in Abbildung 12 dargestellt. 11 Abbildung 12 Der Modell-Designer bietet dem IT-Profi die Möglichkeit, Elemente des generierten Modells zu verändern. Sobald das Modell fertig ist, wird es auf einem Berichtsserver zur Verfügung gestellt, um dem Berichts-Generator-Client Zugriff zu ermöglichen. 1212 Schlussfolgerung SQL Server 2000 Reporting Services versprach kosteneffektive Unternehmensberichterstellung für die gesamte Organisation. SQL Server 2005 Reporting Services (SSRS) hebt dieses Versprechen auf die nächste Stufe. Kernverbesserungen des Produkts werden geboten durch direktes Client-Drucken, Sortieren durch den Endbenutzer, mehrwertige Parameter, benutzerdefinierte Berichtselemente und Verbesserungen im Berichts-Designer. SSRS erweitert auch die Berichterstellungsmöglichkeiten durch enge Integration mit SQL Server 2005 Analysis Services, SQL Server Management Studio und SharePoint Services. Die Entwicklungsumgebung wurde verbessert durch reichhaltigere Möglichkeiten für integrierte Berichtsentwicklung innerhalb von Visual Studio. Eine weitere Verbesserung besteht in den Berichts-Steuerelementen, die ein einfacheres Einbetten von Berichterstellung in Anwendungsentwicklung ermöglicht. Abschließend wird der Endbenutzer bedeutend unterstützt durch das Hinzufügen des Berichts-Generators. Unternehmensbenutzer werden in der Lage sein, außerhalb von Visual Studio Berichte zu erstellen und zu verändern; das geschieht unter Verwendung eines Drag&DropParadigmas, welches eine Geschäftsübersetzung des zu Grunde liegenden Datenbankschemas verwendet. Diese ganzen Attribute ermöglichen eine reichhaltigere Erfahrung und eine vollständigere Berichterstellungslösung für das gesamte Unternehmen. 13