Dynamisch rapporteren: analyseer, presenteer en reproduceer

Het maken van rapporten verloopt traditioneel in drie fases:

  • het exporteren van gegevens uit een databank;
  • het bewerken en analyseren van deze gegevens in een analyse-tool (Excel, R, Matlab);
  • het integreren en presenteren van de resultaten in een presentatie-tool (Word, Powerpoint, Website).

Deze aanpak is weinig flexibel en ondersteunt geen iteratief proces. Zo is het arbeidsintensief om bijkomende analyses uit te voeren: men moet hiervoor meestal nieuwe gegevens uit de databank halen en in de analyse-tool pompen, nieuwe analyses uitvoeren in deze analyse-tool en vervolgens de resultaten van deze analyses invoegen in de presentatie tool. Naast het uitvoeren van bijkomende analyses is het ook niet evident om na enkele maanden/jaren een analyse te reproduceren op nieuwe (vaak recentere) data en te presenteren in een nieuw rapport. Om consequente reproducties kunnen uit te voeren moet de nieuwe data terug geimporteerd worden in de analyse-tool, de bronbestanden van de analyses terug gebruikt worden om de analyses uit te voeren en de resultaten geintegreerd worden in een powerpoint-presentatie of rapport.

Dynamisch rapporteren is een andere manier van rapporteren die toelaat om flexibeler om te gaan met wijzigingen in de analyses en/of de bron-data. Het grote verschil met de traditionele manier van rapporteren is het samenvoegen van de analyse-fase en presentatie-fase. Door analyses direct uit te voeren in de presentatie-tool is het niet langer meer nodig om de resultaten van de analyse-tool te kopieren in de presentatie-tool. Dynamische rapporten laden ook zelfstandig data in, wat impliceert dat het afleveren van een nieuw databank-extract ook resulteert in een nieuw rapport.

knit-logoUiteraard behoort dynamisch rapporteren tot de core-functionaliteit van de meeste grote rapporterings en/of BI-suites. Er bestaan echter ook een aantal producten die toelaten om op kleinere schaal dynamisch te rapporteren zonder een complete BI-suite uit te rollen. Een open-source tool die door ons geschikt bevonden is om zulke dynamische rapporten te genereren is Knitr. Deze tool is gemaakt om rapporten te genereren op basis van analyses uitgevoerd in R, een statistisch analysepakket waar we het laatste jaar heel wat positieve ervaringen mee opgebouwd hebben. Met behulp van Knitr kunnen R-scripts verweven worden in rapporten die geschreven zijn in markup-talen zoals LaTeX, HTML of Markdown (vooral bekend als wiki-taal).  Zo krijgt men dus één markup-file die zowel de layout en tekst van het rapport bevat als de scripts die de analyses uitvoeren.  Deze markup-file kan vervolgens mdhv Knitr gecompileerd worden tot een PDF, website of presentatie.

In conclusie kunnen we stellen dat tools als Knitr het mogenlijk maken om dynamisch en flexibel rapporten op te stellen en te reproduceren. Een nadeel aan dit type tools is echter de hogere leercurve om er mee aan de slag te gaan. Zo heb je voor het opstellen van een Knitr rapport al snel kennis van R en een markup-taal als Markdown of LaTeX nodig om een degelijk rapport af te leveren. Op de langere termijn betaalt de investering in het leren van deze talen zichzelf echter terug omdat men sneller rapporten gaat kunnen afleveren, aanpassen, automatiseren en reproduceren.

Leave a Reply

Your email address will not be published. Required fields are marked *