Nachdem sich die ersten beiden Artikel dieser Serie mit der Auswertung von Daten mit Work Item Queries und dem ersten Erstellen von Berichten auf dem Reporting Server mit dem Report Builder 3.0 befasst haben, werde ich Ihnen in diesem dritten Artikel das Business Intelligence Studio 2008 vorstellen. Es handelt sich hierbei um den Rahmen des Visual Studios 2008 mit den für die Entwicklung von Berichten notwendigen Erweiterungen. Neben den Funktionen die bereits der Report Builder zur Verfügung stellt, bietet das BI Studio zusätzlich vollen Zugriff auf den Quellcode des Berichtes.
Das Business Intelligence Development Studio
Gerade bei komplexeren Datenbankabfragen oder aufwändigen Layouts ist dies von Vorteil. Da die Berechnungen abhängig von der Kapazität des Reporting Servers nahezu beliebig komplex sein können, eröffnen sich hierdurch gerade im Bereich des Projektcontrollings neue Möglichkeiten. So könnte ein Bericht der die abgeschlossenen Feature-Pakete der aktuellen Phase, und deren Qualität darstellt, für die jeweiligen Abteilungsleiter interessant sein, wohingegen die Projektleitung Aufschluss über den Gesamtfortschritt, die Kosten und den voraussichtlichen Fertigstellungstermin haben möchte. Alle Daten die zu diesen Kennzahlen führen können liegen vor, sofern diese zum Beispiel in TFS Work Items eingetragen wurde: in Form von unzähligen Tabellen und Datensätzen auf dem SQL Server des TFS. Diese gilt es in einer aussagekräftigen Art aufzubereiten, und den Projektleitern, den Teamleitern und nicht zuletzt auch dem Team zur Verfügung zu stellen.
Hinweis:
Das Business Intelligence Studio 2008 ist im SQL Server 2008 Installationsmedium enthalten und kann einzeln auf den jeweiligen Entwicklungsrechnern installiert werden.
Abbildung 1 – Feature Auswahl der SQL-Server Installation
Abbildung 2 – Das Business Intelligence Development Studio 2008
Durch die Integration in die Visual Studio Oberfläche ist die Entwicklungsumgebung in gewohnter Weise zu bedienen. Berichte werden im Rahmen eines Report-Projekts entwickelt. Hierzu legen Sie ein neues Projekt vom Typ „Report Server Project“ an. Die Entwicklung der Berichte kann und sollte als eigenständiges Implementierungsprojekt angesehen werden. Neben der Definition der Quellwerte und der gewünschten KPI´s (Key Performance Indicator) als Anforderungserhebung, sowie der Designentwürfe über die Implementierung bis hin zum Ausrollen auf den einzelnen Teamprojekten und der anschließenden Wartung und Überarbeitung. Wie in einem „normalen“ Softwareprojekt ist es wichtig, von Anfang an zu wissen worin das Ziel liegt. Eine gemeinsame Vision zwischen den Business-Analysten, den Auftraggebern und dem Projektverantwortlichen.
Abbildung 3 – Das Report Server Projekt
Hinweis:
Daneben empfehlen wir ausdrücklich das Projekt in der Quellcodeverwaltung abzulegen. Es ermöglicht zum einen gemeinsames Erarbeiten des Ziels sowie die Möglichkeit auf ältere Versionen zurückzugreifen zum anderen können mit Branches Alternative Ideen und Designs realisiert werden.
Nach dem Erstellen können dem Projekt nun neue Berichte und Datenquellen hinzugefügt werden.
Abbildung 4 – Berichte und Datenquellen zum Projekt hinzufügen
Tipp: Probieren sie doch einmal den Report Wizard aus.
Ein Bericht besteht aus einigen essentiellen Bestandteilen. Hinter der grafischen Oberfläche – wie sie auch der Report Builder darstellt – verbirgt sich eine XML Definition aller relevanten Informationen die zur Verarbeitung des Berichts notwendig sind. Sie können sich durch das Kontextmenü des Berichts im Solution Explorer diese Definition anzeigen lassen. Die erwähnten Bestandteile umfassen analog zu den im Letzten Artikel vorgestellten Elementen Data Sources, Data Sets, Body, Report Parameters, Code sowie Page für allgemeine Angaben über den Bericht.
Abbildung 5 – Die Codebestandteile eines Berichtes
Die Data Sources definieren die Verbindung zur Datenquelle, im Kontext des TFS ist das entweder das relationale Warehouse, also SQL Server, oder aber der OLAP Cube also Analysis Services. Sie können aber ebenso eine Verbindung mit einer CSV Datei oder Access-Datenbank herstellen. Die Data Sets wiederum verwenden die Data Source als Verbindung um die entsprechend formulierten Abfragen ausführen zu können, also z.B. das SQL- oder MDX Statement. Jedes Data Set kann eine beliebig komplexe Abfrage ausführen. Bedenken Sie aber, dass diese Abfragen bei jedem Aufruf des Berichtes mit anderen Filterwerten ausgeführt werden muss, und somit der Berichtsserver belastet wird. Data Sets Verwenden neben der Data Source auch die Parameterdefinitionen, durch die sie gesteuert werden können. Filterungen auf Iterationspfade oder den Work Item Status können zur Laufzeit realisiert werden. Auch die Auswahlboxen der Filter selbst können dynamisch durch Datenabfragen gefüllt werden.
Abbildung 6 – Die Parameter zur Laufzeit
Nachdem nun die Daten für den Bericht vorliegen, können sie durch verschiedene Berichtselemente dargestellt werden. Zu Auswahl stehen Tabellen, Text-Boxen sowie Charts. Letztere sind in der Ansicht anpassbar und frei von in der Darstellung zwischen den über 50 verfügbaren Möglichkeiten umschaltbar.
Für die Darstellung von hierarchischen oder listenartigen Daten empfiehlt es sich die Tabellenform zu wählen. Auch hier gibt es einige praktische Funktionen, wie das dynamische Ein- und Ausblenden von Zeilen oder das Einbinden von Chartelementen in einzelne Zellen.
Abbildung 7 – Ein vollständiger Report “Stories Overview”
Fazit
Das Microsoft Business Intelligence Studio 2008 ermöglicht den vollen Zugriff auf die Möglichkeiten die zur Erstellung eigener, aussagekräftiger Berichte notwendig sind. Hierzu steht Ihnen ein Berichts-Wizard zur Verfügung der die ersten Schritte der Erstellung vereinfacht. Dennoch ist die Erstellung aussagekräftiger und zuverlässiger Berichte als Entwicklungsprojekt anzusehen und nicht selten übersteigt der Aufwand mehrere Tage oder gar Wochen für einen komplett neuen Bericht. Neben den Berechnungsgrundlagen der Kennzahlen stellt die eigentliche Umsetzung in Datenabfragen und Oberflächendesign den aufwändigen Teil dar. Ein zielführendes Vorgehen in der Grobstruktur könnte sein:
- Identifikation von Fragen des Anforderers an das Projekt, welche mit den Berichten beantwortet werden sollen
- Ableittung der notwendigen Metriken und der Berechnungsgrundlagen sowie der gewünschten Darstellungsform in einem Konzeptworkshop
- Prototypische Umsetzung mit Excel als Proof-Of-Concept
- Budgetierung der Umsetzung und verabschieden einer Roadmap
- Implementierung der Datenabfragen
- Erstellen des Designs in BIDS
- Übertragen und Anbinden der Datenabfragen in BIDS
- Ausrollen der Berichte