2013-06-27 4 views
6

द्वारा समेकित समय सारिणी मैं समय सारिणी बनाने के लिए संगठन मोड एजेंडा फ़ाइलों से समय ट्रैकिंग जानकारी का उपयोग करने का एक तरीका ढूंढ रहा हूं। विभिन्न कार्यों में बिताए गए समय को इंगित किया जाएगा, टैग द्वारा समूहीकृत और किसी दिए गए समय-सीमा तक सीमित, एक घड़ी के गतिशील गतिशील ब्लॉक की तरह, लेकिन फ़ाइल/श्रेणी/शीर्षक के बजाय टैग द्वारा समूहित किया गया है।टैग

उदाहरण के लिए, मेरे एजेंडे निम्न डेटा निहित अगर (संभवतः अलग फ़ाइलों के बीच बिखरे हुए):

* 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-get-table-data का उपयोग करके एजेंडा फ़ाइलों और टैग के माध्यम से साइकिल चलाने की सोच रहा हूं; क्या चीजों को करने का एक और अधिक कुशल तरीका होगा?

+0

अगर वहाँ यह करने के लिए एक रास्ता है मैं नहीं जानता, लेकिन पता लगाने के लिए रुचि रखते हैं, भी होगा। –

उत्तर

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

यह वाकई अच्छा है! धन्यवाद! मैं केवल इनपुट टैग (प्रत्येक प्रविष्टि में सभी टैग के बजाए) द्वारा सारांशित करना चाहता हूं और आपके द्वारा उत्पादित किए गए विस्तार को बढ़ाने का प्रयास करूंगा (हालांकि मैं लिस्प के साथ बहुत परिचित नहीं हूं)। – RubyTuesdayDONO

+0

वाह, यह काम करता है। यह करने के लिए आपका बहुत धन्यवाद। –