Adding calculations based on time to the Org Agenda clock report
Posted: - Modified: | emacs, orgDuplicating this answer on my blog in case StackOverflow goes away. =)
Leo asked:
I’m trying to make the Agenda Clockreport show how many pomodoros I’ve invested in a task. A Pomodoro is 25 minutes. For example, 1:15 hours of work is 3 pomodoros.
I’m trying to customize org-agenda-clockreport-paramater-plist, and I would like to extract “Time” and convert it to a pomodoro. I.e., (time in minutes / 25) = pomodoro.
I wrote:
This will create a column in your clocktable report that sums the hours from columns 3 and 4, and then another column that shows you the round number of pomodoros that took up.
(setq org-agenda-clockreport-parameter-plist '(:link t :maxlevel 2 :formula "$5=$3+$4;t::$6=ceil($5*60/25);N"))If you don’t want in-between columns, here’s a totally hackish approach:
(defun my/org-minutes-to-clocksum-string (m) "Format number of minutes as a clocksum string. Shows the number of 25-minute pomodoros." (format "%dp" (ceiling (/ m 25)))) (fset 'org-minutes-to-clocksum-string 'my/org-minutes-to-clocksum-string)Alternatively, you can use
:formatter
, but the formatting function looks very long and annoying to change.
Leo eventually configured it with:
(setq org-agenda-clockreport-parameter-plist '(:fileskip0 t :link t :maxlevel 2 :formula "$5=($3+$4)*(60/25);t"))
(He didn’t mind the decimals, I guess! =) )