Parametrisierte Reports mit den Reporting Services 2008R2 erstellen (Teil 2)
avatar

BIm ersten Teil wurden die wesentlichen Elemente eines parametrisierten Reports auf Basis einer relationalen Datenquelle gezeigt. In diesem Teil defineren wir eine eigene Datenquelle auf Basis des „Adventure Works DW 2008R2“ Cubes. Falls sie den Cube noch nicht erstellt haben, muss dies zunächst erfolgen werden. Dazu wird das Projekt Adventure Works DW 2008 welches typischerweise unter „C:\Program Files\Microsoft SQL Server\100\Tools\Samples\AdventureWorks 2008R2 Analysis Services Project\enterprise\Adventure Works DW 2008“ liegt in Visual Studio (Administratorkontext) aufgerufen. Überprüfen Sie den Connectionstring und passen ihn gegebenenfalls an. Anschließend wählen Sie im Solution Explorer unter „Cubes“ den Eintrag „Adventure Works.cube“ aus und aus dem Kontextmenue „Process“. Nach erfolgreichem durchlaufen der Berechnungen ist der Cube erstellt und steht zur Verfügung.

Wir erstellen ein neues Projekt in Visual Studio und nehmen als Vorlage ein „Report Server Projekt“. Im Solution Explorer wählen wir unter „Shared Data Sources“ im Kontextmenue „Neue Datenquelle hinzufügen“ aus.

image

Wir benennen Die Verbindung „Adventure Works“ und wählen als Typ „Microsoft SQL Server Analysis Services“ aus. Den Connectionstring kann man sich mit Hilfe des Wizzards bilden lassen indem „Bearbeiten…“ ausgewählt wird. Wir geben den Servernamen an und wählen als Datenbank den Cube „Adventure Works DW 2008R2“ aus.

Im Solution Explorer wählen wir im Kontextmenü von „Reports“ den Eintrag „Neuen Report hinzufügen“ aus. Es öffnet sich der Wizzard:

image

Zunächst erstellen wir eine Verbindung zu unserer oben erstellten Datenquelle:

 

image

Anschließend öffnen wir den Abfrage Designer;

image

Jetzt bilden wir die folgende einfache MDX-Abfrage, indem sie gleich in die Eingabeansicht image wechseln:

Select {[Measures].[Order Count]} ON COLUMNS,

[Product].[Product Model Lines].AllMembers ON ROWS

FROM  [Adventure Works]

Nun erweitern wir die Abfrage und fügen einen Parameter ein, der nach den Produktlinien filtern soll. Dazu Ändern wir die Abfrage wie folgt mit einem Sub-Select ab:

Select {[Measures].[Order Count]} ON COLUMNS,

[Product].[Product Model Lines].AllMembers ON ROWS

FROM (SELECT ( STRTOSET ( @ProductLines, CONSTRAINED) ) ON COLUMNS

FROM [Adventure Works])

image

Nun haben wir eine parametrisierte MDX-Abfrage erstellt. Als nächstes fügen wir eine Wertemenge für diesen Parameter ein, indem wir in der Menüleiste auf das Symbol der Parametereingabe klickenimage:

Hier füllen wir im Beispiel die folgenden Werte aus:

image

Den Parameternamen geben wir vor. Die Dimension wählen wir aus allen Dimensionen der Datenquelle aus, sowie die Hierarchie. Ferner geben wir an, ob der Parameter mehrere Werte beinhalten darf oder nicht. Anschließend wählen wir noch einen oder mehrere Standardwerte aus.

image

Anschließend definieren wir unseren parametrisierten Report. Wir wählen zunächst einen Matrix-Report aus.

image

Ferner legen wir fest, welche Felder in unserem Report in die Spalten, Zeilen und in die Werte Zellen geschrieben werden sollen.

image

Nach Auswahl eines geeigneten Designs ist unser parametrisierter OLAP Report fertig und benötigt nur noch eine Bezeichnung.

image

Der Report sieht wie folgt aus:

image

Der Report kann über die Registerkarte “Vorschau” angezeigt werden.

image

Nun kann auf Basis der Cube Daten ein parametrisierter Report angezeigt werden, der nach den Werten der ausgewählten  Dimension filtert.

Schreibe einen Kommentar