Je cherche à faire un graphique à barres (Chart) avec le pluging tracker mais je bute sur la récupération des données que j’ai générées dans un tableau dans le même note.
Le tableau de données
Voici la requête dataviewjs comportant les données
// Crée une variable pour stocker les tâches filtrées
let tasksByDate = {};
// Parcourir toutes les pages et leurs tâches
dv.pages()
.file.tasks
// Filtrer les tâches selon les conditions : créées dans les 30 derniers jours et contenant "#SOLLICITATION"
.filter(t => t.created && t.created > dv.date("today") - dv.duration("30 days") && t.text.includes("#SOLLICITATION"))
// Pour chaque tâche, incrémenter le compteur pour la date de création correspondante
.forEach(t => {
let creationDate = t.created.toFormat("yyyy-MM-dd");
if (!tasksByDate[creationDate]) {
tasksByDate[creationDate] = 0;
}
tasksByDate[creationDate]++;
});
// Convertir l'objet en tableau de paires [Date, Nombre de tâches] et trier par date
let tableData = Object.entries(tasksByDate).sort((a, b) => dv.date(a[0]) - dv.date(b[0]));
// Afficher le tableau avec les colonnes "Date de création" et "Nombre de tâches"
dv.table(["Date de création", "Nombre de tâches"], tableData);
Le graphique :
Ce que j’ai essayé (code Tracker)
searchType: table
searchTarget: tableData
bar:
title: Nb sollicitation 30 deniers jours
yAxisLabel: Sollicitation
yAxisUnit: Nb
yMin: 0
barColor:
allowInspectData: true
xAxisTickInterval: 1d
yAxisTickInterval: 1
Merci pour votre aide