2013-06-27 11 views
6

grubuna göre gruplandırılmış Zaman çizelgesi oluşturmak için org modu gündem dosyalarından zaman takibi bilgilerini kullanmanın bir yolunu arıyorum. Farklı görevlerde harcanan zaman belirtilir, etiketle gruplandırılır ve belirli bir zaman dilimi ile sınırlandırılır, bir zaman çizelgesi dinamik bloğu gibi bir çeşit, ancak dosya/kategori/başlık yerine etiketle gruplandırılır. Benim gündemi aşağıdaki verileri içeriyorsaÇizelge,

Örneğin, (muhtemelen farklı dosyalar arasında dağılmış):

* 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: 

Sonuçlardan bu tür almak istiyorum:

#+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: 

herhangi bir standart var mıdır Bunu org ile yapmanın yolu? Değilse, saat bilgileri toplamak için org-get-table-data kullanarak gündem dosyaları ve etiketler arasında dolaşmayı düşünüyorum; Bir şeyler yapmanın daha etkili bir yolu var mıydı?

İşte
+0

Bunu yapmanın bir yolu varsa bilmiyorum, ama çok, öğrenmek için ilgi olacaktır. –

cevap

9

ne geldiniz edilir: https://gist.github.com/ffevotte/5899058

Çok optimize edilmemiş fakat işin yapılması için görünüyor ve clocktable dinamik blok argümanlar çoğu desteklemelidir.

Numune benim gerçek org gündemi dosyalarda (anonim) çıkışı:

#+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

gerçekten havalı! teşekkür ederim! Sadece giriş etiketleriyle (her girdideki tüm etiketler yerine) özetlemek istiyorum ve ürettiklerinizi genişletmeye çalışacağım (Lisp'e çok aşina olmamasına rağmen). – RubyTuesdayDONO

+0

Vay, bu işe yarıyor. Bunu yaptığınız için çok teşekkür ederim. –

İlgili konular