每日总计,按标记

时间:2014-11-03 21:24:23

标签: emacs report org-mode

我最近开始使用org-mode(和Emacs一般),我喜欢时间跟踪元素。它可能是第一个能够准确反映我之前在我的纸质系统中为我工作的解决方案。

我对报告功能并不太熟悉,所以这个问题更适合作为指导:

是否可以生成给定周的报告,总计每天在代码上花费的时间?

例如:

Monday
2 hrs :support:
3 hrs :support:
1 hr  :meetings:

然后从那里为我制作一张表,其中包含周一,周二等的总数:

Monday
Total :support: 5 hrs
Total :meetings: 1hr

格式不相关,更重要的是能够自动执行我当前手动执行的操作 - 每天添加标签并登录时间表应用程序。

请记住,我仍然在学习,如果我自己想出一个解决方案,我会把它包含在这里。

干杯!

1 个答案:

答案 0 :(得分:1)

如果您还没有到达那里,那么您正在寻找的是org-mode中的时钟表。有关详细信息,请参阅here

有很多方法可以过滤和分解所提供的信息。作为一个例子,我使用下面的时钟表来获取我按日分解的 last 周的报告;然后我在填写时间表时使用它。

#+BEGIN: clocktable :maxlevel 3 :scope agenda-with-archives :block lastweek :step day :fileskip0 :formatter :link 2 :indent t :narrow 79 :formula % :tags "-NOCLOCK"
#+END:

如果您阅读了组织模式手册的链接,这是相当不言自明的。 -NOCLOCK代码过滤器允许我标记某些任务,使其永远不会出现在报告中。例如,我将此用于午餐'

一旦您编写了这个时钟表规范,只需将其放入其中并按 C-c C-c

然后,这会给你一个如下所示的时钟表(本例中只显示星期一,并且该报告的测试数据非常有限,但你明白了):

Daily report: [2014-11-24 Mon]
 File        Headline                                                                Time              % 
---------------------------------------------------------------------------------------------------------
             ALL *Total time*                                                      *0:25*          100.0 
---------------------------------------------------------------------------------------------------------
 agenda.org  *File time*                                                           *0:14*           56.0 
             [Org-mode maintenance]                                                  0:14           56.0 
               [STARTED {#B} Weekly review]                                                0:14     56.0 
---------------------------------------------------------------------------------------------------------
 work.org    *File time*                                                           *0:11*           44.0 
             [Default task to soak up time when not clocked into a specific task]    0:11           44.0 
               [STARTED Non-specific work activity]                                        0:11     44.0 

根据任务细分,时间很好地分解,在每个级别进行总结。

你问过为标签做这件事;您可以使用时钟表定义上的tags过滤器参数来实现这一点,或者将它们汇总到同一个表中,或者为每个标记分别使用表。