Access als Datensammler – die Single Source of Truth

Viel Jahre sah der übliche Daten-Aufbereitungsprozess für Controller immer gleich aus:

Vorsysteme wie SAP liefern Daten als Export in Form von Text-, CSV- oder Excel-Dateien. Diese wurden dann in mehr oder weniger aufwändigen Verfahren aufbereitet, um saubere Listen zu bekommen, die dann in Excel gespeichert wurden. Dies Daten konnten dann mit den verschiedensten Techniken, wie etwa SUMMEWENN, TEILERGEBNIS, PivotTabellen oder Konsolidieren verdichtet und mittels Diagrammen visualisiert werden.

Häufig habe ich in der Praxis bei meinen Workshops und EXCEL-Coachings zur Optimierung des Reportings gesehen, dass dieser Prozess monatlich auf dieselbe Weise manuell wiederholt wurde!

Je nachdem, wie fit man in EXCEL war, konnte man dann ein schickes, interaktives Cockpit mit Matrixfunktionen, Steuerelementen & Co. aufbauen, um das Ganze auch benutzer- und managementfreundlich, interaktiv zu präsentieren. Mit VBA und ähnlichen Techniken konnte man auch den Import ver-automatisieren, um so die monatliche Routine mit all ihren Fehlerquellen und dem hohen, wenig effizienten Zeitaufwand in Prozeduren automatisch ablaufen zu lassen.

20190122 reporting typisch
Das typische Bild im Reporting…

Mit Power Query (oder vormals auch schon mit MS Query, das wir regelmäßig seit Beginn der 90er Jahre für diese Zwecke einsetzten)  lässt sich der manuelle Programmieraufwand bei der Import-Automatisierung minimieren, ja manchmal gelingt mir das Programmieren mit einer Hand an der Kaffeetasse, mit der anderen an der Maus. Programmierer-Kollegen mögen sich hier vielleicht ein wenig lustig machen, aber für viele meiner Seminarteilnehmer – die ja Controller, nicht Programmierer sind – ist es wesentlich einfacher, mit Maus & Menü visuelle Schritte in die richtige Reihenfolge zu bugsieren, als Schleifen und Bedingungen in Form von VBA-Code zu erzeugen. Schließlich ist Programmierung ja auch die Aufgabe eines Controllers: EXCEL soll schließlich Werkzeug, nicht Zweck sein, wie ich in meinen Seminaren nicht müde werde, zu betonen! Controller sollen Unternehmen steuern und Informationen zur Verfügung stellen, nicht programmieren und schon gar nicht per Copy&Paste Daten in Listen einfügen!

Bleibt noch die Verdichtung und Bildung eines Cockpits für das Management, was durch PowerQuery selbst oder PowerPivot und Techniken wie intelligente Tabellen und Datenschnitte erleichtert wurde. Bedingte Formatierung und neue Diagrammtypen erleichtern die Visualisierung in Excel.

20190122-reporting-powerquery.pngReporting mit Power Query als Schnittstelle

Allein es bleibt das Problem der Aktualität der Dateien!

Wenn mehrere EXCEL-Files, selbst wenn sie mit State-of-the-Art Techniken erzeugt wurden, miteinander verknüpft werden, kann nicht immer davon ausgegangen werden, dass auch alle Dateien auf demselben Aktualisierungsstand sind. Und das ist ein echtes Problem!

20190122-reporting-problem.png
Problem der Aktualisierung mehrerer PowerQuery Modelle

Wie aktualisiere ich aber die ganzen vorgelagerten Dateien?
Muss ich doch wieder VBA programmieren?
Und bei jeder Änderung an Dateinamen oder Verzeichnisstrukturen manuell (!) den Code anpassen?
Das kann es wohl nicht sein…

Leider kann auch ein noch so elegantes PowerQuery-Modell nicht für mehrere Dateien genutzt werden, jede Datei muss die Daten für sich selbst aktualisieren. Oder man verwendet genau eine sehr große Datei als zentralen Datensammler, sozusagen ein kleines Data Warehouse, quasi ein „Dataware-Häuschen“ auf EXCEL-Basis.

Aber ganz ehrlich: dafür ist EXCEL nicht gedacht. EXCEL ist eine Kalkulation, auch mit PowerQuery-Modell im Hintergrund. Effiziente Speicherung großer Datenmenden geschieht wohl im Datenmodell, nicht mehr aber in der einzelnen Tabellenblättern. Redundanzen lassen sich kaum vermeiden, Inkonsistenzen sind schon vorprogrammiert. Die reine Größe der Dateien macht schon Problemen. Von Performance ganz zu schweigen. UNd da sind auch noch die SVERWEISE…

Warum nicht eine Datenbank verwenden?

Hier bietet sich doch genau ACCESS an: als Datensammler, aus dem sich dann alle Reports mit Daten versorgen, die alle – da aus der selben Quelle versorgt – auf dem selben Aktualitätsstand sind. Sozusagen die Single Source of Truth, aus der sich alle folgenden Reports bedienen, im strengen Sinne ein sog. Data-Mart.

20190122-reporting-mit-access-2-e1548245995677.png
Reporting mit ACCESS als Datensammler

Die meisten meiner Coachings bei der Erstellung von Reporting-System folgen derselben Struktur:

Vorsysteme liefern Daten, die in ACCESS gesammelt werden. Die Aufbereitung ist leider immer noch recht mühsam per Abfragen und Makros (ja, wirklich!) verautomatisiert.Hierbei kann auch ein Zeitstempel die Dten ergänzen (s. hierzu Beitrag über die Historisierung von Daten).

Warum ACCESS-Makros? Nun, es gilt lineare Vorgänge automatisch in immer derselben Reihenfolge auszuführen, meist sind es viele Abfragen, die ganz einfach nacheinander ausgeführt werden müssen. Ganz selten gibt es Anforderungen nach Bedingungen oder Schleifen. Und dafür reichen Makros aus, bringen dafür aber den Vorteil, dass man mit recht geringem Aufwand – Stichwort: eine Hand an der Kaffeetasse – automatische Abläufe erzeugen kann. Diese laufen dann idealerweise monatlich automatisch, der manuelle Aufwand beschränkt sich am Ende auf die Kontrolle, ob alles korrekt ausgeführt wurde und auf die Inhaltliche Prüfung der Ergebnisse.

Somit wird viel Zeit bei der Datenaufbereitung eingespart, die dann bei der Analyse der Daten zur Verfügung steht bleibt. Weniger Zeit für Routine, mehr Zeit für intelligentes Ableiten von Aktionen für das Unternehmen!

Diese Prozesse beim Datenimport nach Access möchte ich gerne wieder einfach erledigen, ohne Programmieraufwand bei vielen, vielen Abfragen und deren Automatisierung in Makros oder VBA-Code. Dazu brauchen wir dringend PowerQuery als ImportTool für ACCESS! Eine Anbindung der Datenquellen zum Schreiben wäre nicht mal nötig, leidlich das Einbinden als Tabelle bzw. auch das schreibgeschätzte Speichern einer Tabelle, die dass via PowerQuery periodisch aktualisierbar ist.

So sähe mein Idealbild aus:

20190122-reporting-ideal.png
Ceterum censeo: wir brauchen PowerQuery-Techniken in ACCESS!!!

Microsofts ACCESS-Team hat mir diesen Vorschlag auf access.uservoice.com ja leider abgelehnt – no current plan. Aber ich werde nicht müde: wir brauchen PowerQuery-Techniken für ACCESS um die Stärke von ACCESS noch besser nutzen zu können. Das muss ja nicht PowerQuery heissen, nennt es doch wie in Excel nun auch „Daten abrufen und Transformieren“. Vielleicht gibt es ja mal einen new current plan

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s