50% off DataCamp Premium. 700+ courses, half price. Start learning today.
Regelmatig rapporteren over belangrijke businessmetrics is een kerntaak van veel analisten. Dit consequent en foutloos doen is enorm waardevol voor je organisatie om zakelijke beslissingen te ondersteunen, maar tegen welke prijs? Te vaak moet je allerlei handmatige stappen doorlopen om de data te verzamelen, het rapport met KPI’s op te bouwen en het met stakeholders te delen. Deze workflow kost veel tijd en is foutgevoelig.
Gelukkig kan het beter: je kunt de planningsmogelijkheden van DataCamp Workspace benutten om automatisch te rapporteren over businessmetrics met inzichtelijke visualisaties. Dat bespaart je tijd en verkleint de kans op fouten in je rapportageproces.
In dit artikel laten we de workflow zien door een rapport over beursdata te draaien (omdat er bijna elke dag nieuwe data is) op een terugkerend schema, zodat het notebook altijd de laatste gebeurtenissen op de markt weergeeft.
Kijk je dit artikel liever als video? DataCamp hostte een code-along over hetzelfde onderwerp, waarin geautomatiseerde rapportage werd opgezet voor fietsverkoopdata die is opgeslagen in een Microsoft SQL Server-database. Je kunt deze code-along terugkijken via deze link.
Het rapport bouwen
Om te beginnen maken we in Workspace een nieuw dataproject (een workspace) dat de handelingen uitvoert die we in de volgende stap willen automatiseren. Voor deze tutorial werken we met beursdata, omdat die publiek beschikbaar is en regelmatig wordt bijgewerkt. Zo verandert ons rapport in de tijd.
Het is het handigst om een kopie te maken van een workspace die al alle code bevat. Als je liever elke stap zelf doorloopt, maak dan een nieuwe workspace vanaf nul en voeg een Python-coderegel toe die beursdata importeert en visualiseert:
import pandas as pd
import plotly.express as px
import yfinance as yf
# Define how many stock I own of each ticker
holdings = {
'AAPL': 16,
'TSLA': 15,
'TEAM': 7,
}
# Get the data
tickers = list(holdings.keys())
data = yf.download(tickers, start="2023-01-01")
# Wrangle the data
adj_close = data['Adj Close'].reset_index()
adj_close_long = pd.melt(
adj_close,
id_vars='Date',
value_vars=tickers,
var_name='ticker',
value_name='adj_close'
)
adj_close_long['total_value'] = adj_close_long['adj_close'] * adj_close_long['ticker'].map(holdings)
adj_close_long
# Show the position values for stocks in my portfolio
fig = px.line(
adj_close_long, x='Date', y='total_value', color='ticker'
)
fig.update_layout(
title="Position values for for stocks in my portfolio",
yaxis_title="Position Value",
xaxis_title="Date"
)
fig.show()
Een uitgebreide uitleg van deze code valt buiten de scope van dit artikel; we willen vooral wat Python-code werkend krijgen zodat we die in de volgende stap kunnen inplannen! Je kunt controleren of de code in je workspace-notebook goed draait door bovenaan op de knop “Run” te klikken. Je zou een mooie Plotly-visualisatie moeten zien verschijnen:

Het rapport automatiseren
Nu we een workspace met wat Python-code hebben, gaan we ‘m zo configureren dat hij volgens een terugkerend schema draait! Ga naar het menu “Run” en kies “Schedule run”:

In de modal kun je notebookruns plannen door te kiezen tussen een dagelijkse of wekelijkse frequentie en het tijdstip van uitvoering op te geven. Daarnaast kun je e-mailmeldingen ontvangen voor zowel geslaagde als mislukte runs.

Stel voor de proef je notebook in op een dagelijks schema, op een tijdstip een paar minuten in de toekomst, zodat je de planning in actie ziet!
Bekijk de magie
Als je het notebook een paar minuten vooruit hebt ingepland, wacht dan even tot de geplande run start. Op het ingestelde tijdstip zie je onder de Run-knop het bericht “Running X cells on a schedule” verschijnen. Alle code wordt opnieuw van boven naar beneden uitgevoerd, zodat de outputs worden bijgewerkt als er sinds de vorige run nieuwe data beschikbaar is.

Als je de workspace zo hebt ingesteld dat je bij een geslaagde run een e-mail ontvangt, heb je ook een bericht in je inbox gekregen:

Dat is alles! Je notebook draait nu elke dag of elke week, afhankelijk van je instellingen. Wanneer je de workspace bezoekt, bevat hij altijd de meest recente data. In dit voorbeeld met beursdata betekent dit dat je altijd op de hoogte bent van de totale waarde van je aandelenportefeuille.
In een zakelijke context kun je deze functie combineren met een van de native dataconnectoren van Workspace om verbinding te maken met bijvoorbeeld een PostgreSQL-database, een Snowflake datawarehouse of een Redshift-cluster om de nieuwste gegevens van je bedrijf op te halen en inzichtelijke rapporten te bouwen om met stakeholders te delen.
Sinds de lancering hebben Workspace-gebruikers deze functie voor uiteenlopende doeleinden ingezet, waaronder:
- het uitvoeren van datavalidatiecontroles tijdens migraties om gegevensconsistentie tussen verschillende bronnen te waarborgen,
- het scrapen van gegevens van regelmatig bijgewerkte pagina’s over openbaar beleid om datasets te maken en de eerlijkheid van benoemingen in de publieke sector te monitoren, en
- het automatiseren van gegevensverzameling en het versturen van gepersonaliseerde wekelijkse e-mailoverzichten naar SaaS-gebruikers door te integreren met oplossingen zoals Customer.io.
De flexibiliteit van Python in combinatie met de volledig geconfigureerde notebookomgeving van Workspace is een krachtige combinatie; we zijn benieuwd wat jij met deze nieuwe Workspace-functie gaat bouwen!
Onderwerpen
