Business Case: Van Excel naar een geautomatiseerd modern datawarehouse

Door Eloi Sanchez op 2 Apr, 2025

<span id="hs_cos_wrapper_name" class="hs_cos_wrapper hs_cos_wrapper_meta_field hs_cos_wrapper_type_text" style="" data-hs-cos-general-type="meta_field" data-hs-cos-type="text" >Business Case: Van Excel naar een geautomatiseerd modern datawarehouse</span>

Een paar maanden geleden kregen we de opdracht om de gegevensworkflow van een vastgoedbeheerbedrijf, die sterk gebaseerd was op Excel Sheets,te migreren naar een modern Data Warehouse. In deze blog leg ik uit wat de vereisten waren om dit project als een succes te beschouwen, hoe we de migratie planden en uitvoerden, en het eindproduct dat we afleverden.

Hun oude stack

Zoals gezegd is de klant een vastgoedbeheerbedrijf met tientallen panden onder hun hoede. De klant delegeert al het beheer van de panden aan hen, van het vinden van huurders tot het zorgen dat ze onderhouden worden wanneer dat nodig is. Hun oude stapel was sterk afhankelijk van Excel-sheets die handmatig moesten worden verwerkt door het team. De gegevensbronnen kwamen voornamelijk uit hun financiële applicatie, Exact Online, en hun vastgoedbeheersysteem, Wunderbricks. De Excel-sheets bevatten tientallen berekeningen waarmee ze inzicht kregen in de huidige staat van het bedrijf en waarmee ze beslissingen konden nemen in de nabije toekomst.

Uiteindelijk moest het product zowel intern gebruikt kunnen worden voor hun dagelijkse werkzaamheden als getoond kunnen worden aan hun klanten met de juiste data filtering/masking zodat klanten alleen toegang hebben tot informatie die voor hen relevant is.

Eisen

Natuurlijk impliceert een dergelijk proces veel gegevens die moeten worden verplaatst en geanalyseerd. Enkele van de belangrijkste punten die bijgehouden moeten worden zijn onder andere financiële informatie (huur, facturen, onderhoud...), bezettingsgraad van het gebouw en prognoses voor de volgende maanden. Na vergaderingen met de belanghebbenden werden we het eens over een paar definitieve dashboards die hen zouden helpen bij het dagelijks bijhouden van en handelen op gegevens, ter vervanging van hun gedecentraliseerde set tools. De overeengekomen vereisten waren de volgende

  • Automatiseren van de invoer van financiële en vastgoedbeheergegevens.
  • Orkestreer de ingestion en datatransformatie om elke ochtend nieuwe dashboards te kunnen analyseren.
  • Migreer het semi-handmatige prognoseproces in Excel naar het pakhuis zodat het naadloos wordt geïntegreerd in de datapijplijn.
  • Creëer dashboards specifiek voor vastgoedbeheer (huur, bezettingsgraad...) en financiële gegevens (winst & verlies, balans) waarmee ze kunnen inzoomen op gedetailleerde gegevens als dat nodig is, evenals een overzichtspagina met de belangrijkste informatie voor elk van de cv's en klanten die ze beheren.
  • Creëer een soort GUI-toepassing waarmee ze centraal kunnen beheren welke gegevens worden weergegeven op basis van bepaalde perioden, en waarmee ze opmerkingen kunnen toevoegen om hun klanten te informeren over de gebouwen die ze bezitten.

Overzicht architectuur

We besloten Snowflakete gebruiken als centraal datawarehouse, omdat het pay-per-use beleid en de volledig beheerde architectuur ideaal zijn voor kleine tot middelgrote bedrijven die hun workflows willen moderniseren. Bovendien zouden we dbt gebruiken om de gegevenstransformatie van onbewerkt naar definitief uit te voeren. Dbt is een persoonlijke favoriet van mij, omdat ik hiermee kan ontwikkelen met dbt-core, terwijl de klanten hun planning kunnen beheren via dbt Cloud in een gebruiksvriendelijke interface. Voor de dashboards werdTableau gekozen, omdat dit het beste past bij hun rapportagebehoeften.

Voor de ingestion maakten we gebruik van de native applicatieomgeving die beschikbaar is in Snowflake. Ik heb in het team gezeten dat verschillende connectorsheeft ontwikkeld die helpen bij de invoer van gegevens van verschillende derde partijen en gelukkig hadden we al de Exact Online Connector ontwikkeld en gepubliceerd, die naadloos gegevens uit de Exact Online-omgeving van de klant zou halen en deze in hun Snowflake-account zou laden. We moesten echter nog wel de vastgoedbeheergegevens laden die ze in Wunderbricks (Salesforce) hadden. Gelukkig is er al een connector gepubliceerd op de Snowflake marktplaats die dit zou kunnen doen.

Tot slot zou ik een kleine Streamlit-applicatiemaken met behulp van de Streamlit-in-Snowflake-functionaliteit, waardoor de mensen van het bedrijf niet in een andere tool/systeem hoeven in te loggen om dit te beheren en dit gewoon kunnen doen door in te loggen in Snowflake.

Proces

Met het plan al klaar, was het tijd om met de migratie te beginnen. We hadden afgesproken dat het in ongeveer 10 dagen klaar zou zijn, wat betekende dat we hard zouden moeten werken!

Ik begon met het instellen van alle benodigde tools. Ik maakte een Snowflake-account en een dbt-account voor hen aan. In één ochtend had het systeem al SSO beschikbaar voor gebruikers bij de klant die konden inloggen met hun Microsoft-account, plus het dbt-project volledig ingesteld en een account beschikbaar voor wat de beheerder zou worden. Vervolgens kon ik, dankzij de al eerder genoemde Snowflake Marketplace, de twee ingestion-applicaties installeren die verbinding zouden maken met Exact Online en Wunderbricks en ze instellen om gegevens van hun account op te halen. Na wat extra instellingen was er aan het eind van de dag een volledig moderne datawarehousing oplossing die gegevens uit hun bronnen volgens een schema in een gecentraliseerde database kon laden, klaar om gegevens in de volgende dagen te verwerken en analyseren.

De volgende dagen stond ik in nauw contact met zowel het team van de klant als met mijn collega die de dashboards zou maken, waarbij ik analyseerde welke kolommen nodig waren in de uiteindelijke tabellen en hoe ik deze uit de ruwe gegevens kon halen. Dit was het moment dat ik me meer moest verdiepen in financiële gegevens in mijn professionele leven, en ik ben blij te kunnen zeggen dat ik veel nieuwe dingen heb geleerd. Enkele voorbeelden zijn hoe je transacties moet verwerken om op de juiste manier een samengevatte Winst- en Verliestabel en een Balanstabel te verkrijgen, hoe hiërarchieën kunnen worden gebruikt om verschillende grootboekrekeningen te groeperen in samenhangende onderwerpen, en hoe het koppelen van deze hiërarchie met de dashboards van Winst- en Verliesrekeningen en Balanstabellen de leesbaarheid van belangrijke KPI's kan verbeteren.

Tot slot maakte ik de kleine Streamlit applicatie waarmee ze konden schakelen welke gegevens aan hun klanten zouden worden getoond. Omdat ik dit al gepland had, was het eenvoudig om het te maken en te integreren met de huidige datapijplijn. Uiteindelijk zou de gegevenspijplijn deze gegevens gebruiken om te beslissen welke rijen gefilterd moesten worden in de uiteindelijke tabellen, om ervoor te zorgen dat Tableau alleen de juiste gegevens zou tonen.

Daarna hoefden we er alleen nog maar voor te zorgen dat alles goed werd gedocumenteerd en dat er genoeg tijd overbleef voor een adequate overdracht, zodat onze klant kon beschikken over een volledig geautomatiseerde dataworkflow die resulteerde in bruikbare dashboards. En dat alles in slechts een paar weken!

Eindconclusies

Uiteindelijk zijn alle doelstellingen volgens afspraak behaald. Onze klant kon het handmatige werk in Excel Sheets vergeten en gewoon achterover leunen en genieten van een volledig geautomatiseerd systeem dat gegevens levert in prachtige, bruikbare dashboards die op hun beurt kunnen worden gedeeld met hun klanten.

We hebben nauw contact onderhouden met het bedrijf, zodat we vragen of kleine problemen die zich hadden kunnen voordoen konden controleren, en we hebben zelfs onze tijd met hen verlengd om nog meer functies aan hun systeem toe te voegen.