对 org-clock-table 这个功能我的使用有点小问题. 我的需求很简单, 就是想看过去两周每一天花在某个 tag A 上的时间统计, 我想要的就是一个表格, 两列, 一列是日期, 一列是时间, 长这样:
|2024-05-13|2:00|
|2024-05-14|1:53|
|2024-05-15|3:03|
但我通过:
#+BEGIN: clocktable :scope ("schedule.org" "time_stats.org") :maxlevel 4 :tstart "<-2w>" :tend "<now>" :step day :compact t :formula % :match "A|B"
得到的是这样:
每天就会得到一个 table.
所以我有办法能直接让 :step
得到一个总的 table 么?
我也用 clocktable, 不过是统计每周各个一级 header 任务大概花的时间,所以使用和了解的功能很有限,据这个程度的认知,clocktable 应该不直接支持这种需求。
可能要用 org-ql 或者自己写一些更细的 elisp 代码来实现。
发散一下:
统计时间信息的需求,仅在 emacs 内部处理很难达到一个心满意足的状态,解决了这个具体问题,下次想看某个时间段对某个主题花了多少时间又需要花很多心思。更彻底地把这类需求打包解决的方案,可能要采用 org-roam 的思路,把这些带时间的orgheader信息存在一个数据库,然后用类似 org-roam-ui 这种 web 可视化前端,提供各种过滤选项和可视化方式,饼图,折线图这类,甚至要加上一些 AI的接口,比如问,“去年夏天我都把时间浪费在哪里了?”,AI能够翻译成特定的时间段的解析类的 DSL,查询数据库,然后返回一段总结、时间统计表格和可视化图片(否则又会陷入手写类似 sql 语句的循环中)。这是我理想的时间统计功能的完整解决方案,这类应用成熟之前,都不太会想去折腾,所以还是只用 orgclock 提供的最基本功能。