summaryrefslogtreecommitdiff
path: root/templates/Summary.md
diff options
context:
space:
mode:
authorBenjamin Chausse <benjamin@chausse.xyz>2024-10-31 16:16:59 -0400
committerBenjamin Chausse <benjamin@chausse.xyz>2024-10-31 16:16:59 -0400
commit757db4cabab88f692b7dc3ee06e9e3b7b0c58cf7 (patch)
tree462cc134eea743f5ee4d00db76adc39a94f8b62f /templates/Summary.md
parentb987be4bbb4c6729eebbaa7e63e6e04cf505dc19 (diff)
chp2 continues
Diffstat (limited to 'templates/Summary.md')
-rw-r--r--templates/Summary.md41
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