按标签分组的时间表 [英] Timetable grouped by tag

查看:0
本文介绍了按标签分组的时间表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在寻找一种方法来使用组织模式议程文件中的时间跟踪信息来构建时间表。花在不同任务上的时间会被显示出来,按标签分组,并被限制在给定的时间范围内,有点像时钟动态块,但按标签而不是文件/类别/标题分组。

例如,如果我的议程包含以下数据(可能分散在不同的文件中):

* TODO project 1
** TODO task 1                                                  :tag1:
   :LOGBOOK:
   CLOCK: [2013-06-27 Thu 18:00]--[2013-06-27 Thu 19:04] =>  1:04
   CLOCK: [2013-06-26 Wed 17:00]--[2013-06-26 Wed 17:32] =>  0:32
   :END:
** TODO task 2                                                  :tag2:
   :LOGBOOK:
   CLOCK: [2013-06-27 Thu 17:00]--[2013-06-27 Thu 18:00] =>  1:00
   CLOCK: [2013-06-27 Thu 15:00]--[2013-06-27 Thu 15:50] =>  0:50
   :END:

* TODO project 2                                                :tag2:
  :LOGBOOK:
  CLOCK: [2013-06-27 Thu 19:04]--[2013-06-27 Thu 21:00] =>  1:56
  CLOCK: [2013-06-27 Thu 15:50]--[2013-06-27 Thu 17:00] =>  1:10
  :END:

我希望得到这样的结果:

#+BEGIN: clocktable-by-tag :maxlevel 2 :tags ("p1" "p2") :tstart "2013-06-27" :tend "2013-06-28"
| Tag  | Headline        | Time   |      |
|------+-----------------+--------+------|
| tag1 | *Tag time*      | *1:04* |      |
|      | TODO project 1  | 1:04   |      |
|      | \__ TODO task 1 |        | 1:04 |
|------+-----------------+--------+------|
| tag2 | *Tag time*      | *4:56* |      |
|      | TODO project 1  | 1:50   |      |
|      | \__ TODO task 2 |        | 1:50 |
|      | TODO project 2  | 3:06   |      |
#+END:

对于org有什么标准的方法来实现这一点吗?如果没有,我正在考虑循环浏览议程文件和标签,使用org-get-table-data来收集时钟信息;还会有其他更高效的方式吗?

推荐答案

我得出的结论如下:https://gist.github.com/ffevotte/5899058

它不是很优化,但似乎完成了工作,应该支持大多数clocktable动态块参数。

我的真实组织议程文件的示例(匿名)输出:

#+BEGIN: clocktable-by-tag :tags ("p_f3c" "p_sc") :tstart "2013-01-01" :tend "2013-05-19" :maxlevel 2
| Tag   | Headline                     | Time (h) |       |      |
|       |                              |      <r> |       |      |
|-------+------------------------------+----------+-------+------|
| p_f3c | *Tag time*                   |  *18.42* |       |      |
|       | File *xxx.org*               |    18.42 |       |      |
|       | . xxxxxxxxxxxxxxxxxxx        |          | 13.03 |      |
|       | . \__ xxxxxxxxxxxxx          |          |       | 7.78 |
|       | . \__ xxxxxxxxxxxxxxxxxxxxx  |          |       | 3.98 |
|       | . xxxxxxxxxxxxxxxxxx         |          |  5.38 |      |
|       | . \__ xxxxxxxxxxxxxxx        |          |       | 5.38 |
|-------+------------------------------+----------+-------+------|
| p_sc  | *Tag time*                   |  *18.90* |       |      |
|       | File *yyyy.org*              |     4.42 |       |      |
|       | . xxxxxxxxxxxxxxxxxxxxxx     |          |  2.83 |      |
|       | . xxxxxxxxxxxxxxxxxx         |          |  1.58 |      |
|       | . \__ xxxxxxxxxxxxxxxxxxxxxx |          |       | 1.58 |
|       | File *todo.org*              |    14.48 |       |      |
|       | . xxxxxxxxxxxxxxxx           |          | 14.48 |      |
|       | . \__ xxxxxxxxxxx            |          |       | 2.00 |
|       | . \__ xxxxxxxxxxxxx          |          |       | 8.48 |
|       | . \__ xxxxx                  |          |       | 4.00 |
#+END:

这篇关于按标签分组的时间表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆