Das ein Bericht in Reporting Services automatisiert ablaufen soll, und das Output am besten in verschiedenen Formaten gespeichert wird, ist bekanntlich ein alter Hut und gängige Praxis in Büros weltweit. Doch was ist wenn der Bericht nicht aus einer SQL-Datenquelle abgefragt wird, sondern aus einer multi-dimensionalen Datenbank mittels MDX?

Auch das kann mit der richtigen Abfrage problemlos bewältigt werden, was ich hier gerne erläutern möchte. Zur Veranschaulichung greife ich hier auf einen Bericht zurück, der die Großhändler aus der Microsoft AdventureWorks Cubedatenbank anzeigt. Darüber hinaus soll Reporting Services wegen seiner Vielzahl an Exportmöglichkeiten zur Weiterverarbeitung von Berichten in andere Systeme genutzt werden.

Im ersten Schritt legen wir ein datengesteuertes Abonnement an, die ausführliche Vorgehensweise zur Erstellung erspare ich mir, da sie auf den Microsoft eigenen Webseiten gut dokumentiert ist.  Bei der Aufforderung zur Eingabe der  Abfrage, verwende ich  das folgende MDX-Skript:

WITH

SET ProductCategories AS
[Product].[Category].[Category].MEMBERS

SET Monate AS
[Date].[Calendar].[Month].MEMBERS

MEMBER [Measures].[MonatCaption] AS [Date].[Calendar].CURRENTMEMBER.Member_Caption

MEMBER [Measures].[MonatValue] AS [Date].[Calendar].CURRENTMEMBER.UNIQUENAME

MEMBER [Measures].[ProductCatCaption] AS [Product].[Product Categories].CURRENTMEMBER.MEMBER_CAPTION

MEMBER [Measures].[ProductCatValue] AS [Product].[Product Categories].CURRENTMEMBER.UNIQUENAME

MEMBER [Measures].[myFileName] AS („Reseller“+“_“+[Measures].[MonatCaption]+“_“+[Measures].[ProductCatCaption])

SELECT
{
[Measures].[myFileName],
[Measures].[MonatCaption],
[Measures].[MonatValue],
[Measures].[ProductCatCaption],
[Measures].[ProductCatValue]
}
ON COLUMNS,
{
Monate
*
ProductCategories
}
ON
ROWS
FROM
[Adventure Works]

Hierzu einige Anmerkungen zu dem oben abgebildeten Abfrage.  Das Measure: „myFileName“ dient dazu die verschiedenen Caption-Measures in einen Zeichensatz auszugeben, um  später die erzeugten PDF-Dateien dynamisch benennen zu können. Die „Value“-Measures dienen als Lieferanten für die Parameterwerte.

 

Als nächstes werden wie im Bild unten gezeigt, die Einstellungen für die Übermittlung des Reports vorgenommen. Den Dateinamen lassen wir dynamisch durch unser selbstgebautes Measure: „myFileName“ generieren, und daher ich vorher als Übermittlungsform mich für „Windows FileShare“ entschieden habe, gebe ich noch den Pfad für den Ordner ein, abschliessend wähle ich PDF als Ausgabeformat.

Im Anschluss benutzen wir die beiden „Value“- Measures um die Parameter des Berichtes zu steuern.

Nachdem ich noch die restlichen Schritte  konfiguriert habe, und die Berichtsverarbeitung auf dem Server durchgelaufen ist sollte das Ergebnis in meinem vorher angebenen Ordner in etwa so wie auf dem unteren Bild aussehen:

 

Nun steht der weiteren Verarbeitung nichts mehr im Wege.