Een CSV met de naam export_final_v3 zegt niets over filters, tijdstip of weggegooide regels. Toch beginnen veel analyses in Eindhoven precies daar. Iemand heeft in het bronsysteem op een knop gedrukt, het bestand op een schijf gezet en de vraag van het MT eraan vastgemaakt. Twee weken later wijkt finance af. Niemand kan de knop nog nadoen. De export is een foto geworden, en een foto heeft geen WHERE-clausule.

SQL-basisvaardigheden beginnen bij die foto wantrouwen. U schrijft de vraag opnieuw: welke tabellen, welke periode, welke status, welke sleutel. Een INNER JOIN die orders zonder regels laat vallen, moet u kunnen tekenen. Een LEFT JOIN die het aantal regels verdubbelt omdat de kortingtabel meerdere rijen per order heeft, moet u kunnen tellen vóór u sommeert. Het getal dat uit de SUM komt, is het laatste wat u gelooft, niet het eerste.
In de module SQL-basis gebruiken wij een oefendatabase die expres zo’n verdubbeling bevat. De eerste query van deelnemers is bijna altijd te optimistisch. De tweede telt de rijen. Het verschil is de les. U hebt geen DBA-rechten nodig om die gewoonte te leren. U hebt een queryvenster en de bereidheid nodig om een mooi getal weg te gooien.
Daarna komt de zin die analisten overslaan omdat hij niet in de SELECT past: wat hebt u weggelaten, en waarom. Testorders, interne magazijnleveringen, regels zonder afdeling. Staat dat niet bij de query, dan verzint het MT een verklaring voor een gat dat u zelf hebt gemaakt. De module Data-analyse dwingt die zin af in een notitie van één pagina. De query zonder de notitie is huiswerk. De notitie zonder de query is een mening.
U hoeft de export niet te verbieden. U moet hem wel kunnen herbouwen. Lukt de herbouw niet omdat u geen leesrechten hebt, dan is dat een organisatiefactum en geen excuus om de CSV tot bron te promoveren. Zet op het rapport: „bestand van 12 juli, opgebouwd door finance, query niet opnieuw gedraaid”. Dat is eerlijker dan een dashboard dat doet alsof het live op de database staat.
In Brainport-teams zien wij dezelfde export drie keer hernoemd: een keer door planning, een keer door finance, een keer door een extern bureau. De kolomnamen wijken één spatie af en een vervolgkoppeling faalt stil. Vraag daarom niet alleen om de query, maar om de kolomlijst zoals die in de database heet. Een Nederlandse kop in de CSV is een presentatiekeuze, geen sleutel. Zet de technische naam in de leeswijzer, ook als het MT de vriendelijke naam op het scherm wil houden.
Eindhoven heeft genoeg systemen om deze fout elke maand te herhalen. De remedie is klein. Eén query, een telling vóór en na de JOIN, drie zinnen voor de lezer. Wie dat kan voorlezen, mag de export gebruiken als bijlage. Wie het niet kan, stuurt een bestand door en noemt dat analyse. Het verschil is de hele cursus.