Nützliche Links für SQL Server 2005 Reporting Services

Werbung
Migration von Business Objects Crystal
Reports auf die SQL Server 2005 Reporting
Services
SQL Server 2005 Reporting Services Whitepaper
Autoren: Hitachi Consulting
Mitwirkende: Michael W. Baker, Hitachi Consulting; Eric Winton, Hitachi Consulting
Erschienen: April 2006
Geltungsbereich: Microsoft® SQL Server™ 2005 Reporting Services
Zusammenfassung: Dieses Dokument unterstützt Crystal Reports Designer in einer
schrittweisen Strategie bei der Migration auf die Microsoft® SQL Server™2005
Reporting Services.
Urheberrecht
Dies ist ein Entwurf, welcher bis zur endgültigen, kommerziellen Freigabe der darin beschriebenen Software womöglich
wesentliche Veränderungen erfahren wird.
Die Informationen in diesem Dokument vertreten die momentane Darstellung der Microsoft Corporation der darin
besprochenen Themen zum Zeitpunkt der Publikation. Weil Microsoft den sich verändernden Marktbedingungen
entsprechen muss, dürfen sie für Microsoft nicht als bindend aufgefasst werden. Zudem kann Microsoft für die
Genauigkeit von Informationen jeglicher Art welche nach dem Publikationsdatum bekannt werden keine Gewähr
übernehmen.
Dieser Entwurf dient ausschließlich informativen Zwecken. MICROSOFT ÜBERNIMMT KEINE GARANTIEN, WEDER
AUSDRÜCKLICH, STILLSCHWEIGEND ODER STATUARISCH, BEZÜGLICH DER INFORMATIONEN IN DIESEM DOKUMENT.
Es ist Sache des Anwenders, allen anwendbaren Urheberrechtsgesetzen 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 Fotokopieren, Aufnehmen oder
Ähnlichem), ohne Urheberrechte zu verletzten und darf nur geschehen mit einer ausdrücklichen schriftlichen
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 dieses Dokuments Ihnen keinerlei Lizenz über
Patente, Schutzmarken, Urheberrechte oder andere geistige Eigentümer.
So lange nicht anders erwähnt sind die hier als Beispiel gewählten Unternehmen, Organisationen, Produkte, Domänen, EMail-Adressen, Logos, Menschen, Orte und Begebenheiten fiktiv, und jede Ähnlichkeit mit realen Unternehmen,
Organisationen, Produkte, Domänen, E-Mail-Adressen, Logos, Menschen, Orte und Begebenheiten ist weder beabsichtigt,
noch soll sie angedeutet werden.
 2005 Microsoft Corporation. Alle Rechte vorbehalten.
Microsoft und Visual Studio sind entweder eingetragene Warenzeichen oder Warenzeichen der Microsoft
Corporation in den Vereinigten Staaten und/oder anderen Ländern.
Alle anderen Warenzeichen sind Eigentum der jeweiligen Inhaber.
Inhaltsverzeichnis
Einleitung ......................................................................................................... 4
Vergleich von Business Objects Crystal Reports 8.5+ bis SQL Server 2005
Reporting Services ........................................................................................... 5
Strategische Vorteile einer Migration auf SSRS.................................................... 5
Weitere SSRS Vorteile ..................................................................................... 6
Crystal Reports & SSRS - ein Vergleich .............................................................. 7
Vorbereitung zur Konvertierung auf die SQL Server 2005 Reporting Services .. 9
Analysieren Sie Ihre gegenwärtige Berichtlösung ................................................ 9
Identifikation der Konsolidierungs- und Standardisierungsmöglichkeiten .............. 11
Planung der Migration .................................................................................... 11
Migration einzelner Crystal Reports Abschnitte auf die SQL Server 2005
Reporting Services ......................................................................................... 11
Verbindung, Datenquelle und Parameter .......................................................... 14
Berichtkopf und Berichtfuß ............................................................................. 19
Seitenkopf und Seitenfuß ............................................................................... 23
Zeilendetails, Gruppierungen und Zwischentotale .............................................. 24
Formeln und maßgeschneiderte Funktionen ...................................................... 32
Weitere Crystal Reports Eigenschaften auf SQL Server 2005 Reporting
Services migrieren ......................................................................................... 35
Matrix Berichte ............................................................................................. 35
Diagramme .................................................................................................. 39
Mehrfache Datenquellen und Unterberichte ...................................................... 40
Verknüpfte Berichte ....................................................................................... 42
URL Zugriff ..................................................................................................... 44
Verwendung von alternativen Migrationstechniken ....................................... 45
SQL Server 2005 Reporting Services Bericht Wizard .......................................... 45
Anwendungen von Drittanbietern .................................................................... 45
Zusammenfassung ......................................................................................... 46
Nützliche Links für SQL Server 2005 Reporting Services ................................ 47
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
4
Einleitung
Alle Unternehmen brauchen eine zuverlässige und effiziente Berichtlösung. Einige
Organisationen entwickeln ihre eigenen Lösungen im Haus, während andere
Organisationen Lösungen umsetzen, welche auf dem Markt erhältlich sind. Während
vieler Jahre waren die Business Objects Crystal Reports die etablierte Option für
Berichtslösungen in der Geschäftswelt, wie die Bündelung von Crystal Reports mit
anderen Anwendungen, inklusive dem Microsoft Visual Studio, zeigt. Während sich
Crystal Reports während vielen Jahren für viele Firmen bewährt hat, halten Firmen heute
nach einer vereinheitlichteren und kosteneffizienteren Berichtslösung, wie z.B. den
kürzlich veröffentlichten SQL Server Reporting Services, Ausschau.
Microsoft SQL Server 2005 Reporting Services (SSRS) ist die aufkommende Lösung
erster Wahl für Firmen, welche Unternehmensweite Berichtsresourcen benötigen und
konkurriert direkt mit höchstrangigen Berichtslösungen wie Crystal Reports. Weil SSRS
zusammen mit dem SQL Server 2005 ausgeliefert wird, können Firmen ihre
Investitionen in den SQL-Server wirksam einsetzen und von tief greifenden
Integrationen mit den anderen Bereichen des Produktes profitieren. Einige der jüngsten
Erweiterungen der Reporting Services, inklusive eines ad hoc Berichtdesigners, Report
Builder genannt, setzen Microsoft an die Spitze des Berichtslösungsmarktes.
Weil heute so viele Firmen, welche ebenfalls SQL-Server besitzen und mit der
Verwendung von SSRS als kostengünstigere Alternative beginnen möchten, Crystal
Reports verwenden, besteht ein Bedarf für eine Begleitung von Crystal Reports Designer
bei der Migration von ihrer gegenwärtigen Crystal Reports Lösung hinüber zu den SSRS.
Dieses Dokument wird sich auf die manuellen Migrationsanstrengungen für Crystal
Reports 8.5 und spätere Versionen konzentrieren und es beinhaltet einen
abschnittsweisen Vergleich der Berichtsinformationen der Crystal Reports gegenüber
jenen der SSRS. Dieser Ansatz wird zudem Crystal Reports Anwender in die SSRS
einführen und die Ähnlichkeiten beider Systeme demonstrieren.
Im Studium der eigentlichen Migrationsbemühungen haben wir beobachtet, dass eine
große Anzahl migrierter Berichte tabellarisch sind und Eigenschaften wie Formeln,
Gruppierungen und Parameter verwenden. Während ein Großteil der Funktionalitäten
von Crystal Reports auch in SSRS zur Verfügung stehen, ist der Umfang dieses
Dokumentes auf die migrationsspezifischen Abschnitte begrenzt, welche in der Tabelle 1
aufgeführt sind.
Tabelle 1 – Crystal Reports Sparten im Visier dieses Dokuments und deren
entsprechende SSRS-Berichtsparten
Crystal Reports Sparten
Verbindung, Datenquelle, Parameter
Berichtkopf und Berichtfuß
Seitenkopf und Seitenfuß
Zeilendetails, Gruppierungen, Sub-Totale
Formeln und massgefertigte Funktionen
SSRS Sparten
Datenset
Seitenkopf und Seitenfuß
Seitenkopf und Seitenfuß
Tabellensteuerung
Ausdrücke, inline Code, massgefertigte DLLs
Bitte beachten Sie, dass semantische Ebenen (Univers und Business View) in jüngeren
Versionen von Crystal Reports in diesem Dokument nicht berücksichtigt werden, obwohl
SSRS in der Tat ähnliche Funktionalitäten beinhaltet, welche die geschäftlichen
Anwender von der Komplexität relationaler und OLAP-Datenquellen isolieren. Durch den
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
5
Report Builder von SSRS können Endanwender ad hoc Berichte mittels vordefinierter
Berichtsmodelle erstellen, um damit direkt auf relationale Datenquellen einzuwirken.
Zudem führen SQL Server 2005 und SSRS ein neues Konzept ein, Unified Dimensional
Model (UDM, z.dt.: Vereinheitlichtes Dimensionsmodel), welches schon wie die Business
Objects Universe Ansicht, eine Metadaten-Schicht ist, die auf der physischen Datenbank
obendrauf sitzt. Zu den wesentlichsten Vorteilen des UDM gegenüber der Business
Objects Universe Ansicht gehören Folgende:








eine Methode um Key Performance Indicators (KPIs, z.dt.: zentrale
Leistungsindikatoren) auszudrücken und zu verwalten;
eine transparente Aggregatdefinition, Verwaltung und Navigationsmaschine;
eine fortgeschrittene Calculationssprache (MDX) welche ausdrucksvoller als
SQL ist und multidimensionale Daten versteht;
unterstützt, zusätzlich zu den unregelmäßigen Hierarchien, Eltern-Kind /
unsymmetrische Hierarchien;
ermöglicht die Definition von Teilmengen (Perspektiven) der allgemeinen
semantischen Ebenen, weg von der Abhängigkeit von mehrfachen Universen
mit Kopien der gemeinen Klassen und Objekte, um die Präsentation
gegenüber dem Anwender zu vereinfachen;
transparente Verwaltung von Abfragezusammenhängen, wobei jene
Komplexität vom Design Ihrer semantischen Ebenen entfällt;
ermöglicht die serverseitige Integration von Daten aus heterogenen Systemen
ohne ETL (Extrahierung, Transformation und Laden);
Übersetzungen von Metadaten, was es den Anwendern ermöglicht, Metadaten
während der Erstellung der Berichte in ihrer eigenen, gesprochenen Sprache
zu betrachten und zu konsumieren.
Um mehr über die Fähigkeiten des SSRS Report Builder und des SQL Server 2005 UDM
(vereinheitlichtes Dimensionsmodel) zu erfahren, verweisen wir Sie auf die
nachstehenden Literaturhinweise der online Bücherei.
Report Builder online Bücher
Vereinheitlichtes Dimensionsmodel online Bücher
Schließlich ein grundlegendes Wissen über SSRS notwendig, um Crystal Reports nach
SSRS zu migrieren. Um Sie in Ihrer Lesearbeit noch mehr zu unterstützen, sind
verschiedene SSRS-Themen in diesem Dokument mit SSRS online Büchern verknüpft.
Vergleich von Business Objects Crystal
Reports 8.5+ bis SQL Server 2005 Reporting
Services
Strategische Vorteile einer Migration auf
SSRS
Für die Entscheidung der Migration Ihrer bestehenden Crystal Reports auf SSRS ist ein
eingehender Vergleich der beiden Produkte notwendig, um zu bestimmen, welches für
Ihr Geschäft das Beste ist. Einige der zentralen, strategischen Fragen, welche während
dieser Evaluation zusätzlich zur bloßen Betrachtung von Eigenschaften und Funktionen
gestellt werden müssen sind: "Wie gut integriert sich meine Berichtslösung in den Rest
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
6
meiner Business Intelligence (BI, z.dt.: Geschäftsintelligenz) Technologien?", "Wie gut
integriert sich meine Berichtslösung in meine Datenbanken und Datenquellen?", "Wie
einfach oder kompliziert wird es für meine Entwickler sein, die Erstellung und
Anwendung der Unternehmensberichte zu lernen?", "Verhindert die Komplexität meiner
gegenwärtigen Berichtslösung deren Einsatz und Verwendung für eine verbesserte
Entscheidungsfindung?", "Wie hoch sind die Unterhalts- und Administrationskosten
meiner gegenwärtigen Berichtslösung?", und natürlich, "Was wird diese Berichtslösung
meine Firma kosten?"
Tiefe Integration mit Microsoft Business Intelligence
Mit der Herausgabe des SQL Server 2005 hat Microsoft außergewöhnliche Schritte
unternommen, um eine vollständige Business Intelligence Plattform für Unternehmen
auf den Markt zu bringen, welche alle Aspekte der Business Intelligence in einer leicht
bedienbaren Architektur integriert. Nebst einer inbegriffenen neuen und
leistungsverbesserten Datenbankmaschine beinhaltet der SQL-Server 2005 auch die
Analysis Services (Analysendienste) um OLAP Würfel zu erstellen und für die
Datengewinnung (Data Mining), leistungsfähige Integration Services für die Ausführung
von Extract, Transform und Load Aufgaben (ETL, z.dt.: gewinnen, verändern und laden)
von verschiedenen Datenquellen und Reporting Services für Operational Reporting
(operationelle Berichte).
Vereinheitlichtes und konsistentes Entwicklungsmodel
Weil die im SQL Server Business Intelligence Development Studio integrierten
Werkzeuge wie z.B. der Report Designer den Vorteil des Visual Studio Systems nutzen,
profitieren die Entwickler von einer konsistenten Entwicklungsmethodik und von einem
einfacheren Lernprozess bei der Entwicklung von Anwendungen, welche sowohl Visual
Studio als auch Reporting Services erfordern. Im Gegensatz zu den Reporting Services
für SQL Server 2000, welche eine Microsoft Visual Studio .NET 2003 Lizenz erforderte,
besitzt SQL Server 2005 zudem eine Reihe von Entwicklungswerkzeugen für
Berichtgestaltung, Entwicklung und Einsatz die im "SQL Server Business Intelligence
Development Studio" inbegriffen sind. SSRS hat dem Visual Studio 2005 und dem Visual
Web Developer Express weitere Bedienungselemente, wie z.B. die "ReportViewer"
Bedienung hinzugefügt, damit Sie Berichte in Ihre .NET Anwendungen oder ASP.NET
Websites einbetten können.
Einschließliche Preisgestaltung und mehr Wert für Ihr Geld
Schließlich, mit den Advanced Services wurden dem SQL Server 2005 Express
grundlegende Reporting Services Funktionalitäten hinzugefügt, sodass Sie ohne weitere
Kosten anzuhäufen vom elementaren lokalen Berichtswesen profitieren können. Wenn
Sie zurzeit also einen SQL Server 2005 Exemplar haben, oder wenn Sie darüber
nachdenken eines zu realisieren, überlegen Sie, ob Sie Ihrer Investition durch den
Einsatz von SSRS für Ihre Berichtsbedürfnisse mehr Gewicht verleihen wollen, statt
womöglich hunderttausende von Dollars für Berichtlösungsprodukte von Drittfirmen
auszugeben.
Weitere SSRS Vorteile
SSRS hat einige weitere Vorteile, die es zu berücksichtigen gilt. Eines der zentralen
Konzepte des Produktes ist sein Einsatz von XML zur Darstellung von Berichten,
Datenquellen, Berichtsmodellen und sogar der Servicekonfiguration. Microsofts Report
Definition Language (RDL, z.dt.: Berichtgestaltungssprache) ist eine XML-Tabelle, welche
zur Darstellung von Berichten verwendet wird, welche mithilfe des Reporting Services
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
7
Report Designer oder des Report Builder erstellt wurden. RDL-Dokumente fördern ein
ausbaubares und offenes Berichtsdokumentformat, welches von verschiedenen
Anwendungen leicht gemeinsam genutzt werden kann. Eine weitere Eigenschaft von
SSRS ist deren Ausbaufähigkeit. Durch die Erweiterung von den SSRS können
Anwendungsentwickler neue Datenquellen nach eigenen Bedürfnissen, neue
Zustellmöglichkeiten, neue Wiedergabeoptionen oder neue Sicherheitsaspekte erstellen.
Zudem können die Web Services als Datenquellen verwendet werden und eigene
Bedienungselemente lassen sich in Berichten einfach kreieren und verwenden. Und zu
guter Letzt haben die SSRS den Report Builder eingeführt, mit welchem sich im Report
Manager ad hoc Berichte erstellen und zur späteren Verwendung abspeichern lassen. Für
zusätzliche Informationen über neue Eigenschaften und Erweiterungen in den SSRS
verweisen wir Sie auf die Microsoft SQL Server 2005 Reporting Services Website unter
http://www.microsoft.com/technet/prodtechnol/sql/2005/2005ssrs.mspx.
Crystal Reports & SSRS - ein Vergleich
Tabelle 2 zeigt eine kurze Gegenüberstellung der Eigenschaften des Business Objects
Crystal Reports Servers und der Microsoft SQL Server 2005 Reporting Services.
Tabelle 2 – Vergleich des Crystal Reports Server mit den SSRSProdukteigenschaften
Eigenschaft
Berichtservereigenschaften
Veröffentlichung
Crystal Reports
Server
InfoView und Windows
Client
SSRS
Berichtdesigner auf der
Grundlage von Visual Studio,
Berichtverwalter auf
Webgrundlage (HauptBenutzerschnittstelle),
SharePoint, ReportViewerBedienungselemente
Gemeinsam genutzte
Zeitpläne können von
verschiedenen Berichten
genutzt werden.
Zeitplan-Kalender
Zeitplanvorlagen
können von
verschiedenen
Berichten verwendet
werden.
Exportformate
Word, Excel, PDF
Excel, Text, XML, PDF, TIFF,
MHTML (oder
benutzerdefinierte
Wiedergabeerweiterungen)
Auslieferungskanäle
MAPI, File, FTP, Email
Abonnements auf
Datenbasis
erhältlich (nur durch
semantische Ebenen
der Business View)
E-Mail, gemeinsam genutzte
Dateien (oder
benutzerdefinierte
Auslieferungserweiterungen)
dynamische Abonnements
auf Abfragebasis
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
Warnhinweise
Events
Berichthistorie
verbundene Berichte
Berichttypen
Drill Down Berichte
Berichte mit
Unterberichten
Kreuztabellenberichte
OLAP-Berichte
Mehrspaltenberichte
Beschriftungen (Labels)
BerichtobjektEigenschaften
Karten
Formeln
SQL-Ausdrücke
Parameter
Parameterstufen
(Cascading Parameters)
Bilder, Linien,
Abbildungen
spezifische und
erhältlich
benutzerdefiniert, per
Datei, und geplant
Berichtinstanzen
erhältlich, durch die
Kodierung von
Hyperlinks, nur wenn
Crystal Reports Server
oder BusinessObjects
Enterprise verwendet
wird.
erhältlich
via Web Services API
anpassbar
Momentaufnahme
(snapshots)
einfacher Dialog um
Verknüpfungen zu einem
gemeinsam genutzten Bericht
zu erstellen, mit der Option
Eigenschaften des
verknüpften Berichtes zu
anzupassen.
beliebige Anzahl von
Ebenen
nur eine Ebene von
Unterberichten
erhältlich
erhältlich
In Details und Gruppen
standard oder
benutzerdefiniert
beliebige Anzahl von Ebenen
MapInfo (ActiveX
Steuerung)
Crystal oder BasicSyntax, Formeln
können im ServerRepository
wiederverwendet
werden.
erhältlich
Sätze werden von der
SQL-Maschine
verarbeitet (Formeln
werden vom CrystalModul verarbeitet)
dynamische Parameter
erhältlich (nur wenn
Business View oder
Universe verwendet
wird)
erhältlich nur in
Businessansichten
Wird nicht benötigt, weil es
eine direkte Schnittstelle zum
inhärenten Dialekt der SQLDatenbank gibt.
konditionale
Formatierung nicht
möglich
Funktionen eines
vollständig anpassbar
beliebige Anzahl Ebenen
erhältlich
erhältlich
In Details und Gruppen
benutzerdefiniert
VB.NET-Ausdrücke oder
eingebettete .NET-Assembly
Objekte
dynamische Parameter
erhältlich
erhältlich. Werte können für
einen Parameter auf der
Grundlage eines anderen
Parameters definiert werden.
.NET-Komponenten
8
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
benutzerdefinierte
Funktionen
Berichts können in ein
globales Repository
exportiert werden.
verwenden
Datenfelder
man muss mehrere
Detailbereiche,
Unterberichte und
Benutzerfunktionen
verwenden.
Datenbankfeld gibt den
ersten Datensatz zur Anzeige
zurück. Datenfeld steuert die
Anzeige mehrerer
Datensätze.
gemeinsam genutzte
Datenquellen
Funktionalität der
Businessansicht
Mehrfach-Datenfelder in
einem Bericht (Tafeln,
Matrizen, Diagramme,
etc.)
Gruppierungs- und
Sortierungseigenschaften
begrenzte Anzahl von
Ergebnissen (erste-N,
letzte-N, erste-%, letzte%)
Export
nicht erhältlich
gemeinsame Nutzung
zwischen mehreren Berichten
möglich
erhältlich
Ansichtseigenschaften
Formate
Navigation in Teilen
Gruppennavigation
Drill Down auf derselben
Seite
erhältlich, enthält
Wizards
erhältlich
Export durch die
Ansichten
Export durch Ansicht oder
Abonnements mittels
Wiedergabeerweiterungen
Crystal-eigenes, Excel,
PDF, RTF, Word
kann definiert werden
HTML 3.2/4.0, PDF, Excel,
XML, CSV, TIFF, MHTML
mittels Lesezeichen auf
einzelne Berichtobjekte
erhältlich als Document Map
erhältlich als
Gruppenbaum
nicht erhältlich
9
erhältlich
Vorbereitung zur Konvertierung auf die SQL
Server 2005 Reporting Services
Analysieren Sie Ihre gegenwärtige
Berichtlösung
Nachdem Sie die Entscheidung getroffen haben, Ihre bestehenden Crystal Reports
Berichte auf SSRS zu migrieren, wird der erste Schritt sein zu bestimmen, wie Ihre
Berichtlösung in einer Reporting Services Lösung dupliziert werden soll. Bedenken Sie zu
Beginn die Benutzer Ihrer Berichtslösung. Wie Abbildung 1 zeigt, gibt es in einer
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
10
Organisation generell drei Arten von Benutzern, die mit Berichten zu tun haben:
Informationsdesigner, Informationsanalysten, Informationsarbeiter.
Crystal Reports Komponenten




Crystal Reports (Windowsclient)
Universe Designer
Business View Designer
BusinessObjects Enterprise und Crystal
Reports Server (Administrationskonsole)



Crystal Reports (Windowsclient)
Crystal Reports Explorer
InfoView

Crystal Reports ansehen durch
InfoView (BusinessObjects
Enterprise und Crystal Reports
Server Portal) und Portalen
von Fremdherstellern z.B.
SharePoint
SQL Server 2005 Reporting
Services Komponenten
Informations
designer
Informations
analysten
Informations
arbeiter





Visual Studio 2005
Report Designer
Report Manager
Model Builder
Report Builder



Report Viewer
Report Builder
Report Manager


Report Viewer
Report Manager
Abbildung 1: Bericht-Benutzertypen

Informationsdesigner – Aktivitäten wie Berichte entwerfen und einsetzen,
Berichtsmodelle\semantische Ebenen erstellen und die allgemeinen
Berichtslösungen verwalten.

Informationsanalysten – Aktivitäten, wie Berichte von den
Informationsdesignern betrachten und analysieren und zusätzliche Berichte
erstellen.
Information Workers – Aktivitäten wie Daten aus Berichten von den
Informationsdesignern und Informationsanalysten verwenden, um
Geschäftsentscheidungen zu treffen. Anmerkung: Verteilerkanäle wie z.B.
Microsoft Office und Email sind oben zwar nicht aufgelistet, werden aber von
beiden Produkten unterstützt.

Nachdem Sie entschieden haben wie die unterschiedlichen Benutzertypen mit SSRS
umgehen werden, müssen Sie als Nächstes die Berichte in der gegenwärtigen Crystal
Reports Lösung studieren. Erstellen Sie eine Liste aller Berichte und notieren Sie die
jeweils relevanten Informationen wie z.B.:









Wird der Bericht in der Organisation immer noch verwendet?
Welche Benutzer und Gruppen verwenden den Bericht?
Wie oft wird der Bericht aufgerufen?
Wie wird der Bericht aufgerufen?
Wird der Bericht in anderen Berichten verwendet?
Was ist die Datenquelle?
Gibt es verschiedene Produkte welche auf verschiedene Datenquellen
zugreifen (Crystal Reports, Web-Informationen und OLAP-Informationen)?
Welche Informationen werden angezeigt?
Welche Geschäftsentscheidungen werden aufgrund des Berichtes gefällt?
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
11
Durch das Einfangen und Organisieren wichtiger Informationen über Ihre
Berichtkonsumenten werden Sie deren gemeinsame Eigenschaften besser verstehen.
Nachdem Sie diese Liste präpariert haben, können Sie mit der Definition Ihrer SSRSLösung beginnen.
Identifikation der Konsolidierungs- und
Standardisierungsmöglichkeiten
In den meisten Fällen bereitet die Umsetzung einer neuen Berichtslösung eine
Gelegenheit zur Konsolidierung vieler über die Jahre erstellter Berichte. Durch die
signifikante Verminderung der Anzahl Berichte wird deren Unterstützung vereinfacht und
die Organisation und Sichtbarkeit der Daten verbessert. So können Sie zum Beispiel
Berichte konsolidieren, welche Informationen duplizieren oder welche zu keinem Zweck
mehr dienen.
Zudem sollten Sie diese Gelegenheit dazu nutzen, sich Wege der besseren
Standardisierung der Berichte zu überlegen. Zum einen könnten Sie die Realisierung von
gespeicherten Prozeduren als Ersatz für SQL-Anweisungen erwägen. Durch den Einsatz
von gespeicherten Prozeduren können Sie Ihre Berichte vor bösartigen Attacken, wie
zum Beispiel SQL-Injektionen, schützen und möglicherweise auch das
Leistungsverhalten Ihrer Abfragen verbessern.
Planung der Migration
Wenn Sie die Analyse Ihrer gegenwärtigen Crystal Reports Berichtslösung abgeschlossen
und etwelche Konsolidierungs- und Standardisierungsmöglichkeiten identifiziert haben,
wäre der nächste Schritt die Planung der Migrationsdetails von Crystal Reports auf die
SSRS. Diese Planung verwendet Ihre Analyseresultate, um zu identifizieren, welche
Berichtsarten und -benutzer zuerst auf SSRS zu migrieren sind. In der Regel ist eine
stufenweise Migration die beste Herangehensweise sowohl für die Endbenutzer als auch
für das Designteam. Jede Phase sollte einen formellen Kommunikationsprozess zwischen
Entwicklern und allen Benutzern haben. Im Minimum sollten das Datum der Migration,
mögliche Systemausfallzeiten und die Anlaufstelle für Supportprobleme nach Abschluss
der Migration kommuniziert werden. Wenn alle Phasen erst einmal definiert wurden,
kann ein Solltermin für die Stilllegung der Crystal Reports Server gesetzt werden.
Vergessen Sie nicht, auch für die Ausbildung Ihrer Endbenutzer auf dem Report Manager
und Report Builder einzuplanen. Im Verlaufe dieser Ausbildung können Sie auch für
Rückmeldungen über das neue System Werbung betreiben sowie neue Berichtsmodelle
für die ad hoc Abfragen des Report Builders definieren.
Migration einzelner Crystal Reports
Abschnitte auf die SQL Server 2005
Reporting Services
Nun, da Sie die Analyse Ihrer Berichtslösung abgeschlossen und die Liste aller zu
konvertierenden Berichte bereitgestellt haben, sind Sie bereit, für jeden Bericht einen
schrittweisen Migrationsprozess durchzuführen. Schauen wir uns zu Beginn einen
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
12
typischen Crystal Reports Bericht an. In diesem Bericht werden Verkaufsdaten für jedes
Verkaufsgebiet angezeigt. Die Daten werden nach Region und darauf nach Verkäufer
gruppiert.
Abbildung 2: Beispiel einer Crystal Reports Design Schnittstelle
Abbildung 3: Beispiel einer Crystal Reports Vorschau
Dieser Crystal Reports Bericht nimmt mit der AdventureWorks Datenbank Verbindung
auf und berichtet über die Verkäufe in den Regionen. Daten werden über zwei Befehle
an den Report zurückgegeben, Command und Command_1. Command gibt die
Verkaufsdaten für jeden Angestellten jeder Region zurück. Command_1 gibt eine
eindeutige Liste aller Gebiete zurück. Es wurde auch ein Parameter “Terr” definiert,
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
13
welcher die unterschiedlichen Gebiete die bei der Ansicht für die Selektion zur Verfügung
stehen vertritt. Und letztlich wurden auch Formeln verwendet um die Anzeige des
Seitenkopfes für die Textanzeige “Gebietsverkäufe, Forts.” ein- und auszuschalten.
Wenn die Seitenzahl 1 ist, ist die Anzeige unterdrückt, ansonsten wird sie angezeigt.
Als Nächstes möchten wir die Schritte in Abbildung 2 und 3, welche für die Migration des
Berichtes auf SSRS notwendig sind, nochmals zusammenfassen:
 Erstellen Sie ein neues Berichtprojekt im SQL Server Business Intelligence
Studio;
 Registerkarte Daten - Neues Datenset erstellen und konfigurieren Sie die
Verbindungsinformation zur Datenquelle;
 Registerkarte Daten – Abfrageinformationen im Datenset erstellen, um die
erforderlichen Felder im Bericht zu abzurufen;
 Registerkarte Daten – etwelche Parameter für die Datenset Abfrage erstellen und
die Abfrage testen;
 Registerkarte Entwurf – Bericht- Kopf- und Fußzeilen erstellen;
 Registerkarte Entwurf – Seiten-Kopf- und Fußzeilen erstellen;
 Registerkarte Entwurf – Zeilendetails, Gruppierungen, und Zwischentotale
festlegen;
 Registerkarte Entwurf - Formeln und massgefertigte Funktionen erstellen;
 Registerkarte Entwurf – zusätzliche Eigenschaften erstellen wie zum Beispiel
Matrizen, Diagramme, Mehrfach Datenquellen, Unterberichte, und verknüpfte
Berichte.
Öffnen Sie zuerst das SQL Server Business Intelligence Development Studio und
erstellen Sie ein neues Bericht Server Projekt. Nachdem das Projekt erstellt wurde,
sehen Sie eine Standard Berichtvorlage ähnlich wie das in Abbildung 4, unten. Eine
Berichtvorlage enthält drei Registerkarten: Daten, Entwurf und Vorschau. Die
Registerkarte Daten ermöglicht Ihnen die Konfiguration von Datensets für den Bericht.
Ein Bericht kann mehrere Datensets von mehreren heterogenen Quellen haben. Die
Registerkarte Entwurf ist der Ort, wo Sie den Bericht entwerfen. In der Registerkarte
Vorschau können Sie Ihren Bericht mit aktuellen Daten aus den Berichtdatensets
kontrollieren.
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
14
Abbildung 4: Standard Berichtvorlage des Visual Studio .Net 2005
Verbindung, Datenquelle und Parameter
Die erste Aufgabe einer Migration eines Berichtes ist die Einrichtung der Verbindungsinformation zur Datenquelle. Gemäß dem Crystal Reports Migrationsbeispiel in Abbildung
5a wird die Datenquelle der SQL-Server sein. In SSRS wird diese Verbindungsinformation die Datenquelle genannt. Ein Datenset beinhaltet nebst der Abfrageinformation einen Bezug zur Datenquelle. Sie können eine Datenquelle in einem separaten
Schritt hinzufügen oder auch dann, wenn Sie ein neues Datenset hinzufügen. Um für
Ihren Bericht ein neues Datenset einzurichten, klicken Sie auf das Datenset-Listenfeld in
der Registerkarte Daten Ihres Berichts und wählen Sie Neues Datenset.
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
15
Abbildung 5a: OLE DB Verbindung zur Datenbank des AdventureWorks SQL
Servers
Abbildung 5b: Konfigurationsseite für die Datenquelle eines Datenset
Das Dialogfenster Datenquelle erscheint (Abbildung 5b). Geben Sie einen Namen für
Ihre Datenquelle ein und wählen Sie den Typ. Klicken Sie dann auf die Schalfläche
Bearbeiten um die Verbindungseigenschaften für die Datenquelle zu definieren.
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
16
Abbildung 6: Verbindungseigenschaften für eine Datenquelle
Nachdem Sie die Verbindungseigenschaften bestimmt und die Verbindung getestet
haben klicken Sie OK, um zum Dialogfenster Datenquelle zurückzukehren. Klicken Sie
wiederum OK um die Datenquelleninformation zu speichern und zur Registerkarte Daten
des Berichtes zurück zu kehren. Sie sollten jetzt feststellen, dass jetzt das
VerkaufsgebietSales Datenset im Datensetfenster verfügbar ist. Was hat sich jetzt also
zugetragen? Im Wesentlichen haben wir jetzt ein Gefäß geschaffen, in welchem die
Resultate Ihrer Abfrage dereinst gespeichert werden, wenn ein Bericht ausgeführt wird.
Das Datenset verkörpert einen Speicher für die Resultate der Abfrage. Um mehr über
Datensets und Datenquelle in SSRS zu erfahren besuchen Sie die Thematik in Reporting
Services mit Daten arbeiten in den online Büchern.
Der nächste Schritt ist die Erzeugung einer Abfrage, mit welcher wir eine Liste von
Feldern aus dieser Datenquelle zurückgeben können, um damit für die Verwendung im
Bericht das vorhin kreierte Datenset zu besiedeln. Weil die Datenquelle für den
Beispielbericht im Crystal Reports die AdventureWorks Datenbank auf einem SQL-Server
ist, können wir die SQL-Abfrage vom Crystal Reports Berichtbeispiel kopieren und direkt
in den Abfragebereich des Registerblattes Daten einfügen. (Abbildung 7a und 7b)
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
17
Abbildung 7a: Befehlsabfrage vom Crystal Reports Berichtbeispiel
Abbildung 7b: Kopierte Befehlsabfrage vom Crystal Reports Berichtbeispiel
nach Einfügen in die Datenabfrage im SSRS-Bericht
Sie könnten hier genauso gut eine gespeicherte Prozedur aufrufen, indem Sie den Wert
im Befehlstyp-Listenfeld ändern. (Siehe online Bücher: “Abfragen von relationalen Daten
in einer SQL-Server Datenbank” für weitere Informationen).
Sie müssen zusätzlich noch ein weiteres Datenset mit der Liste der möglichen Verkaufsgebiete in der AdventureWorks-Datenbank erstellen. Dieses Datenset wird als
Parameterquelle im nächsten Abschnitt gebraucht werden. Wiederholen Sie die
vorherigen Schritte, um mit der AdventureWorks Datenquelle ein weiteres Datenset zu
kreieren, welches Sie Verkaufsgebiete nennen. Verwenden Sie dieselbe Abfrage vom
Command_1 im Crystal Reports Beispiel:
Select distinct(Name) from Sales.SalesVerkaufsgebiet
Und schließlich beinhaltet das Crystal Reports Berichtbeispiel einen Parameter "Terr,"
mit welchem die Benutzer die gewünschten Verkaufsgebiete auswählen können, wenn
der Bericht aufgerufen wird (siehe Abbildung 8a).
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
18
Abbildung 8a: Crystal Reports Parameterbeispiel und Parameter Standardwerte
von Command_1
Datenabfragen können in SSRS ohne weiteres überarbeitet werden. So kann man zum
Beispiel eine "Where"-Klausel einzufügen, mit welcher der Bericht automatisch so
konfiguriert werden kann, dass fakultative Parameter angezeigt werden. In Abbildung
8b wurde die Datenabfrage mit der folgenden Where-Klausel überarbeitet:
Where st.name IN (@terr)
Dieser Ausdruck wird aus der Datenquelle all jene Verkaufsgebiete zurückgeben, deren
Namen sich in einer vom Benutzer angegeben Gebietsliste befinden.
Abbildung 8b: Überarbeitete Datenset Abfrage mit Parameter
Ein SSRS-Bericht enthält zudem eine Berichtparameter-Eigenschaftseite, wo der
Designer an einem Ort alle Parameter der Datenabfrage anschauen kann. Um auf die
Berichtparameterseite zuzugreifen, wählen Sie im Bericht-Menü den Eintrag
Berichtparameter.
Sobald die Berichtparameterseite geöffnet wird, wird der "terr"-Parameter von den SSRS
automatisch entdeckt und der Parameterliste hinzugefügt. Zu den grundlegenden
Eigenschaften eines Parameters gehören Name, Datentyp und Aufforderung (Prompt).
Zudem können Sie Wertmodi (Nullwerte zulassen, Mehrfachwert, etc.), verfügbare
Werte, die für den Parameter angezeigt werden sollen, sowie auch Standardwert(e) zur
Anzeige beim ersten Aufruf des Berichtes auswählen.
Setzen Sie zur Konfiguration der zusätzlichen Parameterinformation der Abfrage von
Abbildung 8b die Aufforderung für den "terr"-Parameter auf Verkaufsgebiet. Als
Nächstes setzen Sie den Wertmodus auf Mehrfachwert und lassen leere Werte zu. Beim
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
19
Setzen der möglichen Werte können die Designer entweder statische Werte, die nicht
abgefragt werden, oder ein Datenset eingeben. Verwenden Sie für die Migration dieses
Berichtbeispiels das Verkaufsgebiete-Datenset um die Parameterliste zu besiedeln.
Verwenden Sie das Namenfeld Verkaufsgebiete sowohl als Wert sowie auch als
Beschreibungsfeld. Weil der Parameter ein Mehrfachwert Parameter ist, können die
Benutzer wählen, ob Sie ein, zwei oder gar alle Verkaufsgebiete auf einmal sehen
wollen. Und schließlich lässt der Standard Wertbereich auch die Definition von
statischen, variablen (abgefragten) oder Nullwerten zu. Wählen Sie die Option "aus der
Abfrage" und verwenden Sie nochmals das Verkaufsgebiete-Datenset mit dem
Namensfeld des Datensets als dem Wertfeld. Wenn Sie damit fertig sind, sollte der
"terr"-Parameter etwa so wie in Abbildung 9 aussehen.
Abbildung 9: Konfigurationsfenster Berichtparameter
Wenn die Eingabe aller Parameter abgeschlossen ist, wählen Sie OK, um zur
Registerkarte Daten zurückzukehren. Da Sie nun einen Berichtsparameter haben,
können sie die Abfrage aktualisieren um den Parameter zu verwenden. Beim Hinzufügen
eines Parameters zu einer Abfrage oder zu einer gespeicherten Prozedur wird dessen
Name, wie bei jeder anderen SQL-Variable auch, ein @-Symbol vorangesetzt. Dieser
Abfrageparameter dient als Platzhalter, der zur Laufzeit mit dem Parameterwert ersetzt
wird, welcher im Bericht ausgewählt wurde.
Für weitere Informationen über Berichtparameter besuchen Sie die Thematik Parameter
in einem Bericht verwenden in den online Büchern für SSRS.
Abschließend, um das Datenset zu testen können Sie die Abfrage durch einen Klick auf
das rote Ausrufezeichen in der Symbolleiste über dem Abfragebereich ausführen und die
Resultatsmenge betrachten. Die Resultate werden unterhalb des Abfragebereichs
angezeigt.
Berichtkopf und Berichtfuß
Der Berichtkopf und der Berichtfuß sind in der Regel Bereiche, die auf der ersten Seite,
respektive auf der letzten Seite, des Reports angezeigt werden. Im Gegensatz zu den
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
20
Crystal Reports haben die SSRS jedoch keinen expliziten Berichtkopf oder -Fuß Bereich.
Sie können stattdessen die Seitenkopf- und -Fuß Bereiche verwenden.
Schauen wir uns die Berichtkopf- und -Fuß Bereiche vom obigen Crystal Reports Beispiel
in Abbildung 3 einmal an.
Abbildung 10a: Berichtkopf- und Berichtfußbereiche aus dem Crystal Reports
Berichtbeispiel
In Abbildung 10a, beinhaltet der Berichtkopf des Crystal Reports Beispiels ein Logo, ein
Textfeldobjekt mit der Berichtsüberschrift und einen Datumsstempel um anzuzeigen,
wann der Bericht erstellt wurde. Der Berichtfuß beinhaltet ein Textfeldobjekt, welches
das Ende des Berichtes anzeigt.
Um diese Bereiche in die SSRS zu migrieren, klicken Sie in der Reportvorlage zuerst die
Registerkarte Entwurf an, um den Berichtsentwurf anzusehen. Den Seitenkopf fügen Sie
hinzu, indem Sie im Berichtmenü den Eintrag Seitenkopf auswählen. Nun steht dieser
Bereich im Berichtentwurfsformular zur Verfügung. Als Nächstes verwenden Sie ein
Rechteck als Behälter für ein Bild oder ein Textfeld welche den Berichtskopf umfassen.
Ziehen Sie das Rechteck Steuerelement vom Werkzeugfenster in den Seitenkopfbereich.
Spätestens jetzt sollten Ihnen die WYSIWYG-Gemeinsamkeiten zwischen dem SSRSund dem Crystal Reports Berichtdesign, sowie die pixelperfekte Berichtserzeugung
auffallen (das heißt, Steuerelemente können ohne weiteres und mit großer Flexibilität
auf die Entwurfsfläche gezogen und auf der gewünschten Pixelposition positioniert
werden).
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
21
Seitenkopfregion
Seitenfussregion
Abbildung 10b: Typischer Berichtsentwurf mit hinzugefügten Seitenkopfund -Fußregionen.
Als Nächstes fügen wir dem Rechteck Bild- und Textfeldsteuerelemente hinzu und
passen die Größe des Rechtecks den Bedürfnissen entsprechend an. Da diese
Steuerelemente nur auf der ersten Berichtseite angezeigt werden sollten, müssen Sie die
Sichtbarkeitseigenschaften des Rechtecksteuerelementes anpassen. Rechtsklicken Sie
das Rechtecksteuerelement und wählen Sie Eigenschaften. Finden und erweitern Sie im
Fenster Eigenschaften die Sichtbarkeit. Klicken Sie das Listenfeld für die Eigenschaft
„Versteckt" an und wählen Sie Ausdruck. Ein Ausdruck ist sehr ähnlich wie eine Formel
in Crystal Reports, mit dem Unterschied, dass es den Visual Basic .NET-Syntax
verwendet. Durch die Verwendung eines Ausdrucks kann ein Designer wie ein
Programmierer einer Eigenschaft einen Wert zuweisen. Um die Sichtbarkeit des
Rechtecksteuerelementes ein- und auszuschalten können Sie einen Ausdruck mittels
einer globalen Variablen – Seitennummer - kreieren (für zusätzliche Informationen,
siehe „In Reporting Services mit Ausdrücken arbeiten").
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
22
Abbildung 11: Mit Bild und Textfeld überarbeitetes Steuerelement
Seitenkopfrechteck.
Abbildung 12: Rechtecksteuerelement mithilfe des Ausdruckseditors
aufgrund der Seitenzahl anzeigen\verbergen.
Klicken Sie OK, um das das Ausdruckseditor-Dialogfenster zu schließen. Sie haben nun
Ihren Berichtkopf fertig gestellt. Wenn Sie Informationen in einem Rechteck gruppieren,
können Sie auch diesen Rechteckinhalt aufgrund der Berichtseitenzahl anzeigen oder
verbergen. Dieselbe Methode gilt auch für den Berichtsfuß. Gehen Sie nach demselben
Muster vor, außer dass Sie die Steuerelemente im Berichtsfuß platzieren. Ändern Sie
den Ausdruck für das Seitenfußrechteck nach diesem Beispiel:
=IIF(Globals!PageNumber = Globals!TotalPages,False, True)
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
23
Seitenkopf und Seitenfuß
Seitenkopf und Seitenfuß sind gewöhnlich Bereiche, welche am Berichtanfang, resp. ende, jeder Seite angezeigt werden. Wie wir im vorherigen Abschnitt gelernt haben
wählen Sie, um einen Seitenkopf oder -Fuß in einem Bericht einzubinden, im BerichtMenü den Eintrag Seitenkopf oder Seitenfuß.
Schauen wir uns den Seitenkopf und -Fuß des Crystal Reports genauer an.
Abbildung 13: Seitenkopf und Seitenfuß Bereiche des Crystal Reports
Beispiels
In diesem Fall enthält der Seitenkopf die Spalten- oder Feldüberschriften des Reports,
sowie das Textfeld, welches bedingt unterdrückt wird. Wenn Seite 1 die aktuelle Seite
ist, wird das Textfeld unterdrückt, aber wenn die aktuelle Seite nicht Seite 1 ist, wird es
angezeigt. Wie SSRS die Spaltenüberschriften in der Tabellensteuerung einsetzt, werden
wir im nächsten Abschnitt erklären. Fürs Erste können Sie die Kontrollfelder
Datumstempel und das Textfeld "Gebietsverkäufe, Forts." in den Seitenkopf von SSRS
migrieren, da dies statische Texte sind. Weil der Datumsstempel in der rechten oberen
Ecke jeder Seite angezeigt wird, können Sie dazu den Seitenkopf verwenden. Ziehen Sie
ein Textfeld in den Seitenkopf und positionieren Sie es in der rechten oberen Ecke.
Markieren Sie das Textfeld, finden Sie die Wert Eigenschaft im Dialogfenster
Eigenschaften und wählen Sie dann die Ausdrucksoption im Listenfeld um folgenden
Ausdruck zu erstellen.
=Replace(DateString(),"-","/")
Dieser Ausdruck formatiert einfach die Datumszeichenfolge um damit sie so aussieht wie
in Crystal Reports. Statt einer Funktion einzutippen, können Sie im Ausdruckseditor aus
einer Liste jede beliebige Funktion auswählen. In dieser Liste sind die Funktionen nach
ihrer Art organisiert. Die Replace-Funktion ist in der Textgruppe, während die
DateString-Funktion in der Datum & Zeit Gruppe untergebracht ist. Als Alternative
können Sie auch die Formateigenschaft des Textfeldes verwenden um das Datumsformat
(tt/MM/jjjj) einzustellen. Den Wert des Textfeldes können Sie für dieses Beispiel =Now
setzen.
Als Nächstes ziehen Sie ein weiteres Textfeld in den Seitenkopf und schreiben
"Gebietsverkäufe, Forts." hinein. Da diese Überschrift auf jeder Seite außer der Ersten
angezeigt werden soll, erstellen wir mit der Sichtbarkeitseigenschaft des Textfeldes
einen Ausdruck, welcher dieses Kontrollfeld je nachdem anzeigt, oder verbirgt.
Um den Seitenfuß zu migrieren, ziehen Sie ein Text-Kontrollfeld, in den Seitenfuß
Bereich. Dann stellen Sie den Sichtbarkeitsausdruck so ein, dass die
Seitenfußinformation auf allen außer der ersten Seite angezeigt wird.
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
24
Abbildung 14: Überarbeitete Seitenkopf- und Seitenfußinformation in SSRS
Um mehr über Berichtsentwürfe in SSRS zu lernen, besuchen Sie die Thematik
Berichtentwürfe und -wiedergabe verstehen in den online Büchern für SSRS.
Zeilendetails, Gruppierungen und
Zwischentotale
Im Herzen der meisten Berichte sind die Zeilendetails aus den Datenquellen.
Zeilendetails werden oft nach allgemeinen Feldern gruppiert. Ein Bericht kann auch
Zwischentotale für jede Gruppe beinhalten. Schauen wir uns die vorhandenen
Zeilendetails, Gruppierungen und Zwischentotale unseres Migrationsberichtsbeispiels
genauer an.
Abbildung 15: Berichtdetails, Gruppierungen und Zwischentotale vom
Beispiel Crystal Report
In Abbildung 15 gibt es zwei Gruppen von Zeilendetails: Verkaufsgebiet und Nachname.
In diesem Beispiel sind die Daten zum Zweck des vereinfachten Drill-downs in die
einzelnen Gruppen zudem in einem tabellarischen Format dargestellt. Schließlich zeigt
der Bericht die Summendaten (Zwischentotale) der gesamten Verkäufe nach
Verkaufsgebiet und Verkäufer an.
Wie im vorangegangenen Abschnitt bereits erwähnt wurde, verfügen SSRS über eine
Tabellensteuerung um Spaltenüberschriften in einem tabellarischen Bericht anzuzeigen.
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
25
In der nachfolgenden Tabelle 3 zeigen wir Ihnen eine Liste der in SSRS als
Datenbereichen bekannten Steuerobjekte, und die entsprechenden Steuerelemente in
Crystal Report, wenn vorhanden, die Sie in einem Bericht verwenden können:
Tabelle 3 – Vergleich von Crystal Reports und SSRS-Steuerelementen
Crystal Report
Steuerelement
Textobjekt, Beschriftung,
Feld
SSRS
Steuerelement
Textfeld
Linie
Linie
N/V
Tabelle
Kreuztabelle
Matrix
Box
Rechteck
SSRS Beschreibung
Anzeige der Textdaten eines
Berichtes. Eine Tabellen- oder
Matrixzelle ist in der Tat ein Textfeld.
Sie können ein Textfeld irgendwo im
Bericht platzieren um Beschriftungen,
Felder oder berechnete Daten
anzuzeigen.
Ein grafisches Element, das Sie an
jedem beliebigen Ort des Berichtes
platzieren können. Sie definieren eine
Linie mit einem Anfang-und Endpunkt
und bestimmen den Stil, wie z.B.
Gewicht oder Farbe. Linien haben
keine Datenassoziationen.
Mit einem Tabellen Datenbereich
können Sie Daten in Zeilen und
Spalten arrangieren. Tabellen haben
eine festgelegte Anzahl Spalten aber
je nach der Datenmenge im Datenset
eine variable Anzahl Zeilen. Die
Anzahl der Spalten einer Tabelle ist
nicht begrenzt. Sie können die
Darstellung einer Tabellenzelle so
ändern, dass sie mehrere Spalten
überspannt. Ebenso können Sie
Gruppierungen und Sortierungen
hinzufügen um die Daten innerhalb
einer Tabellenstruktur zu arrangieren.
Mit einem Matrix Datenbereich
können Sie Daten, ähnlich der Kreuzoder Pivottabellen, in Zeilen und
Spalten arrangieren. Im Gegensatz zu
einer Tabelle, welche eine statische
Menge von Spalten hat, ist die Anzahl
von Matrixspalten variabel.
Verwenden Sie Rechtecke als grafische Elemente oder als Behälter für
andere Berichtelemente. Wenn sie
Berichtelemente in Rechtecken
unterbringen, können Sie diese mit
dem Rechteck verschieben. Das kann
nützlich sein, um zahlreiche
Textfelder und andere Elemente
beisammenzuhalten.
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
Gruppenbereich
Liste
Bild
Bild
Unterbericht
Unterbericht
Diagramm
Diagramm
26
Listen wiederholen die
Steuerfunktionen, die sie enthalten,
für jede Gruppe im Datenset. Listen
können für Freiformberichte oder
zusammen mit anderen
Datenbereichen verwendet werden.
Listen können ineinander geschachtelt
sein, um mehrere
Datengruppierungen bereitzustellen.
Ein Bild zeigt im Bericht binäre
Bilddaten an. Sie können auch Bilder
auf einem Web-Server mittels derer
URL anzeigen, Bilder direkt in den
Bericht einbetten oder Bilder aus
einer Datenbank anzeigen. SSRS
unterstützen BMP-, JPEG-, GIF- und
PNG-Formate.
Ein Unterbericht ist ein
Berichtelement, welches auf einen
anderen Bericht auf dem
Berichtserver zeigt. Dies kann ein
eigenständiger Bericht sein oder ein
Bericht, welcher ausschließlich als
Unterbericht erstellt wurde. In einem
Unterbericht können Sie zudem
eigene Parameter definieren um
Daten im Unterbericht zu filtern.
Ein Diagramm ist ein Datenbereich,
der eine grafische Darstellung der
Daten in einem Bericht anzeigt. Sie
können aus vielen verschiedenen
Diagrammtypen auswählen. Sie
können auch den Stil des Diagramms
ändern, um unterschiedliche Farben,
Symbole und 3D-Effekte zu
verwenden.
Um die Details, Gruppierungen und Zwischentotale des Crystal Reports Beispiels in
Abbildung 15 zu reproduzieren, ziehen Sie einfach die Tabellensteuerung aus der
Werkzeugkiste in den Hauptbereich des Berichts. Standardmäßig besteht eine neue
Tabelle aus Kopfbereich-, Detail- und Fußbereichinformationen. Zusätzliche
Informationen über die Tabellensteuerung sehen Sie nachfolgend in Abbildung 16.
Beachten Sie im Speziellen, dass in der Tabellensteuerung der Tabellenkopf die
Spaltenüberschriften anzeigt, während Crystal Reports den Seitenkopf verwendet.
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
27
Abbildung 16: Übersicht SSRS Tabellensteuerung
Zuerst weisen Sie der Tabellensteuerung ein Datenset zu. Klicken Sie die Tabelle und
dann die Eckgreifpunkte an, um die Tabelleneigenschaften im Dialogfenster
Eigenschaften anzuzeigen. Finden Sie die DatensetName-Eigenschaft und weisen Sie ihr
das entsprechende Datenset zu.
Dann konfigurieren Sie die Gruppierungen für die Tabelle. Klicken Sie die Tabelle an um
die Zeilen- und Spaltengreifer sichtbar zu machen. Rechtsklicken Sie einen der
Zeilengreifer an und klicken Sie dann auf Gruppe einfügen um das Dialogfenster
Gruppierungs- und Sortierungs-Optionen anzuzeigen. Die Registerkarte Allgemein in
diesem Dialogfenster gibt Ihnen die Möglichkeit, die Felder zu bestimmen, nach welchen
Sie das Datenset gruppieren werden. Geben Sie der Gruppierung zuerst einen Namen.
Dann wählen Sie einen Ausdruck für Gruppe Ein. Da die erste Gruppierung auf dem
Verkaufsgebietsnamen beruht, wählen Sie das Namenfeld aus dem Datenset. Behalten
Sie für alles andere die Standardwerte bei und klicken Sie dann auf OK, um zur Tabelle
zurückzukehren. Ihre Tabelle hat jetzt, wie Abbildung 17 zeigt, eine neue Gruppierung.
Group 1 Header Row
Group 1 Footer Row
Abbildung 17: Einer Tabellensteuerung eine neue Gruppe hinzufügen
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
28
Fügen Sie der Tabelle als Nächstes eine weitere Gruppierung für die Verkäufer hinzu.
Wiederholen Sie die Schritte von vornhin, um der Tabelle auf der Basis von
SalesPersonID eine zweite Gruppe hinzuzufügen. Ihre Tabelle sollte nun ähnlich wie jene
in Abbildung 18 aussehen.
Group 2 Header Row
Group 2 Footer Row
Abbildung 18: Einer Tabellensteuerung eine 2. Gruppierung hinzufügen
Jetzt, da Ihre Tabelle Gruppierungen enthält, können Sie damit beginnen, Ihrer Tabelle
Daten hinzuzufügen. Ziehen die Felder aus dem Datenset einfach auf die Tabelle. In
Fortsetzung unseres Crystal Reports Beispiels ziehen Sie das Feld Name in die erste
Zelle des Gruppierungskopfes. Sobald das Feld dem Gruppierungskopf hinzugefügt
wurde, wird auch der Tabellenkopf mit der Feldbeschriftung aktualisiert. Als Alternative
können Sie Tabellenköpfe, genau so wie in Crystal Reports, auch manuell verändern.
Beachten Sie zudem den Ausdruck im ersten Gruppierungskopf, welcher sich auf den
Wert im Datensetfeld in Abbildung 19 bezieht.
Abbildung 19: Datensetfelder in die Tabelle einfügen
Nun können Sie SalesPersonID der zweiten Zelle der zweiten Gruppierungszeile
hinzufügen, was die Datendarstellung staffeln wird. Weil die zweite Gruppierung den
Vor- und Nachnamen eines Verkäufers anzeigen sollte, müssen Sie einen Ausdruck
erstellen um die entsprechenden Felder des Datensets aneinander zu reihen. Wählen Sie
das Textfeld und finden Sie dann die Werteigenschaft im Eigenschaften Fenster. Wählen
Sie <Ausdruck> im Listenfeld der Eigenschaft (Sie können das Textfeld auch
Rechtsklicken und Ausdruck aus dem Kontextmenü wählen) und erstellen Sie darauf
einen Ausdruck wie diesen (siehe Abbildung 20 neuer Textfeldwert):
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
29
=Fields!FirstName.Value + " " + Fields!LastName.Value
Abbildung 20: mit einem Ausdruck erstellter Textfeldwert
Die SSRS-Tabelle enthält nun alle Gruppierungsinformationen. Die nächste Detailebene
im Crystal Reports Beispiel zeigt die Bestellnummern und deren Gesamtwert. Bevor wir
der Tabelle weitere Felder hinzufügen, brauchen wir eine weitere Spalte. Rechtsklicken
Sie die letzte Tabellenspalte Tabelle und wählen Sie aus dem Kontextmenü Spalte rechts
einfügen. Passen Sie die Spaltenbreite so an, dass die Tabelle auf die Seite passt. Dann
ziehen Sie die Bestellnummer- (SalesOrderNumber) und Gesamtwert (TotalDue)-Felder
in die dritte, respektive die vierte Spalte der Detailzeile. Die Tabelle sollte nun der
Abbildung 21 ähnlich sehen.
Abbildung 21: Einfügen von Feldern in die Detailzeilen der Tabelle
Und wiederum können Sie feststellen, wie der Feldname automatisch in den Tabellenkopf eingefügt wurde. Vergessen Sie nicht die Spaltenüberschriften denjenigen des
Crystal Reports anzupassen. Mit der Berichtformat-Werkzeugleiste, oder auch durch
Veränderung der Eigenschaften im Eigenschaften Fenster, können Sie formatieren.
Nun sind wir bereit, die Zwischensummen nach Verkäufer und Verkaufsgebiet
hinzuzufügen. Der erste Gruppenkopf für das Verkaufstotal wird die Zwischensumme für
jedes Verkaufsgebiet anzeigen. Um diese Zwischensumme zu berechnen, ziehen Sie den
Gesamtwert (TotalDue) in die vierte Spalte des ersten Gruppenkopfes. SSRS fügt die
Summenaggregatsfunktion den numerischen Feldern automatisch hinzu. Wiederholen
Sie diesen Schritt um die Zwischensummen nach Verkäufern in den zweiten
Gruppenkopf unterhalb der Verkaufstotal-Spalte hinzuzufügen. Inzwischen sollte Ihre
Tabelle etwa so wie in Abbildung 22 aussehen.
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
30
Abbildung 22: Gruppenzwischensummen berechnen
Der letzte Schritt in diesem Abschnitt ist die Aufwertung der Tabelle durch das Entfernen
unbenutzter Zeilen und durch das Formatieren. Als Sie der Tabelle neue Gruppen
hinzufügten, entstanden automatisch Gruppenfußzeilen. Da wir diese Zeilen in diesem
Beispiel nicht brauchen, können Sie diese entfernen. Klicken Sie die Tabelle an und
rechtsklicken Sie auf den jeweiligen Zeilengreifer und wählen Sie im Kontextmenü Zeile
entfernen. Wiederholen Sie dieses Vorgehen um die verbleibende Gruppenfußzeile,
sowie auch die Tabellenfußzeile, zu entfernen. Der Vergleich zwischen Abbildung 22,
oben und Abbildung 23, unten zeigt, dass die Tabellensteuerung nun formatiert
geworden ist.
Abbildung 23: Bericht formatieren
In der Vorschau des Crystal Reports Beispiels in Abbildung 3, oben, verbirgt der Bericht
die zweite Gruppierung und die Berichtsdetails, bis ein Benutzer ein Verkaufsgebiet oder
einen Verkäufer anklickt. Um diese Interaktivität zu migrieren, können sie den Zeilen
einer Tabellensteuerung eine interaktive Eigenschaft, wie dem Verbergen von
Berichtelementen hinzufügen. Durch Verwenden der Sichtbarkeit Eigenschaft der
Tabellendetailzeile und der zweiten Gruppenzeile können Sie diese Zeilen anzeigen oder
verbergen, wenn Sie ein Textfeld einer anderen Zeile anklicken. Um die gesamte zweite
Gruppenzeile auszuwählen, klicken Sie die Tabelle und dann den entsprechenden
Zeilengreifer an. Die zweite Gruppenzeile ist jetzt markiert und die Eigenschaften dieser
Zeile sind im Eigenschaft-Fenster zugänglich. Orten Sie die Sichtbarkeit-Eigenschaft und
ändern Sie die Verborgen-Eigenschaft auf Wahr. Als Nächstes ändern Sie die ToggleItem
(Element ein/aus-) Eigenschaft auf den Namen des Textfeldes, welches das
Gruppierungsfeld für das Verkaufsgebiet enthält. ToggleItem-Eigenschaft verändert den
Wert der Verborgen-Eigenschaft von Wahr auf Falsch sobald Sie das entsprechende
Textfeld anklicken. Abbildung 24 zeigt einerseits die markierte zweite Gruppenreihe und
andererseits das Eigenschaften-Fenster wo die ToggleItem-Eigenschaft auf
txbVerkaufsgebietName, welches der Name resp. die ID des Textfeldes in der ersten
Gruppenreihe ist, gesetzt ist.
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
31
Abbildung 24: Drill-down Fähigkeit mittels der ToggleItem Eigenschaft
hinzufügen
Wiederholen Sie den vorherigen Schritt um die ToggleItem Eigenschaft für die
Tabellendetailzeile festzulegen. In diesem Fall ist der ToggleItem Eigenschaftswert das
Textfeld mit der zweiten Gruppierung für die Verkäufer.
Zum Schluss setzen wir das Format der Verkaufstotal Spalte auf Währung. Dazu wählen
Sie den Greifer der Verkaufstotal Spalte um die gesamte Spalte zu markieren und setzen
die Formateigenschaft für die Spalte auf C (Currency). Klicken Sie die Vorschau
Registerkarte an, um zu sehen, wie sich der Bericht, gemäß Abbildung 25, entwickelt
hat.
Abbildung 25: Vorschau Bericht Migration
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
32
Formeln und maßgeschneiderte Funktionen
In den meisten Berichtsfällen bieten die Datenbankfelder nicht immer die benötigten
Daten für bestimmte Berichtsaspekte. Berichtlösungen erfordern daher oft alternative
Wege, um die Daten zu erzeugen. Crystal Reports bietet für diese Datenerzeugung
Formeln und maßgeschneiderte Funktionen an. In einem Bericht verwendet eine Formel
Ausdrücke (Formeln-Workshop) um Berichtelemente wie Textfeldobjekte zu füllen.
Einige Beispiele von Formeln sind die Erzeugung von berechneten Feldern,
Textformatierung
und die Verwendung
von
maßgeschneiderten
Funktionen.
Maßgeschneiderte Funktionen gehören zu den komplexeren Vorgehen um in Crystal
Reports Berichten Daten zu evaluieren, zu berechnen oder umzuwandeln. Anders als
Formeln, wo die Reichweite der Formel innerhalb des Berichtes lokal ist, können
maßgeschneiderte Funktionen übergreifend zur Verwendung in mehreren Berichten
gespeichert werden.
In SSRS wurden wir mit dem Ausdruckseditor bekannt gemacht. Mit ihm können wir
Berechnungen vornehmen oder Zeichenfolgen einer SSRS-Steuerung bearbeiten. Diese
Eigenschaft ist dem Formelworkshop in Crystal Reports sehr ähnlich, mit dem
Unterschied, dass ihre Reichweite sich nur auf das Steuerelement bezieht, in welchem
der Ausdruck definiert ist. Um einen globaleren Ausdruck zu erzeugen, ermöglichen die
SSRS das Schreiben von maßgeschneiderten VB.Net-Funktionen, auf welche der
Ausdrucksgenerator des Berichtes Zugriff hat. Maßgeschneiderte Funktionen werden
mittels den Berichteigenschaften erstellt, welche ihrerseits im Menü Berichteigenschaften
des Berichte Menüs zu Hause sind. Hier lassen sich die diversen Eigenschaften für den
gesamten Bericht bestimmen. In diesem Abschnitt konzentrieren wir uns auf die
Registerblätter Code und Referenzen im Dialogfenster Berichteigenschaften.
Funktionen, auf welche innerhalb des Berichtes mühelos Bezug genommen werden kann,
werden im Registerblatt Code mit Visual Basic .NET (VB.NET)-Funktionen erzeugt. Sie
können hier mehrere Funktionen hinzufügen. Zurzeit ist VB.NET die einzige Sprache, die
unterstützt wird. Zu Vorführungszwecken fügen wir dem Code eine einfache VB.NetFunktion hinzu (siehe Abbildung 26), welche den Vordergrund rot einfärbt, sobald die
Gesamtverkaufssumme eines Verkaufsgebietes $10'000'000.00 übersteigt.
Abbildung 26: VB.Net Code um die Vordergrundfarbe aufgrund der
Gesamtverkaufssumme einzustellen.
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
33
Um diese Funktion zu verwenden, wählen Sie das Textfeld mit dem Verkaufstotal für das
Verkaufsgebiet (die erste Gruppierung) und fügen der Farbeigenschaft folgenden
Ausdruck zu:
=Code.setColor(Sum(Fields!TotalDue.Value))
Beachten Sie das Schlüsselwort "Code" im Ausdruck. Dieses verhält sich in SSRS wie
ein Namensraum, um dem Ausdruck mitzuteilen, wo die Funktion zu Hause ist. Schauen
Sie sich den Bericht an, um zu bestätigen, dass alle Verkaufsgebiete mit
Verkaufssummen von mehr als $10 Millionen eine rote Schrift haben. Diese
Gestaltungstechnik kann in einem Bericht eine erhöhte Aufmerksamkeit gewinnen.
Mittels der Codeseite des Dialogfensters Berichteigenschaften und dem ExpressionBuilder können die Entwickler ihren Berichten schnell und mühelos mehr Funktionalität
einhauchen.
Abbildung 27: Vorschau auf die Veränderungen der Vordergrundfarbe der
Zwischensumme der Gebietsverkäufe mit dem VB.Net Code.
Es kann nicht genug betont werden, dass Formeln und eigener Code bei der Migration
von einem Crystal Reports Bericht in die Code Registerkarte der Berichteigenschaften
unbedingt in eine VB.Net-Funktion konvertiert werden muss.
Um in den SSRS, wie in Crystal Reports, eigenen und wiederverwendbaren Code zu
kreieren, wird die Referenz-Registerkarte der Berichteigenschaften verwendet. Die
Referenz-Registerkarte ermöglicht es dem Designer, im Bericht auf eine Assembly zu
verweisen. Assemblies sind vorkompilierter Code, der von Anwendungen untereinander
ausgetauscht werden kann. Assemblies sind dazu geeignet, Bibliotheken von
allgemeinen Aufgaben an einem zentralen Ort zu verwalten. Nehmen wir unser
Berichtbeispiel in, welchem Gebietsverkäufe von AdventureWorks angezeigt werden.
Wenn ein Projekt mehrere Berichte zum Thema Verkauf und Finanzdaten erfordert
könnten Sie ohne weiteres eine Assembly schreiben um allgemein benötigte Funktionen
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
34
zu definieren. Auf diese könnten Sie dann in allen Berichten Bezug nehmen. Sollten
zudem Änderungen in einer Assembly nötig werden, würden diese automatisch in allen
Berichten des Projekts wirksam. Weil es eine .NET-Assembly ist, können Sie diese in
jeder beliebigen .Net-Anwendung verwenden. Und schließlich können Sie die
Limitationen umgehen, dass Berichtroutinen in VB.NET geschrieben werden muss, weil
Assemblies in jeder .NET-Sprache Ihrer Wahl verfasst werden können.
Zur Demonstration von eigenen Assemblies in einem Bericht können Sie das
eingebettete Codebeispiel von Abbildung 26 nachbilden. Erstellen Sie im Visual Studio
.NET eine Klassenbibliothek-Datei mit C#.NET statt mit VB.NET.
Abbildung 28: Assembly zur Anzeige eines farbigen Zeichenkette aufgrund
eines Eingabewertes.
Sobald Sie die Klassenbibliothek-Datei als eine Assembly kompiliert haben, kopieren Sie
die Assembly in die Anwendungsordner für den Berichtserver und Berichtdesigner. Der
Standard Standort für den bin Ordner des Berichtservers ist C:\Program Files\Microsoft
SQL Server\MSSQL.3\Reporting Services\ReportServer\bin. Der Standard Standort für
den Report Designer ist C:\Program Files\Microsoft Visual Studio
8\Common7\IDE\PrivateAssemblies. Bitte besuchen Sie die Reporting Services online
Hilfe für weitere Informationen über den Einsatz einer eigenen Assembly in einem
Bericht.
Als Nächstes stellen Sie in der Registerkarte Bezüge im Dialogfenster Berichteigenschaften einen Bezug auf diese Assembly her. Im Bereich Bezug klicken Sie die
Schaltfläche Ellipse an und blättern bis zur Assembly im Anwendungsordner Report
Designer. Wählen Sie die Assembly und klicken Sie Hinzufügen. Schlussendlich klicken
Sie OK, um zu den Berichteigenschaften zurückzukehren.Weil die setColor-Funktion in
der Assembly eine statische Methode ist, müssen Sie Klasseninformation für diese
Assembly nicht füllen.
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
35
Abbildung 29: Bezug auf die eigene Assembly in den Berichteigenschaften
Klicken Sie OK um das Dialogfenster Berichteigenschaften zu schließen. Jetzt können Sie
den Ausdruck für die Farbe des Textfeldes des Verkaufstotals pro Verkaufsgebiet
überarbeiten um diese eigene Assembly zu verwenden. Verändern Sie dazu den
Ausdruck um die statische Methode in der Assembly aufzurufen, und zwar so:
=RSLibrary.MyReportFunctions.setColor(Sum(Fields!TotalDue.Value))
Testen Sie den Bericht, um zu sehen, ob die Verkaufsgebiete mit Verkaufssummen von
mehr als $10 Millionen wiederum in einer roten Schrift dargestellt sind.
Weitere Crystal Reports Eigenschaften auf
SQL Server 2005 Reporting Services
migrieren
Matrix Berichte
In einem Matrixbericht arrangieren Sie die Daten in Spalten und Zeilen ähnlich einer
Kreuz- oder Pivottabelle. Im Gegensatz zu einer Tabelle, welche eine statische Anzahl
Spalten hat, kann die Anzahl der Matrixspalten dynamisch sein. SSRS haben, wie Crystal
Reports, eine Matrixsteuerung (oder Kreuztabellensteuerung) um diese Art von Bericht
zu generieren. Allerdings ermöglichen die SSRS, anders als die Crystal Reports
Matrixsteuerung, in ihrer Matrixsteuerung ein Ein-\Ausklapp- oder Kipphebel-Verhalten.
Zudem kann ein SSRS-Bericht in ein und demselben Bericht auch eine Mischung von
Matrizen und anderen Datenbereichen wie Tabellen und Diagrammen vereinen. Das
verleiht dem Design eine viel größere Flexibilität. Weitere Informationen zum Thema
SSRS Matrixsteuerung finden Sie unten in Abbildung 30. Um einen Matrixbericht zu
erstellen, eröffnen Sie im SQL Server Business Intelligence Studio zuerst einen neuen
Bericht, dann ein Datenset für den Bericht und ziehen dann ein Matrixsteuerelement in
den Berichtentwurf hinein.
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
36
Abbildung 30: Übersicht Matrixsteuerung
Abbildung 31: Leere Matrixansicht
Beachten Sie in der Steuerung in Abbildung 31 die Beschriftungen der Zeilen, Spalten
und Datenbereiche. Die erste Aufgabe bei der Migration eines Crystal Reports
Matrixberichts in einen SSRS-Bericht ist die Kreation eines neuen Datensets mit der
Datenquelle und den Abfrageinformationen vom Crystal Report. Mit dem neuen Datenset
können Sie die Felder auf die SSRS-Matrix ziehen. Das Datenset für den Beispiel
Matrixbericht in Abbildung 32 nimmt mit der AdventureWorks Datenquelle Verbindung
auf und gibt die Verkaufsinformationen für jedes Departement während den Jahren 2002
und 2003 zurück.
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
37
Abbildung 32: Matrix mit gruppierten Datensetfeldern
Nachdem die Felder vom Datenset auf die Matrix platziert wurden, kann diese nun
formatiert werden. Die Spalten und Zeilen einer Matrix können wie in der SSRSTabellensteuerung aufgrund von Benutzereingaben im Bericht angezeigt oder verborgen
werden jedoch ist das Vorgehen um diese Funktionalität hinzuzufügen geringfügig
anders. Im folgenden Beispiel werden Sie die Sichtbarkeit der Unterkategorie und der
Informationen zu den Quartalsbestellungen wenn der Benutzer die Kategorie, respektive
die Jahresbestellungen, anklickt hin- und herschalten. Klicken Sie dazu die Matrix an und
rechtsklicken Sie dann auf den Eckgreifer und wählen Sie im Kontextmenü
Eigenschaften. Als Nächstes klicken Sie die Registerkarte Gruppen um die in der Matrix
definierten Gruppierungen zu sehen (Abbildung 33). Wählen Sie die <Matrix
name>_SubCat Gruppe und klicken Sie auf Bearbeiten um das Dialogfenster
Gruppierung und Sortierung für diese Gruppe zu sehen. Klicken Sie die Registerkarte
Sichtbarkeit, setzen Sie die Standard Sichtbarkeit der Gruppe und geben Sie das
Berichtselement an, welches die Umschaltung der Sichtbarkeit steuert (Abbildung 34).
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
38
Abbildung 33: Matrixgruppen bearbeiten
Abbildung 34: Sichtbarkeit der Matrix1_SubCat-Gruppe bearbeiten
Klicken Sie auf die Registerkarte Sortieren, bevor Sie OK klicken, um die Änderungen zu
speichern. Sie können die Gruppe an dieser Stelle nach jedem Feld im Datenset
sortieren. Nach der Definition der Sortierreihenfolge klicken Sie OK, um zum
Dialogfenster Matrixeigenschaften zurückzukehren. Wiederholen Sie diese Schritte für
die Sichtbarkeit und Sortierreihenfolge der Gruppe Quartalsbestellungen. Darauf geben
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
39
Sie noch die Sortierreihenfolge für die verbleibenden Gruppen in der Matrix an:
Produktkategorie und Bestelljahr. Wenn Sie fertig sind, klicken Sie OK.
Zum Schluss formatieren Sie die Matrix nach Ihren Wünschen um deren
Erscheinungsbild aufzuwerten (Abbildung 35).
Abbildung 35: Vorschau des Matrixberichtes
mit überarbeiteter Sichtbarkeit und Sortierung
Für weitere Informationen zum Matrix-Datenbereich in SSRS, besuchen Sie bitte die
Thematik Arbeiten mit dem Matrix-Datenbereich in den online Büchern.
Diagramme
Ein Diagramm ist eine gute Art, um Daten in einer Weise anzuzeigen, welche
unmittelbare Aufmerksamkeit weckt. Bei der Migration von Diagrammen aus Crystal
Reports verwenden Sie die bestehende Datenquelle, Abfrage und Parameter von der
Crystal Reports Diagrammdefinition um in SSRS ein neues Datenset zu kreieren. Sobald
das Datenset kreiert ist, klicken Sie die Registerkarte Entwurf und ziehen eine
Diagrammsteuerung in den Hauptbereich des Berichtes (Abbildung 36). Um das
Diagramm anzupassen, rechtsklicken Sie darauf und wählen Eigenschaften aus dem
Kontextmenü. Mit dem Dialogfenster Diagrammeigenschaften können Sie jeden Aspekt
des Diagramms konfigurieren und Ihren Wünschen anpassen. Ob Sie den Diagrammtyp
und den Datensetnamen bestimmen, Werte für die X- und Y- Achsen angeben oder
visuelle Effekte hinzufügen müssen, das Dialogfenster Diagrammeigenschaften ist Ihr
Supermarkt für den Diagrammbedarf.
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
40
Abbildung 36: Standard Liniendiagrammtyp in SSRS
Eine weitere interessante Angelegenheit bei der Migration von Diagrammen von Crystal
Reports auf SSRS ist die Art und Weise wie SSRS mehrfache Diagramme und Aggregate
wiedergibt. In Crystal Reports stellen viele Berichtdesigner Diagramme und Tabellen mit
Aggregatdaten in den Berichtfuß, weil der Bericht zuerst alle Detaildaten einlesen muss,
bevor er irgendwelche Aggregatdaten berichten kann. Diese Einschränkung ist das
Produkt der Multipass-Rechenmaschine in Crystal Reports. SSRS andererseits
überwindet diese Einschränkung durch eine Freiformfläche, in welcher Berichte frei
entworfen werden können. Darin eingeschlossen ist auch die Möglichkeit, Tabellen mit
Aggregaten und nebeneinander liegenden Diagrammen an einer beliebigen Stelle im
Bericht zu platzieren.
Schließlich, weil SSRS ein erweiterbares Gerüst ist, können Sie bei Drittanbietern
zusätzliche Diagrammtypen und Anzeigeinstrumente kaufen. Ein solcher Anbieter, der
sich auf SSRS Diagrammsteuerungen spezialisiert hat, ist Dundas
(http://www.dundas.com). Um mehr über Diagramme zu erfahren, besuchen Sie
Arbeiten mit Diagrammdatenbereichen in den online Büchern.
Mehrfache Datenquellen und Unterberichte
Crystal Reports und SSRS haben beide die Fähigkeit, mit einer großen Auswahl von
Datenquellen anzukoppeln, wobei Crystal Reports bekanntlich Leistungsprobleme hatte,
wenn in einem einzigen Bericht mit mehreren Datenquellen gearbeitet wurde. Diese
Leistungsschwäche ist eine unmittelbare Folge davon, dass für jede einzelne Datenzeile
der primären SQL-Abfrage eine sekundäre SQL-Abfrage ausgeführt wird. Dies kann dazu
führen, dass hunderte von einzelnen Abfragen ausgelöst werden. Um dieses Problem zu
umgehen, verwenden Crystal Reports Designers mehrere Unterberichte auf einem
Hauptbericht um die Daten aus verschiedenen Datenquellen aufzuteilen. Auf der anderen
Seite lassen die SSRS in einem Bericht mehrere Datenquellen zu, welche in einem
Freiformentwurf in verschiedenen Datenbereichen verwendet werden können. So können
Sie ohne Leistungskompromisse und krampfhaftem Ringen nach obskuren
Hilfskonstruktionen nach Herzenslust jeden Bericht erstellen.
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
41
Um zu demonstrieren, wie man in SSRS an mehrere Datenquellen ankoppeln kann
öffnen Sie den tabellarischen Bericht, den wir vorhin erstellt haben und fügen ein
neues Datenset hinzu. Mithilfe des Dialogfensters Datenset können Sie eine neue
Datenquelle eröffnen um eine neue Verbindung zu definieren. Um diesem Beispiel zu
folgen, verbinden Sie sich mit den Microsoft SQL 2005 Analysis Services. Jetzt sollten
im Bericht drei Datensets definiert sein. VerkaufsgebietSales und Verkaufsgebiet
verwenden die AdventureWorks Datenbank während OLAPDataSource die
AdventureWorks OLAP Datenbank verwendet. (Abbildung 37)
Abbildung 37: Berichtbeispiel mit heterogenen Datenquellen in einem
einzigen Bericht
In SSRS ist ein Unterbericht ein Berichtelement, welches zu einem anderen Bericht auf
dem Berichtserver eine Beziehung hat. Der Bezugsbericht kann ein vollständiger und
eigenständiger Bericht oder ein speziell zum Zweck der Einbettung in einen anderen
Bericht erstellter Bericht sein. Auch bei der Kreation eines Unterberichts können Sie
Parameter definieren, um darin Daten zu filtern. Um einem Bericht einen Unterbericht
hinzuzufügen, Rechtsklicken Sie das entsprechende Steuerelement um zu dessen
Eigenschaften zu gelangen. Hier beschreiben Sie den Bezugsbericht mit seinen
Parametern.
Vielleicht möchten Sie, statt eines Unterberichts, eher eine Lösung mit einem
Datenbereich in Betracht ziehen. Die Leistungsfähigkeit des Berichtservers könnte
nachteilig beeinflusst werden, weil er jede Instanz eines Unterberichts als einen
eigenständigen Bericht behandelt. Datenbereiche bieten ziemlich dieselbe Funktionalität
und Flexibilität wie Unterberichte, aber mit wesentlich besserer Leistung.
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
42
Verknüpfte Berichte
Um in Crystal Reports eine Verknüpfung zu einem anderen Bericht zu erstellen, muss ein
Designer, um die Berichtumleitung zu handhaben, auf dem jeweiligen Feld eine
openDocument Verknüpfung erstellen. Die openDocument-Funktion braucht für den
Zugriff auf ein Bericht-Repository allerdings eine Business Objects Enterprise
Installation.
In SSRS funktioniert die Verknüpfung mit und die Weitergabe von Parametern an andere
Berichte ziemlich einfach durch die Einstellung der Navigationseigenschaft des betreffenden Objektes. Mit der URL-Zugriffsfähigkeit von SSRS, die wir später erklären werden,
können Sie sogar auf Berichte verknüpfen die auf andern Berichtserver residieren. Zur
Demonstration der Navigationseigenschaft eines Textfeldes verwendet das folgende
Beispiel die Verkäufer Spalte unseres Beispielberichtes, um zum Mitarbeiter-Verkaufsübersicht-Bericht (eines der Beispiele im SSRS-Paket) zu navigieren. Als Erstes greifen
Sie auf die Eigenschaften des Verkäufertextfeldes in der zweiten Gruppierung der Tabelle
zu. Rechtsklicken Sie auf dieses Textfeld und wählen Sie dann, wie in Abbildung 38
gezeigt, Eigenschaften.
Abbildung 38: Auf die Eigenschaften eines Textfeldes zugreifen
Klicken Sie die Registerkarte Navigation des Dialogfensters Eigenschaften. Im Hyperlink
Bereich wählen Sie zuerst „zum Bericht springen“ und dann aus dem Listenfeld den
Zielbericht. Klicken Sie die Schaltfläche Parameter um die Parameter einzustellen, die an
den Zielbericht weitergegeben werden sollen. SSRS erstellt eine Liste von Parametern im
Zielbericht. Sie können, wie in Abbildung 39 demonstriert, mit den gewählten
Parametern sowohl statische, als auch Datensetwerte assoziieren.
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
43
Abbildung 39: Bearbeiten der Parameter im Befehl “zum Bericht springen”
unter Verwendung von sowohl statischen als auch Datensetfeld-Werten.
Klicken Sie solange OK, bis Sie wieder beim Berichtdesigner angelangt sind. Erweitern
Sie in der Berichtsvorschau die Gruppierung Verkaufsgebiet, damit Sie mit dem Cursor
auf den Namen des Verkäufers zeigen können, wo sich der Mauszeiger in eine Hand
verwandelt.
Abbildung 40: Vorschau der Berichtverknüpfungsfunktionalität
Klicken Sie auf einen Verkäufernamen um, mittels den in der Definition „zum Bericht
springen" der Textfeldeigenschaften angegebenen Parametern, zum verknüpften Bericht
zu navigieren.
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
44
Abbildung 41: Bericht eines Zielverkäufers aus dem Verkaufsgebiet
Umsatzbericht
Verwenden Sie die Navigationsleiste oben im Bericht (Abbildung 42) um durch den
aktuellen Bericht zu blättern oder um zum übergeordneten Bericht zurückzukehren.
Abbildung 42: Navigationsleiste Berichtverknüpfung
URL Zugriff
In SSRS können Sie Berichte auch mittels einem Berichtserver-URL verknüpfen.
Eine URL-Anfrage gibt Ihnen Zugang zu Berichten, Ressourcen und anderen
Objekten auf einem bestimmten Berichtserver. Mit einem URL-Zugriff können Sie für
Ihre Benutzer selbst das Aussehen und das Navigationsverhalten beeinflussen. Die
Abfragekette des URLs beinhaltet die Geräteinformationseinstellungen und die
Berichtparameterwerte sowie das spezifische Wiedergabeformat (Abbildung 43). Sie
können URL-Zugriff auch verwenden, um in Berichten Hyperlinks und andere
Berichtserverobjekte von jeder beliebigen Windows- oder Webapplikation die Sie
entwickeln, einzubetten.
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
45
Abbildung 43: Mögliche Methoden, um mit einem Berichtserver zu
kommunizieren
Für weitere Informationen über das Verknüpfen von Berichten in SSRS, besuchen Sie die
interaktive Thematik Berichtverknüpfungen hinzufügen in den online Büchern.
Verwendung von alternativen
Migrationstechniken
SQL Server 2005 Reporting Services Bericht
Wizard
Schon wie die Reporting Services v1.0, enthalten auch die SQL Server 2005 Reporting
Services einen Bericht Wizard um die Gestaltung eines Berichts in Gang zu setzen. Der
Bericht Wizard führt Sie schrittweise durch die Definition einer Datenquelle, den Aufbau
einer Abfrage, die Auswahl eines Berichtstyps, die Gruppierung von Berichtsdaten und
die Auswahl eines Berichtsstils. Den Bericht Wizard finden Sie mit einem Rechtsklick auf
den Berichte Ordner im Solution Explorer des SQL Server Business Intelligence
Development Studios, und dort durch die Auswahl „Neuen Bericht hinzufügen" im
Kontextmenü. Für weitere Informationen zum Thema Bericht Wizard besuchen Sie bitte
die online Bücher.
Anwendungen von Drittanbietern
Wenn die Migrationsanstrengungen hunderte oder tausende von Berichten umfassen,
sind Sie gut beraten, den Migrationsprozess so weit wie möglich zu automatisieren.
Einige Drittanbieter haben den Bedarf an Hilfsmitteln zur Beschleunigung des
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
46
Migrationsprozesses auf Reporting Services erkannt und haben innerhalb eines
Beratungsengagements Anwendungen und Methoden entwickelt, welches es den Firmen
ermöglicht, ihre Ziele schneller zu erreichen. Zu einer kurzen Liste von einigen
Drittanbieterlösungen gehören:
Name des Partners
Hitachi Consulting
TCS
Sonata Software Ltd.
KTL Solutions
90DegreeSoftware
Jeff-Net
Neudesic
PLUS-IT
URL
http://www.hitachiconsulting.com/page.cfm?ID=bi
http://www.tcs.com/Microsoft2005Launch/download/Microsoft_Recast.pdf
http://microsoftcc.sonata-software.com/html/mcc_bi.htm
http://www.ktlsolutions.com/t-crystalconverter.aspx
http://www.90degreesoftware.com/
http://www.rpttosql.com/index.html
http://www.neudesic.com
http://www.plus-it.de
Für weitere Informationen besuchen Sie bitte die Reporting Services Partner Seite
(http://www.microsoft.com/sql/reporting/partners/default.asp).
Zusammenfassung
In diesem Dokument haben wir verschiedene Aspekte der Migration von Crystal Reports
auf SSRS (SQL Server 2005 Reporting Services) erklärt. Zuerst haben wir einen
hochgradigen Vergleich zwischen den Crystal Reports- und SSRS-Eigenschaften sowie
eine Übersicht über einige der strategischen Vorteile einer Migration von Crystal Reports
auf SSRS präsentiert, um Ihnen bei der Entscheidung zu helfen, ob Sie migrieren sollen.
Als Nächstes haben wir Sie bei der Migration unterstützt, als wir Methoden beschrieben,
mit denen Sie Ihre aktuellen Berichtslösungen analysieren, Konsolidierungs- und
Standardisierungsmöglichkeiten identifizieren und eine schrittweise Migration umsetzen
können. Dann, als Hilfe bei der eigentlichen Umsetzung der Migration, haben wir einen
schrittweisen Migrationsprozess demonstriert, welcher jeden einzelnen Abschnitt eines
fiktiven Crystal Reports dem jeweilig entsprechenden SSRS-Abschnitt zuordnete. Dann
haben wir Ihnen am Beispiel zusätzlicher Funktionen, wie Matrizen und Diagramme, die
große Reichweite der Fähigkeiten der SSRS vor Augen geführt. Und schließlich haben wir
erklärt, wie Sie viele der Migrationsschritte automatisieren können, um den Zeitaufwand
der Migration zu reduzieren. Die hier vorgestellten Informationen und Techniken werden
Ihren Migrationsprozess erleichtern und beschleunigen .
Migration von Business Objects Crystal Reports auf die SQL Server 2005 Reporting Services
Nützliche Links für SQL Server 2005
Reporting Services

Reporting Services Anleitungen:
http://msdn2.microsoft.com/en-us/library/ms170246.aspx

Skalierbarkeit und Leistung:
http://download.microsoft.com/download/1/3/4/134644fd-05ad-4ee8-8b5a0aed1c18a31e/rs_scalability.doc

Optimale Designverfahren:
http://www.microsoft.com/technet/prodtechnol/sql/2005/rsdesign.mspx

Microsoft SQL Server Entwickler Zentrum – Reporting Services
http://msdn.microsoft.com/sql/bi/reporting/default.aspx

Microsoft.com Reporting Services Hauptseite
http://www.microsoft.com/sql/technologies/reporting/default.mspx

SQL Server online Bücher – Reporting Services
http://msdn2.microsoft.com/en-us/library/ms159106(SQL.90).aspx
47
Herunterladen