Bei ixto sind wir meistens sehr mit der Produktqualität von Microsoft zufrieden und auch SQL Server 2008 macht auf den ersten Blick einen ausgezeichneten Eindruck. Wir, das Team der Berichtsdesigner, sahen uns allerdings schnell an unsere Toleranzgrenzen gebracht als wir den neuen Abfrage-Designer für MDX im Berichtsdesigner erleben durften.
Nun, nicht jeder von uns schreibt sein MDX selbst, sondern benutzt den sehr komfortablen grafischen Editor. Performance spielt bei vielen Abfragen und natürlich für den Benutzer eine Rolle, also tunen wir gelegentlich die generierten Abfragen manuell, d.h. wir greifen direkt in die MDX-Syntax ein und verändern diese. Manchmal ist eine Modifizierung grundsätzlich notwendig, wenn man beispielsweise in einer Hierarchie nur bis zu einer bestimmten Ebene Daten abfragen möchte.
Wir haben folgende Problemstellen mit dem MDX Abfrage-Designer identifiziert und Microsoft dazu befragt:
Verlorene Formatierungen
Modifizierte und formatierte MDX-Abfragen verlieren jegliche Formatierungen, wie z.B. Zeilenumbrüche und Einrückungen, nachdem man den Bericht komplett geschlossen und dann bis zur Abfrage wieder geöffnet hat. Jeder, der sich schon mal die Abfrage eines vom Visual Studio 2005 generierten Parameters angesehen hat, weiß, wie unlesbar dieser Code ist.
Die Zeilenumbrüche finden sich allerdings im RDL direkt wieder. Nur ist diese Tatsache wenig hilfreich, wenn die Zeilenumbrüche im Abfrage-Designer nicht angezeigt werden.
Der Bug scheint bisher keine Beachtung bei den Entwicklern gefunden zu haben.
Kein Syntax Highlighting
Schon schlimm genug, dass die Formatierung immer verloren geht, da wurde das Syntax Highlighting auch noch Opfer von Integrationsproblemen. Wie im Screenshot zu sehen, ist die Abfrage im neuen Editor so gut wie unlesbar.
Es heißt, dass es ein Visual Studio Integrationsproblem war, welches bis zum Release von SQL Server 2008 nicht behoben werden konnte. Es wird angestrebt, es in einer zukünftigen Version zu beheben.
Sonderzeichen
In der englischen Version ist das Problem mit den Formatierungen noch gravierender. Hier entstehen Sonderzeichen, die die Zeilenumbrüche sein sollen, aber nicht entsprechend angezeigt werden.
Auch dieser Bug scheint bei den Entwicklern noch nicht wirklich angekommen zu sein.
Für die Punkte 1 bis 3 gibt es den Workaround, die MDX-Abfrage in eine Abfrage im Management Studio zu kopieren. Hier hat man die Formatierung und das Syntaxhighlighting wieder. Durch zurückkopieren erhält man jetzt auch im Designer die Formatierung zurück.
Leider kann das Management Studio nicht mit den Parametern in der Abfrage umgehen, daher würden wir das MDX Studio von Mosha Pasumansky empfehlen, denn mit dieser Anwendung gewinnen Sie nicht nur das Syntax Highlighting zurück und haben eine Autoformatierungsfunktion, sondern es ist auch möglich Parameter via XML-Tags in die Abfrage einzubinden.
Das MDX Studio ist auf der Seite http://www.mdxstudio.com/ zu finden.
Um sich das Schreiben der einzelnen XML-Tags für die Parameter, es können ja doch manchmal ganz schön viele sein, zu ersparen, kann die Abfrage mit dem SQL-Profiler „mitgeschnitten“ und dann direkt in das MDX Studio kopiert werden.
Automatisch überschriebene Parameterdatasets
Die Probleme, die bis jetzt beschrieben wurden, hatten nur etwas mit der Benutzerfreundlichkeit zu tun, das jetzt beschriebene Verhalten kann aber zu richtigen Fehlern führen, wie es unbemerkt bleibt.
Wie auch bei SSRS 2005 werden Datasets für Parameter automatisch generiert, wenn sie in der Hauptabfrage erzeugt werden. Das Problem entsteht, wenn man die Abfrage für die Parameter anpasst, da man vielleicht einige Elemente nicht benötigt, und danach noch mal die Hauptabfrage ändert, wird wieder das „Default“ Dataset für den Parameter erstellt und die eigenen Anpassungen gehen verloren.
Was möglicherweise gut gemeint ist, und das manuelle generieren von Parameterdatasets abnehmen soll, führt unter diesen Umständen zu mehrfachem Wiederholen derselben Arbeit oder sogar zu Fehlern, wenn die automatische Ã?nderung unbemerkt bleibt.
Dieses Problem haben die Entwickler wohlwollend aufgenommen und scheint zur Diskussion zu stehen.
Ein Workaround das automatische Überschreiben der Parameterdatasets zu unterbinden ist, die Bindungen an die Dimensionen zu entfernen. Als Standardwerte muss man Elemente in MDX-Syntax setzen, was natürlich die Funktionalität des Assistenten einschränkt und das Ã?ndern der Standardwerte stark erschwert.
Mit den hier beschriebenen Workarounds ist es aber auch für MDX-Fans durchaus sinnvoll mit dem SSRS 08 zu arbeiten und die neuen Features, wie Tablix und erweiterte Gruppierbarkeit zu nutzen.