Gedeelde en afgeleide datasets
Een dataset is in Plainwater AI een eigen object van de klant, los van elk dashboard. Hij heeft een naam, versies, een verversschema en een bewaartermijn. Dashboards verwijzen naar datasets op naam. Daardoor bestaat een getal als "omzet per uur" maar op één plek, en rekenen alle dashboards met dezelfde definitie.
Twee soorten
| Soort | Wat het is | Taal |
|---|---|---|
| Query-dataset | Eén query op één bron | T-SQL of DAX |
| Afgeleide dataset | Eén SELECT over andere datasets | DuckDB-SQL |
Een query-dataset haalt data op uit een bron, bijvoorbeeld een Azure SQL-database of een Power BI-model. Een afgeleide dataset combineert datasets die al bestaan. Hij raakt de bron zelf niet. Een afgeleide dataset is ook weer een eigen object, zodat je elke berekening opnieuw kunt gebruiken.
Waarom datasets los van dashboards staan
Stel: je hebt een dashboard Financieel en een dashboard Productiviteit. Nu wil je een totaaloverzicht met omzet per gewerkt uur. Zitten de queries in de dashboards zelf, dan kopieer je ze. Dan heb je twee definities die uit elkaar gaan lopen, en elke kopie ververst apart op de bron.
Met gedeelde datasets gaat het zo:
- De dataset
omzet_per_maandbestaat al en wordt gebruikt door Financieel. - De dataset
gewerkte_uren_per_maandbestaat al en wordt gebruikt door Productiviteit. - Een afgeleide dataset
omzet_per_uurdeelt de eerste door de tweede. - Het totaaloverzicht verwijst naar alle drie.
Wijzigt de definitie van omzet, dan wijzigt hij op één plek en rekenen alle drie de dashboards mee.
Keuren bij opslaan
Een query wordt gekeurd op het moment dat hij wordt opgeslagen, niet pas als hij draait. T-SQL gaat door dezelfde controle als vrije SQL op een bron: het platform ontleedt de query en weigert bij twijfel. Een dataset kent geen parameters en voert nooit live uit; hij ververst op zijn schema en het resultaat wordt versleuteld bewaard.
De naam van een dataset is uniek per klant en niet te wijzigen. Dashboards verwijzen ernaar op naam: een hernoeming zou zo'n verwijzing stilletjes laten verspringen. Wil je een dataset niet meer gebruiken, zet hem dan uit. Verwijderen lukt pas als geen dashboard, concept of andere dataset er nog naar verwijst.
Versies en concepten
Elke wijziging maakt een nieuwe versie; oude versies blijven staan. Tijdens een gesprek werkt de agent aan een concept. Pas bij opslaan wordt het concept een versie. Een voorvertoning van een concept is ook versleuteld en hoort bij dat ene concept.
Voorbeeld
Een woningcorporatie heeft huurinkomsten in het financiële systeem en het aantal verhuureenheden in het vastgoedsysteem. De agent maakt een query-dataset op elke bron en een afgeleide dataset die de huur per eenheid per kwartaal berekent. Drie dashboards gebruiken die afgeleide dataset: de directierapportage, het portefeuilleoverzicht en een benchmarkpagina. Als de controller vindt dat leegstand anders moet tellen, past de agent één dataset aan. De drie dashboards rekenen vanaf de volgende verversing mee.