Dataview in Obsidian: guida pratica con query da copiare
Dataview è il plugin della community che rende interrogabile un vault di Obsidian. Continui a scrivere note normali, aggiungi qualche proprietà in cima a ciascuna e Dataview ne ricava elenchi e tabelle sempre aggiornati: ogni progetto in scadenza questo mese, ogni libro che stai leggendo, ogni cliente che non senti da due mesi. Non copia né esporta nulla, quindi le tabelle cambiano appena cambia una nota. Questa guida copre le query che userai davvero, con esempi presi dalle dashboard dei nostri vault.
Cosa fa il plugin Dataview di Obsidian
Dataview legge tre tipi di dati dalle note. Le proprietà sono il blocco YAML in cima alla nota, tra due righe di tre trattini. I campi in linea si scrivono nel testo come chiave:: valore, oppure tra parentesi quadre sulla riga di un'attività. I campi impliciti sono quelli che Obsidian conosce già, come file.name, file.ctime, file.tags o file.link. Una query è un blocco di codice con linguaggio dataview, che in modalità lettura appare come elenco, tabella, lista di attività o calendario. Una nota con proprietà si presenta così:
---
status: attivo
due: 2026-11-27
owner: Lina
---
# Restyling del sitoLe chiavi (status, due, owner) restano in inglese anche quando i valori sono in italiano. Dataview accetta chiavi in italiano, ma una lettera accentata come in priorità va riscritta identica in ogni query, e i modelli presi da altre fonti usano quasi sempre chiavi inglesi. È la convenzione di tutti i nostri vault.
Installare Dataview e scrivere la prima query
Apri Impostazioni, Plugin di terze parti, disattiva la modalità limitata se è ancora attiva, scegli Sfoglia e cerca Dataview. Installalo, attivalo e hai finito: prima della prima query non c'è nulla da configurare. Crea una nota, aggiungi un blocco di codice con linguaggio dataview e parti dalla query più semplice, l'elenco di tutte le note di una cartella:
```dataview
LIST
FROM "Progetti"
```In modalità lettura il blocco diventa un elenco di link. Sostituisci LIST con TABLE, indica le proprietà che vuoi come colonne e hai un tracker dei progetti:
```dataview
TABLE status, due, owner
FROM "Progetti"
WHERE status = "attivo"
SORT due ASC
```La sintassi delle query Dataview: FROM, WHERE, SORT e GROUP BY
Ogni query comincia con il suo tipo, LIST, TABLE, TASK o CALENDAR, seguito da comandi facoltativi eseguiti in ordine. FROM sceglie la fonte: una cartella tra virgolette, un tag come #libro oppure [[]] per le note che puntano a quella corrente. Le fonti si combinano con AND, OR e un segno meno davanti per escludere. WHERE tiene solo le righe che corrispondono, per esempio WHERE status = "attivo" o WHERE due <= date(today). SORT ordina per uno o più campi, in modo crescente o decrescente, e LIMIT limita il numero di righe. Le parole della query restano in inglese, anche se cartelle e valori sono in italiano.
GROUP BY è ciò che rende utili le tabelle. Raccoglie le righe con lo stesso valore in una riga per gruppo, e le note originali finiscono in un elenco chiamato rows, che puoi contare con length(rows) o sommare con sum(rows.value). Il valore del gruppo si chiama key. Questa query conta i progetti per stato:
```dataview
TABLE rows.file.link AS "Notes", length(rows) AS "Count"
FROM "Progetti"
GROUP BY status
```Due dettagli fanno inciampare quasi tutti. Un nome di proprietà con il trattino verrebbe letto come una sottrazione, quindi va scritto row["date-started"], che è il modo in cui il nostro vault delle note di lettura legge le date. E WITHOUT ID dopo TABLE nasconde la prima colonna automatica con i nomi dei file, quando vuoi scegliere tu la prima colonna.
Attività con Dataview in Obsidian: interrogare le caselle di tutto il vault
Una query TASK restituisce le caselle, non le note, e puoi spuntarle direttamente nei risultati. Dataview legge una scadenza scritta come campo in linea sulla riga dell'attività, e capisce anche la data 📅 del plugin Tasks:
- [ ] Inviare il preventivo rivisto [due:: 2026-10-28]```dataview
TASK
FROM "Progetti"
WHERE !completed AND due AND due <= date(today)
GROUP BY file.link
```Se le attività sono il centro del tuo sistema, il plugin Tasks ha una sintassi più ricca e le ricorrenze, e la nostra guida alle attività in Obsidian mette a confronto i due. Dataview è la scelta migliore quando le attività sono solo una parte di una dashboard che mostra anche note e proprietà.
Esempi di tabelle Dataview dai nostri vault
Ogni query di questa sezione gira in un vault che puoi scaricare: aprilo e vedi il risultato su dati reali. Il vault di gestione progetti elenca i progetti attivi per scadenza. Il vault per campagne D&D raggruppa ogni PNG per luogo nello schermo del master con GROUP BY location. Il vault per le note di lettura mostra cosa stai leggendo e cosa hai finito, con il voto. Il vault per studenti elenca le consegne da oggi in poi con WHERE due AND due >= date(today). Il nostro modello CRM per Obsidian va più lontano di tutti: richiami della settimana, valore della pipeline per fase e contatti che non senti da 60 giorni, con date(today) - last_contact > dur(60 days).
Dataview o Bases in Obsidian
Bases è un plugin principale arrivato in Obsidian nel 2025. Anche lui trasforma le proprietà in tabelle, ma la vista si costruisce con i clic invece che scrivendo una query, e i valori si modificano direttamente nella tabella. Una base si salva in un file .base la cui definizione è YAML leggibile:
filters:
and:
- file.inFolder("Progetti")
views:
- type: table
name: All
groupBy:
property: status
direction: ASCUsa Bases quando vuoi una vista modificabile, tipo foglio di calcolo, delle note e delle loro proprietà, senza installare nulla. Tieni Dataview per quello che Bases non fa: query inserite in mezzo a una nota, query sulle attività, link tra note come fonte, calcoli sulle date come "non toccato da 60 giorni" e query JavaScript con DataviewJS. Molti vault usano entrambi, e il vault CRM include una pipeline in Bases accanto alla dashboard Dataview, così puoi confrontarli sugli stessi dati.
Perché una query Dataview non mostra risultati
Quasi tutte le tabelle vuote hanno una di queste quattro cause, e due sono molto italiane. La prima è la data. due: 28/10/2026 viene salvato come testo, e il confronto con date(today) non torna mai: scrivi sempre AAAA-MM-GG. La seconda sono i decimali. importo: 1.500,50, con punto delle migliaia e virgola, per Dataview è testo, e sum() lo salta. Scrivi gli importi come 1500.50 o senza decimali. Le altre due valgono ovunque: la cartella del FROM non coincide con il percorso reale, che distingue le maiuscole e va scritto per intero per le sottocartelle, oppure sei ancora in modalità modifica, dove la query appare come codice. Per vedere le date come 28/10/2026 nelle tabelle, nelle impostazioni di Dataview scrivi dd/MM/yyyy nel formato data. Quel campo usa i codici di Luxon, con yyyy minuscolo, e non quelli dei modelli di Obsidian.