“Das sieht ja aus wie Access” oder “Da kann ich ja bei Access bleiben”. Stimmt das? Und was ist denn jetzt besser: Access, Power Pivot oder Power BI? Ist die Frage sinnvoll? Egal, sie wird (häufig) gestellt und bedarf einer Klärung.

Microsoft Access

Access ist ein Datenbanksystem. Es ist ein einfaches Datenbanksystem. Das System ist uralt. Ich habe bei Wikipedia kurz nachgesehen: erstes Release: 1992. Zum Zeitpunkt der Erstellung dieses Artikels also 29 Jahre. Access war immer zur Speicherung von relationalen Daten gedacht. Über die Jahre kamen immer mehr Funktionen hinzu: Bessere Oberflächen, eine leistungsfähigere Datenbank-Engine, Mehrbenutzer-Zugriff, die Möglichkeit ganze Anwendungen damit zu entwickeln. Und auch wenn Entwickler Access immer belächeln, wird es doch in vielen Anwendungsgebieten genutzt. Ich kenne Lagersoftware, die in Access geschrieben wurde, eine Anwendung zu Steuerung einer Förderanlage, die Access als Datenspeicher nutzt oder ein KANBAN Simulations-Werkzeug für Unternehmensberater.

Ziel von Access

Access ist eine relationale Datenbank. Das heißt man kann Tabellen anlegen und Daten speichern. Man kann Oberflächen definieren, um in den Daten zu navigieren, diese ändern etc. Oder aber Softwareprodukte nutzen Access als Datenspeicher. Egal wie, man greift auf die Datensätze zu, um diese anzulegen, zu ändern, zu löschen und zu suchen. In der IT kennt man das als CRUD-Operationen:

  • C – Create
  • R – Read
  • U – Update
  • D – Delete

SQL Datenbanken (und ich zähle Access jetzt mal großzügig dazu) sind in der Lage Sichten anzulegen. In Access heißen die Sichten Abfragen. Eine einfache Tabelle ist im Prinzip eine primitive Abfrage. Wenn man aber zu einem Auftrag gleich den Kundennamen haben möchte, muss man die Kundentabelle mit der Auftragstabelle verknüpfen – oder Nachschlagen, wie es in Access heißt. Und dafür kann man eine Abfrage hinterlegen. Für den Benutzer dieser Sicht sieht die Abfrage aus wie eine Tabelle. Nur das die Daten aus zwei oder mehr Tabellen stammen. Für Suchen, wie “gib mir alle Aufträge des Kunden mit Nachnamen Müller und einem Auftragswert < 50 EUR” kann eine solche Abfrage nützlich sein. Der Entwickler muss nicht immer beide Tabellen miteinander verknüpfen, sondern sucht direkt über die Abfrage die entsprechenden Aufträge. Vermutlich ist das sogar performanter, da Access die Verknüpfung ablegen kann. Werden die Datenmengen groß, wird diese Suche langsam. Daher kann man einen Index anlegen. Im Prinzip so, wie wenn eine Bibliothek zwar die Bücher nach Titel sortiert hat, aber man irgendwo eine Karteikasten hat, in dem nach Autor sortiert die Bücher und ihr Platz im Regal hinterlegt sind.

Diagrammsicht in Access

Abfragen kann man in Access im Diagramm-Editor betrachten und editieren. Dort gibt man die Schlüsselbeziehungen an und kann dann auf das Ergebnis zugreifen: Diagrammsicht in Access Und genau diese Ansicht verleitet viele Power Pivot oder Power BI Anfänger zu denken: “Das ist ja wie in Access”.

Was ist eigentlich Modellierung?

Eine Straßenkarte ist ein Modell. Auf Basis dieses Modells kann ein Navigationssystem berechnen, wie man am schnellsten oder kürzesten von A nach B kommt. Ein Logistiksystem kann dagegen ermitteln, wo für bestimmte Produkte der größte Absatzmarkt ist um so festzulegen, wo man Distributionszentren baut. Damit arbeiten beide Systeme auf dem selben Modell. Aber sind damit Navigationssysteme und Logistiksysteme identisch? Sicher nicht. Dieses sogenannte Pragmatische Merkmal eines Modells (um mein Uni-Wissen endlich mal unterzubringen: Modelltheorie nach Stachowiak) legt fest Wozu man ein Modell benötigt. Sowohl in Access als auch in Power BI und Power Pivot werden Daten in Modellen dargestellt. Relationale Tabellen haben über Schlüssel eine Beziehung zueinander. Auf Basis dieses Modells können in Access Abfragen generiert werden. Mit dem gleichen Model können in Power BI oder Power Pivot Diagramme oder Pivot-Tabellen erstellt werden. Übrigens: Mit einem solchen Diagramm als Grundlage könnte man eine Datenbank von Grund auf in anderen Systemen anlegen. Das heißt:

  • Das Modell in Access und Power Pivot/Power BI scheint identisch zu sein (im Detail ist es das eigentlich nicht).
  • Was mit dem Modell getan wird ist verschieden.

Unterschied Access und Power BI / Power Pivot

In Access werden die Daten in Tabellen organisiert. Lesezugriffe erfolgen Zeilenweise. Das bedeutet, wenn ich von einem Kundenauftrag das Feld Total haben möchte, dann liest Access die ganze Zeile und gibt mir die Information aus Total zurück. Wenn ich Access bitte für 100.000 Kundenaufträge das Feld Total zu summieren, dann liest Access 100.000 Zeilen und addiert dann Total. Und das zieht sich… Aber ja, es geht! Power Pivot und Power BI legen die Daten völlig anders ab. Nicht Zeilen, sondern Spaltenorientiert. Zuerst sortiert das Datenmodell eine Tabelle nach der Spalte, die am wenigsten verschiedene Werte hat. Vielleicht die Produktfarbe (grün, blau, rot). Und dann merkt sich das Datenmodell nur noch, dass in Zeile 1-73.471 die Farbe grün, in Zeile 73.472-89.978 die Farbe blau und in den Zeilen 89.979-100.000 die Farbe rot vorkommt. Die Frage “wie viele Farben kommen vor” beantwortet dieses Datenmodell natürlich blitzschnell. “Wie viele Produkte sind grün, wie viele rot und wie viele blau” kann das Datenmodell mit drei Subtraktionen beantworten. Access müsste 100.000 Zeilen lesen und schauen, was im Feld Farbe steht. Die Datenmodelle von Power BI und Power Pivot machen natürlich noch viel, viel mehr zur Optimierung. Letztlich alles mit dem Ziel unglaublich schnell die Top 10 Produkte nach Umsatz, den Umsatz einer Periode oder den durchschnittlichen Auftragswert zu ermitteln.

Wo Power BI und Power Pivot schlecht sind

Richtig schlecht sind die beiden Systeme, wenn man dort beispielsweise Kundenaufträge verwalten will. Man kann nicht einfach einen Kundenauftrag anlegen. Und man kann diesen auch nicht einfach ändern. Daten ändert man man in diesen Systemen ohnehin nie. Darüber hinaus können Power BI und Power Pivot auch nicht als Datenspeicher für Softwaresysteme dienen.

Fazit

Wer nur ein Hammer als Werkzeug hat, für den ist die Welt ein Nagel.

oder

The right tool for the right job

Willst du Daten auswerten, dann nimm Power Pivot oder Power BI. Willst du Bewegungsdaten verwalten (anlegen, aktualisieren, löschen und suchen), dann nimm ein relationales Datenbanksystem – gerne Access (ich bin nicht wirklich Fan von Access, daher ist das jetzt keine Empfehlung). Wenn du dann genügend Daten in Access angesammelt hast und diese auswerten willst, dann nimm doch Power BI oder Power Pivot, um die Daten zu analysieren.

Starthilfe gefällig?

Hier findest du noch mehr Informationen, was Power BI und Power Pivot ist, wie sich Power Query einreiht und wie du dich zwischen diesen Werkzeugen entscheidest:

Und dann gibt es noch unseren neuen Online-Kurs, der dir eine Einführung in Power Pivot gibt.