Excel als
intelligente Bedienoberfläche für datenbankbasierte Messwerte
Das Prozessleitsystem einer kommunalen Kläranlage generiert Messdaten, die täglich
in Excel erfasst werden. Aus diesen Daten werden, ebenfalls in Excel, jeweils wöchentlich
und jährlich Statistiken und Übersichten generiert.
Die Art der erfassten Daten, gewünschte Statistiken und das Format der Arbeitsmappen
werden von den übergeordneten Dienststellen vorgegeben. Diese Anforderungen können
sich im Laufe der Jahre ändern. Eine besondere Herausforderung stellt dabei die
Notwendigkeit dar, jederzeit auch über Daten alter Jahrgänge neue Statistiken erstellen
zu müssen.
Um diesen Vorgang zu erleichtern, wurde ein System entwickelt, dass:
- die Speicherung von und den Zugriff auf Daten aus einer großen Menge heterogener
Exceldatenblätter ermöglicht.
- auch über die folgenden Jahre und deren wechselnden, zum Teil heute noch, unbekannten
Anforderungen sauber skaliert.
- die gewohnte Excel-Arbeitsoberfläche beibehält.
Damit entstehen drei Teilaufgaben:
- Strukturiertes Erfassen bestehender und neuer Daten
- Erhaltung der Schnittstellen und Arbeitsabläufe zur Erfassung und Visualisierung von Neudaten
- Einfache Erweiterbarkeit durch den Endanwender
Lösung
Die in Excel-Arbeitsmappen vorhandenen Daten werden in eine SQL-Datenbank konvertiert.
Dazu werden zunächst Namensbereiche für relevante Datengruppen in einer Excelmappe
vergeben. Damit sind die Datengruppen durch den Namen, sowie Art und Datum des Excel-Dokumentes
eindeutig referenzierbar. Dann werden die vorhandenen Datenbestände in
die Datenbank übernommen.
Die Daten sind jetzt in der Excel-Oberfläche aus der Datenbank heraus abrufbar:
Excel funktioniert als Frontend für die Datenbank. Neue Daten werden aus Excel in
die Datenbank eingelesen.
Die Vergabe neuer oder die Änderung vorhandener Namensbereiche, sowie deren Aufnahme
in die Datenbank werden direkt aus Excel erledigt.
Vorteile
- Ein Suchen in den Dateien nach dem "richtigen" Excel-Dokument entfällt, die Daten
sind durch Angabe des Datums sofort abrufbar.
- Schnelles Vor- und Zurückblättern von Tagen, Monaten oder Jahren in der gleichen Arbeitsmappe.
- Abrufen von Arbeitsmappen nach einer Reihe von Kriterien.
- Datenbanken bieten ausgefeilte Datenschutzmechanismen, die Rechte zum Abrufen oder
Ändern von Daten können individuell vergeben werden.
- Notwendige Verwaltungsaufgaben wie Datensicherung sind wesentlich vereinfacht.
- Mehrere Anwender können gleichzeitig an den Daten arbeiten ohne sich absprechen
zu müssen, wer, was, wann und in welcher Version wohin abgespeichert hat.
- Bei neuer Strukturierung der Arbeitsmappe oder neuen Datengruppen werden einfach
die entsprechenden Namensbereiche angepasst.
- Alle anderen Arbeitsschritte können wie gewohnt in Excel erledigt werden.
Technische Bemerkungen
- Die Lösung ist mit einem in C# programmierten .NET Excel-Add-In realisiert. Das Add-In
kann, wie jede andere Software auch, einfach installiert und upgedatet werden.
- In Excel wird ein neuer Menüpunkt angelegt, über den die Verwaltung und Abruf von
Daten und die Vergabe und Änderung der Namensbereiche erledigt wird.
- Für kleinere (bis 2 Gigabyte Daten) Anwendungen verwenden wir die kostenlose Microsoft
SQL Server 2000 Desktop Engine Datenbank, bei größeren Datenmengen oder mehr als
8 gleichzeitigen Anwendern empfehlen wir die vollwertige Microsoft SQL Server Datenbank.
Ein Upgrade ist problemlos, da die beiden Systeme kompatibel sind.
Mögliche Erweiterungen
- Da die Daten zentral in einer Datenbank zur Verfügung stehen, können sie leicht
über geeignete Schnittstellen mit weiteren Softwaresystemen gekoppelt werden.
- Die Daten lassen sich über ein Webinterface visualisieren, denkbar ist hier die
Statusabfrage bestimmter Parameter mit einem Internetbrowser.
Die Oberfläche in Excel
In der Abbildung sieht man, über einer Arbeitsmappe mit Messdaten, das Fenster zum
Verwalten von Namensbereichen. Die referenzierten Daten, hier die Spalte mit den
Stunden eines Tages (H10 bis H33), wird dabei farbig hervorgehoben.
In diesem Fenster werden alle in der Datenbank vorhandenen Namensbereiche für diese
Arbeitsmappe angezeigt. Hier können Namensbereiche angelegt, verändert oder gelöscht
werden.
Schulung/Einführung zu in diesem Projekt verwendeten Technologien