Montag, 1. Juni 2015

Analyse des Datenmodells hinsichtlich Speicherbelegung

Hallo zusammen,

Kasper De Jonge hat auf seinem Blog bereits vor einiger Zeit ein Makro vorgestellt, mit dessen Hilfe es möglich ist das Datenmodell dahingehend zu analysieren, welche Tabelle und welche Spalte innerhalb der Tabelle, wie viel Speicher in Anspruch nimmt. Interessant werden solche Analysen beispielsweise dann, wenn ich die Größe (MegaByte) meines Datenmodells verringern möchte.




Zum entsprechenden Post von Kasper geht es hier

Ich habe mit Kaspers Erlaubnis den Code leicht modifiziert und daraus zudem ein Add-In gemacht, das dafür sorgt, dass die Funktionalität nun in jeder Exceldatei zur Verfügung steht, sofern das Add-In eingebunden ist. 

Das Add-In könnt Ihr hier downloaden.

Bevor Ihr das Add-In einbindet, stellt sicher, dass Eure Makro-Sicherheitseinstellungen einem der rot markierten Bereiche des folgenden Screenshots entsprechen.


Abbildung 1: Makrosicherheitseinstellungen 

Nun könnt Ihr die Add-In-Datei doppelt anklicken. Daraufhin wird Euch Excel darauf hinweisen, dass Ihr ein potentielles Sicherheitsrisiko eingeht, indem Ihr diesem Programm vertraut. Grundsätzlich würde ich dies nur mit eigenen Programmen oder vertrauenswürdigen Quellen durchführen. 


Abbildung 2: Aktivierung des Makros


Nachdem Ihr das Add-In aktiviert habt, wird Eure Multifunktionsleiste (Ribbon) um das Tab PowerPivot Additionals reicher sein (siehe Screenshot).


Abbildung 3: Das neue Ribbon-Tab

Klickt einfach auf den Knopf "analyse Memory-Usage". Sofern Eure Datei ein Power Pivot-Datenmodell enthält, wird nach Durchlauf des Programmes ein neues Tabellenblatt "Memory_Usage" eingefügt, welches die Analyse des Datenmodells beinhaltet. Ein Beispiel hierfür zeigt der folgende Screenshot.


Abbildung 4: Die Analyse

In diesem Screenshot ist erkennbar, dass die Tabelle FaktUmsätze 95,6 % Speicher des gesamten Datenmodells beansprucht. Zudem ist erkennbar, dass die Spalten UmsatzID und Umsatz jeweils 18% Anteil an diesen 95,6 % haben. Diese Analyse läßt einen noch einmal mit genauerem Blick auf die Notwendigkeit einer jeden teuren Spalte gucken.

Viel Spaß beim Analysieren und bis bald,
Lars