--- cssclasses: - wide-page --- ```dataviewjs const zip = (a, b) => a.map((k, i) => [k, b[i]]); let workout = [ "Pullup", "Pushup", "Barbell squat" ] let folderName = "03 - Sport/Exercises" let pages = Array.from(workout, ex => `"${folderName}/${ex}.md"`) let pagesAsStr = pages.join(" or ") let muscleGroups = [ "Name", "Biceps", "Triceps", "Front delts", "Side delts", "Rear delts", "Pecs", "Abs", "Rotator cuff", "Upper traps", "Mid/lower traps", "Lats", "Spine erectors", "Quads", "Hamstrings", "Glutes", "Leg adductors", "Leg abductors", "Calves" ] dv.table(muscleGroups, dv.pages(pagesAsStr) .map(ex => Array.from(muscleGroups, group => ex[group]))) let totals = muscleGroups.reduce((ac,a) => ({...ac,[a]:0}),{}); console.log(dv.pages(pagesAsStr) .map(ex => Array.from(muscleGroups, group => totals[group] += ex[group]))) totals.Name = "Totals" dv.table(muscleGroups, [Object.values(totals)]) ```