Obsidian Dataview: praktische gids met query's om te kopiëren
Dataview is de communityplug-in die een Obsidian-vault doorzoekbaar maakt als een database. Je blijft gewone notities schrijven, zet bovenaan een paar eigenschappen, en Dataview maakt er levende lijsten en tabellen van: elk project dat deze maand af moet, elk boek dat je nu leest, elke klant die je al twee maanden niet gebeld hebt. Er wordt niets gekopieerd of geëxporteerd, dus de tabellen veranderen zodra een notitie verandert. Deze gids behandelt de query's die je echt gaat gebruiken, met voorbeelden uit de dashboards van onze eigen vaults.
Wat de Obsidian Dataview-plug-in doet
Dataview leest drie soorten gegevens uit je notities. Eigenschappen zijn het YAML-blok bovenaan een notitie, tussen twee regels met drie streepjes. Inline velden schrijf je in de tekst als sleutel:: waarde, of tussen vierkante haken op een taakregel. Impliciete velden kent Obsidian al, zoals file.name, file.ctime, file.tags en file.link. Een query is een codeblok met de taal dataview, dat in de leesweergave verschijnt als lijst, tabel, takenlijst of kalender. Een notitie met eigenschappen ziet er zo uit:
---
status: actief
due: 2026-11-27
owner: Lina
---
# Nieuwe websiteDe sleutels (status, due, owner) blijven Engels, ook als de waarden Nederlands zijn. Dataview accepteert Nederlandse sleutels, maar sjablonen van andere makers gebruiken bijna altijd Engelse, en met één vaste set sleutels kun je query's tussen vaults uitwisselen. Zo werken al onze vaults.
Dataview installeren en je eerste query schrijven
Open Instellingen, Externe plug-in, zet de beperkte modus uit als die nog aanstaat, kies Doorbladeren en zoek op Dataview. Installeren, inschakelen, klaar: voor de eerste query hoef je niets in te stellen. Maak een notitie, voeg een codeblok met de taal dataview toe en begin met de eenvoudigste query, een lijst van alle notities in een map:
```dataview
LIST
FROM "Projecten"
```In de leesweergave wordt het blok een lijst met links. Vervang LIST door TABLE, noem de eigenschappen die je als kolommen wilt en je hebt een projectoverzicht:
```dataview
TABLE status, due, owner
FROM "Projecten"
WHERE status = "actief"
SORT due ASC
```De syntax van Dataview-query's: FROM, WHERE, SORT en GROUP BY
Elke query begint met het type, LIST, TABLE, TASK of CALENDAR, gevolgd door optionele opdrachten die op volgorde draaien. FROM kiest de bron: een map tussen aanhalingstekens, een tag zoals #boek of [[]] voor notities die naar de huidige linken. Bronnen combineer je met AND, OR en een min ervoor om uit te sluiten. WHERE houdt alleen de rijen over die kloppen, bijvoorbeeld WHERE status = "actief" of WHERE due <= date(today). SORT sorteert op een of meer velden, oplopend of aflopend, en LIMIT beperkt het aantal rijen. De opdrachten blijven Engels, ook als mappen en waarden Nederlands zijn.
Met GROUP BY worden tabellen echt nuttig. Het voegt rijen met dezelfde waarde samen tot één rij per groep, en de oorspronkelijke notities komen in een lijst die rows heet, die je telt met length(rows) of optelt met sum(rows.value). De groepswaarde zelf heet key. Deze query telt projecten per status:
```dataview
TABLE rows.file.link AS "Notes", length(rows) AS "Count"
FROM "Projecten"
GROUP BY status
```Twee details laten bijna iedereen struikelen. Een eigenschapsnaam met een streepje zou als aftrekking gelezen worden, dus schrijf je die als row["date-started"], zoals onze vault voor boeknotities de leesdata uitleest. En WITHOUT ID na TABLE verbergt de automatische eerste kolom met bestandsnamen, als je zelf de eerste kolom wilt kiezen.
Taken in Obsidian met Dataview: selectievakjes in de hele vault opvragen
Een TASK-query geeft de selectievakjes zelf terug in plaats van de notities, en je kunt ze in de resultaten direct afvinken. Dataview leest een deadline die als inline veld op de taakregel staat, en begrijpt ook de 📅-datum van de Tasks-plug-in:
- [ ] Aangepaste offerte sturen [due:: 2026-10-28]```dataview
TASK
FROM "Projecten"
WHERE !completed AND due AND due <= date(today)
GROUP BY file.link
```Staan taken centraal in je systeem, dan heeft de Tasks-plug-in de rijkere syntax en herhalingen, en onze gids over taken in Obsidian vergelijkt de twee. Dataview is de betere keuze als taken één onderdeel zijn van een dashboard dat ook notities en eigenschappen laat zien.
Voorbeelden van Dataview-tabellen uit onze vaults
Elke query in dit deel draait in een vault die je kunt downloaden: open hem en zie het resultaat op echte gegevens. De projectmanagement-vault toont actieve projecten op deadline. De D&D-campagnevault groepeert op het spelleidersscherm elke NPC per locatie met GROUP BY location. De vault voor boeknotities laat zien wat je nu leest en wat je uit hebt, met je beoordeling. De studentenvault toont opdrachten vanaf vandaag met WHERE due AND due >= date(today). Het verst gaat ons Obsidian CRM-sjabloon: opvolgingen van deze week, pipelinewaarde per fase en contacten die je al 60 dagen niet gesproken hebt, met date(today) - last_contact > dur(60 days).
Obsidian Dataview vs Bases
Bases is een kernplug-in die in 2025 bij Obsidian kwam. Ook Bases maakt van eigenschappen tabellen, maar je bouwt de weergave met klikken in plaats van met een query, en je kunt waarden direct in de tabel aanpassen. Een base wordt opgeslagen als .base-bestand met leesbare YAML als definitie:
filters:
and:
- file.inFolder("Projecten")
views:
- type: table
name: All
groupBy:
property: status
direction: ASCKies Bases voor een bewerkbare weergave in spreadsheetstijl van notities en eigenschappen, zonder iets te installeren. Houd Dataview voor wat Bases niet kan: query's midden in een notitie, taakquery's, links tussen notities als bron, rekenen met datums zoals "al 60 dagen niet aangeraakt" en JavaScript-query's met DataviewJS. Veel vaults gebruiken allebei, en de CRM-vault heeft naast het Dataview-dashboard een pipeline in Bases, zodat je ze op dezelfde gegevens kunt vergelijken.
Waarom een Dataview-query geen resultaten toont
De meeste lege tabellen hebben een van deze vier oorzaken, en twee daarvan zijn typisch Nederlands. De eerste is de datum. due: 28-10-2026 slaat Dataview op als tekst, dus de vergelijking met date(today) klopt nooit: schrijf datums altijd als JJJJ-MM-DD. De tweede zijn decimalen. bedrag: 1.500,50, met punt en komma, is voor Dataview ook tekst, en sum() slaat het over. Schrijf bedragen als 1500.50 of zonder decimalen. De andere twee gelden overal: de map in FROM klopt niet met het echte pad, dat hoofdlettergevoelig is en voor submappen volledig moet zijn, of je zit nog in de bewerkweergave, waar de query als code verschijnt. Wil je de datums in tabellen als 28-10-2026 zien, vul dan in de instellingen van Dataview bij het datumformaat dd-MM-yyyy in. Dat veld gebruikt de codes van Luxon, met een kleine yyyy, en niet die van de Obsidian-sjablonen.