03.02.2011, 22:25 Uhr

ASP.NET 4.0 ? die Neuerungen (Teil 4)

Daten mit dem neuen Microsoft Chart-Control visualisieren.
In der letzten Ausgabe der DeveloperWorld wurde das QueryExtender-Control von ASP.NET 4.0 vorgestellt, mit dem sich Daten flexibel filtern lassen. Und was ist mit der Anzeige von Daten? Dafür gibt es bei ASP.NET 4.0 ebenfalls etwas Neues in Gestalt eines überaus leistungsfähigen Chart-Controls.
Ganz neu ist das „neue“ Chart-Control allerdings ist. Es stand bereits vor der Einführung von ASP.NET 4.0 zur Verfügung, allerdings in Gestalt eines separaten Downloads. Mit der aktuellen Version kommt das Chart-Control automatisch mit. Es ist auch nicht auf ASP.NET beschränkt, sondern kann auch unter Windows Forms und WPF eingesetzt werden. Und noch eine „Enthüllung“ bevor es mit den technischen Details losgeht: Ursprünglich stammt das Chart-Control von der Softwarefirma Dundas. Microsoft hatte es bereits vor einigen Jahren lizensiert und setzte es bereits als Kernkomponente der SQL Server Reporting Services ein.  Das Chart-Control ist ungewöhnlich facettenreich, alleine 35 verschiedene Diagrammtypen stehen zur Auswahl (die meisten Entwickler wären vermutlich mit deutlich weniger Varianten zufrieden). Auch auf die Darstellungsform eines Diagramms gibt es vielfältige Möglichkeiten der Einflussnahme, die an dieser Stelle aber nur angedeutet werden können. Interessanter ist vor allem die dynamische Darstellung, die eine flexible Änderung und somit eine Online (Daten-)auswertung ermöglicht. Dynamische Datenanalyse Statische Daten anzuzeigen ist ein alter Hut, auch wenn Entwickler auf ein Chart-Control von Microsoft lange warten mussten. Business-Anwender möchten mit den dargestellten Daten arbeiten, um z.B. Trends zu ermitteln. Was das Chart-Control in Bezug auf Filter- und Sortiermöglichkeiten zu bieten hat, macht das ASP.NET Chart-Sample-Projekt eindrucksvoll deutlich (Abbildung 1).
Abbildung 1: Filtermöglichkeiten des Microsoft Chart-Steuerelements Beliebt sind auch sog. Drill-Downs, bei dem bei einem MouseOver über einen Bereich zusätzliche Detaildaten angezeigt werden (Abbildung 2).  
Abbildung 2: DrillDown-Optionen beim Microsoft Chart-Control Flexible Datenauswertung dank eingebauter Funktionen Das Microsoft Chart-Steuerelement stellt aber nicht nur Funktionen zur visuellen Darstellung der Daten bereit, sondern beinhaltet auch mathematische Berechnungsformeln, um z. B. eine Trendanalyse durchzuführen und anschliessend visuell darzustellen. Neben den üblichen Standardformeln wie Durchschnitt, Medianwert, Abweichung, Korrelation und Kovarianz umfasst allein der Bereich der finanzwirtschaftlichen Analyseformeln über 30 Funktionen. Darunter sind z. B. Formeln zur Ermittlung von Preisindikatoren und Prognosen oder zur Bestimmung der Normalabweichung. Die Gruppe der statistischen Formeln umfasst mit ANOVA, F-test, Z-test und drei t-tests (Equal Variance, Unequal Variance and Paired) insgesamt sechs Formeln. In der Gruppe der statistischen Verteilungsfunktionen werden die Funktionen Normalverteilung, t- und f-Verteilung angeboten. Abbildung 3 veranschaulicht in einem Diagramm die Verwendung der Preisindikatorformel. In dem Diagramm werden Median-, Durchschnitts- und gewichtete Tagesdurchschnittspreis angezeigt. Einsatz in der Praxis Trotz komplexer Möglichkeiten ist der Einsatz des Microsoft Chart-Controls in der Praxis sehr einfach. In Visual Studio 2010 wird es bereits in der Toolbox (Register Data) angeboten, für VS 2008 bzw. .NET 3.5 muss es nachinstalliert werden [1].
Abbildung  3: Das Microsoft Chart Steuerelement in Visual Studio 2010 Abbildung 4 zeigt, wie das Chart-Control mit ein wenig „Markup“ in die Lage versetzt wird, Daten aus einer SQL Server-Tabelle darzustellen. Dazu muss im Markup des Chart-Controls lediglich ein Eintrag für eine Datenreihe (series\asp:Series) hinzugefügt werden. Um den Zugriff einfach zu halten, wird die Reihe mit einem Namen versehen. Damit wird erreicht, dass beim Laden der Seite die Daten geladen und an die Datenreihe gebunden werden (Listing 1).
Abbildung 4: Das Microst-Chart-Control im Rahmen einer ASP.NET-Seite
public partial class ChartDB : System.Web.UI.Page
{
  protected void Page_Load(object sender, EventArgs e)
  {
    InitChart(); 
  }
  private void InitChart()
  {
    string query = "SELECT [CategoryName], [CategorySales]
                    FROM [Category Sales for 1997]";
    SqlConnection sqlCon = new SqlConnection(
                               ConfigurationManager.ConnectionStrings
                               ["connectionString"].ConnectionString);
    SqlCommand cmd = new SqlCommand(query, sqlCon);
    sqlCon.Open();
    using (SqlDataReader reader = cmd.ExecuteReader
                                  (System.Data.CommandBehavior.CloseConnection))
    {
      chData.Series["CategorySales"].Points.DataBindXY
            (reader, "CategoryName", reader, "CategorySales");
    }
  }
} Listing 1: Dynamische Datenbindung mit dem Microsoft-Chart-Control Zusammenfassung Das Chart-Steuerelement bietet viele Möglichkeiten und ist flexibel einsetzbar. Da es zusätzlich auch Datenauswertungsfunktionen und ein Drill-Down ermöglicht, können einfache BI-Funktionen mithilfe des Steuerelements realisiert werden. Für die einfache Visualisierung von Daten und Zusammenhängen bietet das Steuerelement auf jeden Fall genügend Potenzial. So kann meist auf den Erwerb eines zusätzlichen Chart-Steuerelements eines Drittanbieters verzichtet werden. Autoreninfo Marc André Zhou ist Dipl.-Inf. (FH) und Master of Science. Derzeit ist er bei Logica in Deutschland  als Senior Consultant tätig. Weitere Informationen finden Sie auf seinem Blog unter http://www.sw-consultant.de.
Links [1] http://www.microsoft.com/downloads/en/details.aspx?FamilyId=130F7986-BF49-4FE5-9CA8-910AE6EA442C&displaylang=en
Peter Monadjemi


Das könnte Sie auch interessieren