Einer der verbreitetsten Clients zur Nutzung von Microsoft SQL Server Analysis Services Cubes ist das gute alte Excel. Spätestens jedoch wenn man Excel für etwas komplexere, wiederkehrende Auswertungen benutzt, stößt man oft an Grenzen, deren Workarounds bei der täglichen Arbeit nicht unbedingt Spaß machen. Für eine dieser Einschränkungen im “Berichts”-Bau mit Excel bin ich durch Zufall über eine große Hilfe in Excel 2010 gestoßen. Die in der Praxis selten einsetzbaren Slicer (Datenschnitten) besitzen nämlich ein nicht unbedingt offensichtliches Feature, um das es an dieser Stelle gehen soll.

Eines der größten Mankos von Excel ist, dass der Anwender keine eigenen Formeln für die Pivot-Tabellen definieren kann. Dies führt dazu, dass viele Anwender die benötigten Daten über mehrere Pivot-Tabellen aus den Cubes ziehen und dann in Excel selbst die benötigten Berechnungen anstellen. Ein (etwas konstruiertes) Beispiel auf Basis der Adventure Works Beispieldatenbank könnte in etwa so aussehen:

image

Hier wird für die in der linken Tabelle angezeigten Daten ermittelt, wie hoch der Anteil des jeweiligen Produktes mit den gewählten Filtern (hier: schwarze Produkte in Nordamerika) am Gesamtumsatz des gleichen Produkts im gleichen Zeitraum ist. Dazu wurde eine zweite Pivot-Tabelle aufgebaut, die außer der Zeit keine weiteren Einschränkungen macht. Mittels SVERWEIS kann dann die eigentliche Berechnung außerhalb der Pivot-Tabelle durchgeführt werden.

Funktioniert an sich ganz gut. Nervig wird das ganze aber, wenn ich die gleiche Auswertung für einen anderen Zeitraum erstellen will. Dann muss ich nämlich für alle Pivot-Tabellen, die ich in meinem Bericht verwendet habe, den Zeitraum einzeln umstellen. Wenn ich eine Tabelle vergesse, dann erhalte ich falsche Werte.

Seit Excel 2010 gibt es nun die Slicer, die im Gegensatz zu den Berichtsfiltern, an mehrere Pivot-Tabellen gebunden werden können.

image

Wer diese aber schon mal für eine größere Dimension eingesetzt hat, weiß, dass deren Benutzung eher für kleine Listen ausgelegt ist. Hier mal die Slicer für die Datumshierarchie der Adventure Works:

image

Für eine Liste wie die Jahre ist die Bedienung ja ganz nett. Wer aber versucht sich die Daten eines Tages anzugucken: Viel Spaß! Es gibt keine Suche, keine Filter, keine der Features aus den Berichtsfiltern wird unterstützt.

Trotzdem bieten die Slicer für unser Problem die Lösung. Denn wenn ich die Slicer auch an die zweite Pivot-Tabelle binde

image

und darauf geachtet habe, dass ich die Slicer für exakt die gleiche Hierarchie eingefügt habe, die auch im Berichtsfilter steht, dann kann ich die Berichtsfilter weiter benutzen.

image

Wenn ich in der ersten Pivot-Tabelle auf H2 CY 2007 umschalte, dann wird der Filter in der zweiten Dimension automatisch synchronisiert. Selbst eine Mehrfachauswahl im Berichtsfilter ist weiterhin möglich.

Dadurch bin ich nun im Stande auch größere Dashboards mit Excel zu implementieren, ohne Angst vor der Filter-Arie zu haben. Die zusätzlichen Pivot-Tabellen und die Slicer kann ich auf anderen Tabellenblättern anlegen oder ausblenden, da ich sie in der Regel nicht mehr anfassen muss. Mein eigentlicher Bericht beinhaltet dann nur noch die Pivot-Tabellen, die ich wirklich sehen will, sowie meine eigenen Berechnungen.