diff options
author | Benjamin Chausse <benjamin@chausse.xyz> | 2024-10-31 16:16:59 -0400 |
---|---|---|
committer | Benjamin Chausse <benjamin@chausse.xyz> | 2024-10-31 16:16:59 -0400 |
commit | 757db4cabab88f692b7dc3ee06e9e3b7b0c58cf7 (patch) | |
tree | 462cc134eea743f5ee4d00db76adc39a94f8b62f /templates/Summary.md | |
parent | b987be4bbb4c6729eebbaa7e63e6e04cf505dc19 (diff) |
chp2 continues
Diffstat (limited to 'templates/Summary.md')
-rw-r--r-- | templates/Summary.md | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/templates/Summary.md b/templates/Summary.md new file mode 100644 index 0000000..83e4436 --- /dev/null +++ b/templates/Summary.md @@ -0,0 +1,41 @@ +```dataviewjs +const folder = "Path/To/Base" +const groups = await dv.query(` + list WITHOUT id file.folder + FROM "${folder}" + WHERE any(hours) +`) +const groupList = [ + ...new Set(groups.value.values) +] + +groupList.forEach(async (group) => { + const result = await dv.query(` + TABLE WITHOUT id file.link AS "${group.replace(folder + "/", "")}", sum(hours) AS "Hours", + project AS "Project", file.name + FROM "${group}" + `) + + if (result.successful) { + const values = result.value.values + const headers = result.value.headers.slice(0, -1); + dv.table( + headers, + values.map(r => { + if (!Array.isArray(r[2])) { + r[2] = [r[2]] + } + + return [ + r[0], r[1], // Keep these as is + [ + r[3], + ...new Set(r[2]) + ] + ] + }) + ) + } else + dv.paragraph("~~~~\n" + result.error + "\n~~~~") +}) +```
\ No newline at end of file |