Gebruikers
BI specialist
Beheer
Inleiding
Modellen zijn een belangrijke stap in het maken van visuals. Ze beïnvloeden in grote mate wat je kunt doen als je charts en dashboards maakt.
Dimensies en indicatoren
Een belangrijk onderscheid om te begrijpen is het verschil tussen dimensies (dimensions) en indicatoren (measures).
- Dimensies: Een dimensie is een categorisch of beschrijvend veld (zoals "productnaam" of "datum") waarmee je data kunt groeperen of filteren in een visualisatie.
- Indicatoren: Een indicator is een kwantitatieve meting (zoals "omzet" of "aantal orders") die een aggregatiefunctie (bijvoorbeeld som, gemiddelde, aantal) bevat.
Dimensies bepalen hoe je data wordt gegroepeerd of gesneden, terwijl indicatoren bepalen wat je meet en analyseert in die groepen.
Model maken
Een nieuw model maken begint in de SQL-editor. Schrijf een SQL-query en test deze door hem uit te voeren. Als je tevreden bent en de velden voor de benodigde measures (als numerieke kolommen) en dimensies hebt, klik je op Promote, kies je een naam en maak je een model aan.
Daarna ga je naar het tabblad Models. Hier zie je de modellen en kun je onderaan de dimensies en measures kiezen. Meestal kies je de meeste kolommen uit je query als dimensies en maak je van alle numerieke velden een measure met som en soms ook met gemiddelde. Let erop dat de naam van een measure alleen alfanumerieke tekens kan bevatten, dus geen #, % of * in de naam zelf. Per measure kun je daarnaast in het vrij tekstveld Display format bepalen hoe de waarde wordt weergegeven in Lightdash. Voorbeelden:
| Onderwerp | Invoer | Waarde metric | Weergegeven als |
|---|---|---|---|
| Percentages | #,##0.00% | 0.6758 | 67.58% |
#,##0% | 0.6758 | 67% | |
| Nummers | #,##0.00 | 12.2415 | 12.24 |
#,##0 | 12.2415 | 12 | |
| Datums | dddd | 2023-09-05T15:45:00Z | Tuesday |
d/m/yyyy hh:mm | 2023-09-05T15:45:00Z | 5/9/2023 15:45 | |
| Geldbedragen | €#,##0.00 | 12.2415 | €12.24 |
€#,##0 | 12.2415 | €12 | |
| Tekst toevoegen | @" stuks" | 76 | 76 stuks |
Je kunt ook tekst achter een waarde zetten met @" gevolgd door de tekst tussen aanhalingstekens, bijvoorbeeld @" stuks".
In Lightdash kun je measures vergelijken met vorig jaar en/of cumulatief maken. Rechtsboven kun je nog drie hulpschermen zien: een datapreview, de afhankelijkheden en de SQL zoals die wordt uitgevoerd.
Hier kun je het model valideren met de knop Validate - als dat succesvol is kun je klikken op Deploy en wordt de status van draft naar deployed gezet en achter de schermen een dbt run uitgevoerd.
De modellen zie je op twee plaatsen:
- Lightdash: de belangrijkste is dat je deze modellen kunt gebruiken in Lightdash. Opvallend genoeg heten ze binnen de Lightdash-interface "tabellen".
- SQL-editor: deze modellen kun je ook als view zien in de SQL-editor en je kunt er dus ook queries mee maken. Ze zijn zichtbaar onder
analytics_{organisatienaam}, met de tabellen die zijn ingeladen uit de bronnen te vinden onderraw_{organisatienaam}. Je kunt zelfs modellen maken met SQL die weer andere modellen aanroept. Dit kan het makkelijker maken om definities gelijk te trekken, maar let er wel op dat je dan afhankelijkheden introduceert.
Joins tussen modellen
Je kunt modellen aan elkaar koppelen met joins. Dat doe je als volgt:
- Voeg eerst de primary key toe aan het dimensiemodel.
- Voeg daarna in het factmodel een link toe naar dat dimensiemodel.
We adviseren star modelling: één facttabel in het midden, met dimensietabellen eromheen. Zo houd je de structuur overzichtelijk en herbruikbaar in Lightdash.
Meer details over joins in Lightdash: Lightdash: Joins.
Tips voor modellen
- Maak generieke modellen: Probeer modellen zo te maken dat ze generiek bruikbaar zijn, dus in principe per granulariteit één model. Voor elke grafiek of tabel een eigen model maken is uiteindelijk niet handig.
- Zorg voor een duidelijke granulariteit: wees duidelijk wat één regel in het model is, omdat het vaak invloed heeft op de visuals. Er is een verschil tussen factuur en factuurregels, en dat kan een hoop uitmaken.
- Pas de indicatoren aan op deze granulariteit: let op dat je indicatoren kloppen met deze granulariteit. Als bijvoorbeeld dezelfde klant meerdere keren voorkomt in een dataset, werkt een gemiddelde klant-leeftijd iets anders dan mensen wellicht denken.
- Voeg wat extra informatie toe: als iets mogelijk interessant is maar nu niet rechtstreeks gevraagd wordt, is het vaak handig om het nu al toe te voegen. Je maakt het jezelf later vaak makkelijker om extra grafieken of tabellen te maken.
- Let op met privacygevoelige informatie: dit geldt voor informatie die herleidbaar is naar personen. Dit geldt niet alleen voor persoonsnamen, maar ook bijvoorbeeld geboortedatum en exact adres. Vraag je af of je deze moet toevoegen en als het toch nuttig is, probeer het minder herleidbaar te maken door te kiezen voor geboortejaar of viercijferige postcode.
- Vul de beschrijvingen bij indicatoren in: iets kan voor jou nu duidelijk zijn, maar wellicht is dat voor je opvolger over een jaar niet meer. Documenteer zoveel als je kunt.