From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bernt Hansen Subject: Re: Timesheet from clocking data Date: Thu, 21 Apr 2011 17:55:51 -0400 Message-ID: <87ipu7e0bc.fsf@norang.ca> References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([140.186.70.92]:50329) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QD1r1-0002PA-NE for emacs-orgmode@gnu.org; Thu, 21 Apr 2011 17:56:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QD1qz-0005gh-Pq for emacs-orgmode@gnu.org; Thu, 21 Apr 2011 17:56:03 -0400 Received: from mho-03-ewr.mailhop.org ([204.13.248.66]:26321 helo=mho-01-ewr.mailhop.org) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QD1qz-0005fT-NQ for emacs-orgmode@gnu.org; Thu, 21 Apr 2011 17:56:01 -0400 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Aankhen Cc: Org mailing list Aankhen writes: > Greetings, > > Given an Org file with clocking data, is there a way to generate a > timesheet? This would complement the clock table by focusing on the > timings rather than the headings. > > As I haven=E2=80=99t come across anything like this as yet, I=E2=80=99ll = try to give > an example (manually-created) to show what I mean, in case someone > more familiar with Org can tell me something about it: > > ,----[ Org tree ] > | * Foo > | :CLOCK: > | CLOCK: [2011-04-19 Tue 18:50]--[2011-04-19 Tue 20:30] =3D> 1:40 > | CLOCK: [2011-04-18 Mon 20:15]--[2011-04-18 Mon 21:00] =3D> 0:45 > | CLOCK: [2011-04-21 Thu 01:03]--[2011-04-21 Thu 02:03] =3D> 1:00 > | :END: > | CLOCK: [2011-04-19 Tue 12:30]--[2011-04-19 Tue 18:06] =3D> 5:36 > | > | > | *** Bar > | :CLOCK: > | CLOCK: [2011-04-19 Tue 18:06]--[2011-04-19 Tue 18:50] =3D> 0:44 > | CLOCK: [2011-04-22 Fri 01:00]--[2011-04-22 Fri 01:05] =3D> 0:05 > | :END: > | > | *** Baz > | :CLOCK: > | CLOCK: [2011-04-21 Thu 03:10]--[2011-04-21 Thu 04:00] =3D> 0:50 > | :END: > `---- > > (Please ignore the very strange timings. I just threw together > whatever I could for the sake of the example. :-) > > The table: > > #+BEGIN: timesheet :group day :scope subtree :block thisweek > > Timesheet > | Entry | Time | | > |------------------+---------+-------| > | *2011-40-18 Mon* | *00:45* | | > | 20:15=E2=80=9321:00 | | 00:45 | > | *2011-04-19 Tue* | *08:00* | | > | 12:30=E2=80=9320:30 | | 08:00 | > | *2011-04-21 Thu* | *01:50* | | > | 01:03=E2=80=9302:03 | | 01:00 | > | 03:10=E2=80=9304:00 | | 00:50 | > | *2011-04-22 Fri* | *01:00* | | > | 01:00=E2=80=9301:05 | | 01:05 | > |------------------+---------+-------| > | Total | 11:35 | | > > #+END: > > As you can see, each day with any time clocked gets one entry in the > table. Underneath that entry are all the non-contiguous blocks of > time clocked in during that day. Clocked times from subtrees are > summed up and subsumed by their parents, so in the example given, > there is one single contiguous block from 12:30 to 20:30 on Tuesday, > whereas there are two entries for the non-contiguous blocks on > Thursday. > > I really have no idea where to begin in order to obtain this sort of > report, if it is even possible. Any pointers would be most > appreciated! Hi Aankhen, There is no functionality that produces the table in your timesheet example that I am aware of. Personally I use the agenda view with log mode enabled for clock lines and limited to some interesting tags and a summary report with C-u R. I then manually transfer the data to another system for timesheet reporting. I just visit each day in the timesheet range to get the details I want. You can generate daily reports with something like this #+BEGIN: clocktable :maxlevel 2 :scope agenda :fileskip0 t :step day :block= thisweek #+END: which gives a separate table per day but it doesn't include the time details. Regards, Bernt