2013-06-27 20 views
6

分組我正在尋找一種方式來使用來自組織模式議程文件時間跟蹤信息,以建立一個時間表。在不同的任務所花費的時間將表明,通過標籤分組,並限制在一個給定的時限,有點像clocktable動態塊,而是通過標籤來代替文件/分類/標題分組。時間表按標籤

例如,如果我的議程包括下列數據(可能分散在不同的文件中):

* 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收集時鐘信息;會有另一種更有效的做事方式嗎?

+0

我不知道是否有一種方法可以做到這一點,但是有興趣找出了。 – 2013-06-28 06:43:56

回答

9

這裏是我來: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: 
+0

這真的很酷!謝謝!我想只有通過輸入標籤(而不是在每個條目的所有標籤)總結,並會盡量延長你生產什麼(雖然我不是很熟悉Lisp的)。 – RubyTuesdayDONO

+0

哇,這個工程。非常感謝你這樣做。 –