Dit project demonstreert hoe je een dagelijkse flatfile-aanlevering omzet naar een Data Vault-model en vervolgens weer een export maakt die de originele levering benadert. De mapping is transparant en in Excel voorbereid, zodat business analisten kunnen meekijken en sturen.
- Dagelijkse aanleveringen (bijvoorbeeld klanten en orders) opslaan in een Data Vault structuur.
- Per dag kun je een export genereren die het oorspronkelijke bronschema (flatfile) exact benadert, ‘as-of’ het snapshotmoment.
- De mapping van bron naar vault en terug naar export is inzichtelijk en makkelijk overdraagbaar naar Excel.
main.py: Startpunt van het project. Voert de dagelijkse load, vault-build en snapshot export uit.engine/buildvault.py: Logica voor het laden van brondata en opbouwen van de Data Vault (hubs, satellites, links).engine/exportsnapshots.py: Exportfunctie die per dag (as-of) de meest actuele versie van de entiteiten exporteert in flatfilevorm.config/settings.pyenconfig/dbconnection.py: Database configuratie.datasourcedayXcustomers.csv,datasourcedayXorders.csv: Dagelijkse bronbestanden.datasnapshots/: Hier vind je de gegenereerde exports per dag en entiteit.requirements.txt: Te installeren Python-dependencies.
- Installeer de dependencies:
pip install -r requirements.txt - Zorg dat de brondata (csv’s) aanwezig zijn.
- Start het proces:
python main.py - De resultaten zijn te vinden in de
datasnapshots/-map.
- Mappinglogica is zodanig opgezet dat deze eenvoudig overschrijfbaar is vanuit een Exceloverzicht.
- Wil je meer of andere kolommen? Pas het mapping-overzicht aan in je Excel en verwerk de wijzigingen in de Pandas-transformatie in de code.
- De volgende bestanden/directories kun je veilig verwijderen:
__pycache__/tests/,models/,sql/,utils/dwh.sqlite(wordt elke run overschreven).env(alleen nodig voor custom settings)README.mdalleen als je geen uitleg meer wenst
Auteur:
Coen van de Kamp
Datum laatste update: november 2025[1]