org-mode:毎日の稼働時間のクロックレポートを生成する方法


16

org-clock-reportすごい; ただし、各タスクに費やされた時間を報告します。毎日、タスク全体の作業時間を示すクロックレポート生成するために使用するカスタムコマンドはありますか?

私が遭遇した問題は、TODOキャプチャをfile+datetreeエントリの下にファイルすることです。たとえば、1つのTODOタスクが-2日目に提出される可能性がありますが、私は-2日目、-1日目、および今日、それに取り組んでいる可能性があります。したがって、単純にテーブルを生成すると、次のようになります。

#+BEGIN: clocktable :maxlevel 4 :scope file :block thisweek 
#+CAPTION: Clock summary at [2017-09-23 Sat 11:48], for week 2017-W38.
| Headline                              | Time      |         |       |       |
|---------------------------------------+-----------+---------+-------+-------|
| *Total time*                          | *1d 0:12* |         |       |       |
|---------------------------------------+-----------+---------+-------+-------|
| 2017                                  | 1d 0:12   |         |       |       |
| \_  2017-09 September                 |           | 1d 0:12 |       |       |
| \_    2017-09-11 Monday               |           |         |  1:23 |       |
| \_      look into AAA BBBB project    |           |         |       |  
| \_    2017-09-15 Friday               |           |         |  3:33 |       |
| \_      look into XXX YYYY project    |           |         |       |  3:33 |
#+END:

2番目のTODOタスクがに提出されたことに注意してください2017-09-15 Friday。これは、タスクを入力した日付です。しかし、実際には、金曜日や土曜日などに作業した可能性があります。次のようなレポートを生成して、毎日何時間作業したかを示す別のコマンドが欲しいだけです。

2017-09-11 Monday     xx hours yy mins worked (across all tasks)
...
2017-09-15 Friday     zz hours tt mins worked (across all tasks)

前もって感謝します。


副次的な質問:このユースケースは、日付ツリーの下にTODOタスクを提出してはならないことを示していますか?
コビ2017

回答:


16

これはあなたの質問に対する部分的な解決策であると考えるかもしれません。

:step dayクロックテーブル行に含めると、いくつかのクロックテーブルが出力されます。例では、現在の週に1日1つです。

これは、1日あたりにどのタスクが処理されたかを表示するという質問の最初の部分に回答しますが、それらのタスクは、それらのタスクを作成したときの日付ツリー構造に基づく階層の下に表示されます。maxlevel 0時計台にも含めると、タスクの一覧が表示されない毎日の合計のみが表示されます。これは、希望する単純なリスト形式ではありませんが、要求したデータを取得すると思います。

マニュアルの適切な部分へのリンク:http : //orgmode.org/manual/The-clock-table.html

TODOタスクが日付ツリー構造に適しているかどうかに関する質問の2番目の部分は、個人的な選択にあると思います。一方で、追加された日時に応じて大きなファイル内のタスクを簡単に見つけることができます(ただし、カスタムアジェンダビューでも同じことができると思います)一方で、タスクを階層にグループ化することはできません。大規模プロジェクトの場合。これらのオプションの選択は、org-modeの使用方法によって異なります。

私の個人的な選択は、日付ツリーは「ジャーナル」タイプのエントリ(例:毎日何が行われたかに関するメモ)に適しているが、タスクはプロジェクト階層にファイルされているが、単一の正しい方法はないということです。


7
ありがとうございました! #+BEGIN: clocktable :maxlevel 0 :scope file :step day :tstart "<-1w>" :tend "<now>" :compact tうまく機能しているようで、望ましい形式を提供します。フォローアップ:これをいくつかのキーにバインドする簡単な方法はありますか?そのため、このようなテーブルを組織ファイルの任意の場所に簡単にポップできますか?現在、これを固定ファイル、固定位置に配置してから、C-c C-x C-r更新する必要があります。
コビ

2
@Covi。助かりました。応答時間が遅いため申し訳ありません。インタラクティブな関数を記述してそれをキーにバインドすることもできますが、すべてのテキストであるため、プロセスをキーボードマクロとして記録しないでください(クロックテーブルの開始/終了行に入力し、上に移動し、Cc Ccを実行して再計算します)。 、次にそのマクロを新しい関数(init.elに追加できる)として保存しますか?関連リンク:emacswiki.org/emacs/KeyboardMacrosTricksgnu.org/software/emacs/manual/html_node/emacs/...
スチュアートHickinbottom

月曜日などの特定の曜日に常にレポートを開始する方法はありますか?例えば。今週の真ん中にいてを設定すると:tstart "<-2w>"、先週と今週を見たいだけでなく、前々週の最後の数日も表示されます。に似ていorg-agenda-start-on-weekdayますか?
kshenoy

@kshenoy :block thisweek月曜日から始まる今週の7日だけを表示するために使用します。それは上書きされます:tstart:tend。前週の7日間を示す別のレポートが必要な場合は、を使用します:block lastweek
spk
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.