Dienstag, 19. August 2008

Wasserfalldiagramm mit asp.net erzeugen (Teil 2)

So, hier mal wieder ein Zwischenstand für das Projekt "Wasserfalldiagramm". Mittlerweile wird das Chart direkt mit Daten aus den Analysis Services des SQL Servers versorgt. Zwar ist noch nicht alles durch Meta Daten gesteuert, aber die gewählte Architektur zahlt sich langsam aus.

image

Auf dem Screenshoot ist der Adventure Works Würfel zu sehen. Hier wird gerade die Differenz zwischen dem Q1 2003 und Q2 2003 analysiert. Das Besondere an dem Diagramm ist u.a. der Wechsel der Dimensionen. Hier wird die Sales Territory Dimension analysiert. Dank des Tooltips kann erkannt werden, welchen Anteil UK daran hatte. Der Wechsel zwischen den Dimensionen ist schon einfach möglich. Noch sind die Werte nicht sortiert oder zu Gruppen zusammengefasst. Das steht noch auf der To-Do Liste.

image

Hier wird das identische Delta (Q1 2003 vs. Q2 2003) analysiert, aber nun ist die Subcategory dran. Natürlich soll sich auch der Zeitraum verändern lassen.

image

Dieses Diagramm zeigt wiederum die Dimension Sales Territory nun aber mit dem Delta des Zeitraums Q1 2003 zu Q1 2004.

Nun kommt ein wenig Interface dazu, damit mehr Interaktivität reinkommt. Mittels der AJAX Erweiterungen von asp.net bekommt das Ganze dann den Charakter einer Anwendung und nicht eines Web Clients. Abgerundet wird das dann noch durch die Sparkline Integration.

Im Hintergrund greife ich die Daten des OLAP Cubes mittels ADOMD.NET ab. Als Zugriffsmethode verwende ich ein CellSet. Ist zwar nicht der schnellste Zugriff, aber für die paar Zeilen reicht das völlig und dafür bekomme ich schöne Meta Daten mit. Dem internen MDXBuilder muss ich nun noch ein wenig Zeit Logik beibringen. Das eigentliche Waterfall Chart ist mittlerweile in ein asp.net Server Control gewandert und wird über die Properties gesteuert. Die Balken rendere ich immer noch einzelnen mittels einer extra asp.net Anwendung. Ein Vorteil ist, dass auch andere Anwendungen oder auch Entwicklungsumgebungen die Grafiken erzeugen können (z.B. PHP, Java usw.).

Die technischen Hintergründe zeige ich Mettmann auf der Mitgliederversammlung des PASS Deutschland e.V.

Keine Kommentare: