09.12.2022, 18:18
Hallo zusammen,
Herausforderung / Aufgabenstellung
in einer Organisation soll ich ein kleines Datenbankmodell aufbauen, aus welchem Reports und Dashboards einfach erstellbar sind.
Wir haben verschiedene Listen:
Mein Ziel ist es nun ein grundsätzliches Modell aufzubauen, aus welchem automatisch Reports gezogen, Dashboards erstellt werden können (interaktiv über Pivot) und die Hintergrunddatenaktualisierung automatisch funktioniert.
Zu meinen Kentnnissen:
Ich kenne mich mit den gängigen Funktionen in Excel recht gut aus und kann auch etwas VBA programmieren.
Meine erste Idee:
Ich dachte mir, ich erstelle einen Ordner, in welchem alle Datenbanken enthalten sind. Dabei sollen folgende grundsätzlichkeiten gelten
In einem zweiten Ordner würde ich alle Dashboards hinterlegen, welche auf die Daten in dem Ordner Datenbanken zugreift. Dabei würde ich auf folgendes achten
Vorteil davon ist, dass Personen die Dashboards offen haben könne und ich dennoch im Hintergrund Daten in die Database schreiben kann.
Meine Fragen
Ich denke, dass waren erstmal meine Gedanken.
Habt ihr Tipps für mich?
LG
Moritz
Herausforderung / Aufgabenstellung
in einer Organisation soll ich ein kleines Datenbankmodell aufbauen, aus welchem Reports und Dashboards einfach erstellbar sind.
Wir haben verschiedene Listen:
- Gehaltslisten = Personalnummer, Monatsgehalt
- Krankheitsdaten = Personalnummer, Zeitraum, Krankheitskürzel
- Stammdaten = Personalnummer, Straße, Hausnummer...
- Stellenplan = Personalnummer, Führungskraft, Stellentitel ...
- ....
Mein Ziel ist es nun ein grundsätzliches Modell aufzubauen, aus welchem automatisch Reports gezogen, Dashboards erstellt werden können (interaktiv über Pivot) und die Hintergrunddatenaktualisierung automatisch funktioniert.
Zu meinen Kentnnissen:
Ich kenne mich mit den gängigen Funktionen in Excel recht gut aus und kann auch etwas VBA programmieren.
Meine erste Idee:
Ich dachte mir, ich erstelle einen Ordner, in welchem alle Datenbanken enthalten sind. Dabei sollen folgende grundsätzlichkeiten gelten
- Excel nur ein Tabellenblatt
- 1 Zeile = Header
- Tabellenobjekt welches z.B. Data_Salary heißt
In einem zweiten Ordner würde ich alle Dashboards hinterlegen, welche auf die Daten in dem Ordner Datenbanken zugreift. Dabei würde ich auf folgendes achten
- Verbindung via Power Query
Vorteil davon ist, dass Personen die Dashboards offen haben könne und ich dennoch im Hintergrund Daten in die Database schreiben kann.
Meine Fragen
- Soll ich das wirklich so in Excel lösen oder lieber in Access? Damit kenne ich mich jedoch noch gar nicht aus und ich müsste hier alles lernen
- Wenn ich es erstmal kurzfrisitg in Excel löse (weil ich mich damit auskenne) kann ich dannach einfach auf eine Lösung mit Access umziehen?
- Manche Dashboards erstellen sich erst aus der Kombination zweier Datenbanken (z.B. Gehaltsübersicht pro Department). Dafür muss die Gehaltsliste mit dem Stellenplan verknüpft werden. Soll ich hier lieber zwei Tabellen in das Dashboard mit PowerQuery ziehen oder soll ich mit VBA oder ähnliches eine Tabelle erstellen, die sich die Werte in eine Tabellen zusammensucht und anschließend importiere ich nur diese eine Tabelle zum Dashboard
- Wenn ich die Werte zusammen suche, welchen Weg soll ich wählen:
- Soll ich eine Tabelle erstellen die mit VLookup als Formeln auf die einzelnen Tabellen zugreift. Z.b. (Gehaltsübersicht pro Department zieht sich die Daten mit Vlookup in den einzelnen Zellen von Stellenplan und Gehalt.
- Ich tendiere eher dazu, eine VBA zu schreiben, welches kurz diesen Vlookup in die Zellen schreibt und anschließend die Formeln zu Werten überschreibt. Dadurch hätte ich vermutlich eine etwas bessere Performance, weil die Excel nicht rechnen muss.
- Soll ich einen Code schreiben, welcher für jede Personalnummer das Department sucht und diesen Wert direkt in die Ergebniszelle schreibt? Also kein Umweg über Formel und anschließend Umwandlung in Werte. Hier habe ich das Gefühl, dass so ein Loop länger dauert als bei Option 2.
Ich denke, dass waren erstmal meine Gedanken.
Habt ihr Tipps für mich?
LG
Moritz