Lies in den Artikel rein und unten bekommst Du ein unschlagbares Angebot!
Im Artikel “Reporting Services: Tabellarische Berichte” haben wir uns am Beispiel einer Kundenliste bereits angesehen, wie Sie einfache Tabellen erstellen und einfache Features wie sich wiederholende Spaltenüberschriften nutzen. In diesem Artikel wollen wir Kunden, Bestellungen und Bestellpositionen zum Thema machen und dazu wiederum eine Tabelle verwenden. Wegen der verschiedenen Ebenen soll diese allerdings Gruppierungen enthalten, die uns unter anderem Informationen über die Umsätze je Position, Bestellung und Kunde liefern.
Vorbereitungen
Als Vorbereitung benötigen Sie die Beispieldatenbank AdventureWorks. Deren Download und Installation beschreiben wir im Artikel AdventureWorks: Schnelle Beispieldatenbank (www.datenbankentwickler.net/254).
Ziel
Wir möchten einen Bericht erstellen, der die Bestellpositionen nach Bestellung und Kunde gruppiert und die Gruppensummen anzeigt. Die Detaildatensätze sollen also jeweils eine Bestellposition enthalten. Die Bestellpositionen einer Bestellung sollen einen Gruppenkopf enthalten, der das Bestelldatum enthält und einen Gruppenfuß mit der Bestellsumme. Außerdem wollen wir noch eine weitere Gruppierung hinzufügen, welche die Bestellungen nach Kunde gruppiert. Diese soll im Gruppenkopf einige wesentliche Kundendaten anzeigen wie die Kundennummer, Vor- und Nachname und die Firma. Im Gruppenfuß dieser Gruppe soll die Summe der Bestellpositionen erscheinen, also der gesamte Umsatz mit diesem Kunden.
Umsatz je Kunde anzeigen
Wir nähern uns dem Schritt für Schritt. Zunächst möchten wir die Umsatzsummen je Kunde in jeweils einer Zeile des Berichts anzeigen. Jede Zeile der Tabelle soll also einen Kunden und die Umsätze dieses Kunden liefern.
Gruppierungen per Assistent
Im ersten Anlauf wollen wir die gruppierte Tabelle per Assistent erstellen. Dazu rufen wir im SQL Server Report Builder mit dem Ribbonbefehl Datei|Neu den Dialog Neuer Bericht oder neues Dataset auf. Hier wählen wir den Eintrag Tabellen- oder Matrix-Assistent (siehe Bild 1).
Bild 1: Starten des Assistenten
Datenquelle festlegen
Im nun folgenden Dialog Neue Tabelle oder Matrix aktivieren wir die Option Dataset erstellen und klicken auf Weiter. Damit gelangen wir zum Schritt Verbindung mit einer Datenquelle auswählen. Hier klicken Sie auf die Schaltfläche Neu. Im Dialog Datenquelleneigenschaften definieren Sie die Datenquelle, die beispielsweise wie in Bild 2 aussieht.
Bild 2: Datenquelle definieren
Dataset definieren
Zurück im Assistenten sehen Sie den Schritt Abfrage entwerfen. Hier wählen Sie im linken Bereich die kompletten Tabellen oder auch nur einzelne Felder aus, die im Bericht verwendet werden sollen.
Aus Gründen der Übersicht sollten Sie nur die Felder wählen, die Sie später auch nutzen. In diesem Fall nutzen wir Felder der Tabellen Customer, Product, ProductCategory, SalesOrderDetail und SalesOrderHeader. Mit einem Klick auf die Schaltfläche Abfrage ausführen können Sie sich die zu erwartenden Daten direkt als Abfrageergebnis anschauen (siehe Bild 3).
Bild 3: Dataset definieren