Avec Dataview pour Obsidian, comment configurer le...
Créé le : 21 juillet 2025
Créé le : 21 juillet 2025
Avec Dataview pour Obsidian, comment configurer le tableau de listes excluant les listes sans mot ?
Voici une façon simple – et “tout Dataview” – d’afficher une colonne de listes en ignorant les entrées vides (et en excluant les notes dont la liste est entièrement vide).
Supposons un champ YAML appelé
liste
:yamlliste: - Paris - # ← ligne vide ou blanc seul - Tokyo
dataviewTABLE join( filter(liste, (el) => !regexmatch("^\\s*$", el)), ", " ) AS "Liste filtrée" WHERE liste
filter()
prend la liste et ne garde que les éléments dont le contenu n’est pas uniquement des espaces (regexmatch("^\\s*$", el)
retourne true
quand la chaîne est vide ou blanc).join()
assemble ensuite ce qui reste dans une seule cellule, séparé par des virgules.Ajoutez un deuxième WHERE
qui teste qu’il reste au moins un mot :
dataviewTABLE join( filter(liste, (el) => !regexmatch("^\\s*$", el)), ", " ) AS "Liste filtrée" WHERE liste WHERE length( filter(liste, (el) => !regexmatch("^\\s*$", el)) ) > 0
Ainsi :
Si vous préférez travailler élément par élément :
dataviewFLATTEN liste AS item WHERE !regexmatch("^\\s*$", item) GROUP BY file.name TABLE array(item) AS "Liste filtrée"
FLATTEN
déplie la liste.GROUP BY
recompose par note et array(item)
re-fait la liste filtrée.regexmatch("^\\s*$", el)
repère à la fois la chaîne vide et les blancs/retours à la ligne.
Vous pouvez remplacer par
trim(el) = ""
si vous utilisez Dataview v0.6+.
filter()
+ join()
suffisent lorsque vous voulez juste nettoyer l’affichage.WHERE
indispensable pour ne pas montrer les notes complètement vides.Adaptez simplement le nom du champ YAML (liste
) et le séparateur de join()
à vos besoins.