emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: tsd@tsdye.com (Thomas S. Dye)
To: Eric Abrahamsen <eric@ericabrahamsen.net>
Cc: emacs-orgmode@gnu.org
Subject: Re: table formula help...
Date: Fri, 05 Dec 2014 21:37:06 -1000	[thread overview]
Message-ID: <m2egsdkz4t.fsf@tsdye.com> (raw)
In-Reply-To: <87ppbxfi5f.fsf@ericabrahamsen.net> (Eric Abrahamsen's message of "Sat, 06 Dec 2014 13:42:52 +0800")

Aloha Eric,

One approach would normalize the =counts= table= and use a SQL query to
generate the payments table.

#+name: counts
| id | Piece | N    | Unit | Translator |
|  1 | foo   | 84   | line | bar        |
|  2 | baz   | 6633 | char | foobar     |

The query would sum over =N= conditional on =Unit= and group by
=Translator=.  I can't write the query off the top of my head.

hth,
Tom

Eric Abrahamsen <eric@ericabrahamsen.net> writes:

> I never seem to use the spreadsheet unless it's some horribly
> complicated thing I don't know how to calculate... Can someone lend me a
> hand?
>
> I'm calculating payment rates for contributors (actually translators) to
> a magazine.
>
> I've got two tables: The first is essentially a table of contents,
> listing pieces with their character count (prose), or line count
> (poetry), plus who translated it.
>
> The second is a list of translators, with their total character/line
> count, and how much they're owed.
>
> I'm having a hell of a time getting the column formulas right:
> specifically referencing one table from another. The first table looks
> like this:
>
> #+NAME: counts
> | Piece          |  Chars | Lines | Translator       |
> +----------------+--------+-------+------------------+
> | 凤凰           |        |    84 | Austin Woerner   |
> | 王血           |   6633 |       | Eric Abrahamsen  |
> | 赵氏孤儿       |  16984 |       | Canaan Morse     |
> | 山鬼故家       |        |    24 | Lucas Klein      |
> | 寂静何其深沉   |        |    10 | Lucas Klein      |
>
> And the second:
>
> #+NAME: payments
> #+CONSTANTS: prose=0.7 poetry=10
> | Translator       | Total Chars | Total Lines | Payment |
> |------------------+-------------+-------------+---------|
> | Austin Woerner   |             |             |         |
> | Eric Abrahamsen  |             |             |         |
> | Canaan Morse     |             |             |         |
> | Lucas Klein      |             |             |         |
>
> In this second table, the formula I want for the "Total Chars" column
> is:
>
> "Set each row of $2 in table payments to the sum of all numbers in $2 of
> remote(counts), if $2 is not empty, and if $4 of remote(counts) is equal
> to $1 of table payments."
>
> The formula for "Total Lines" would be exactly the same, but with the
> $2s all switched to $3. I can handle adding up the amounts!
>
> Is it possible to iterate over all the rows in another table like this?
> Is there a better way I could be arranging my tables?
>
> Thanks for any tips!
>
> Eric
>
>
>

-- 
Thomas S. Dye
http://www.tsdye.com

  reply	other threads:[~2014-12-06  7:37 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-06  5:42 table formula help Eric Abrahamsen
2014-12-06  7:37 ` Thomas S. Dye [this message]
2014-12-06  8:05 ` Michael Brand
2014-12-06  8:32   ` Eric Abrahamsen
2014-12-06 22:49   ` Thierry Banel
2014-12-07  2:05     ` Eric Abrahamsen
2014-12-07  3:25     ` Eric Abrahamsen
2014-12-07  9:20       ` Thierry Banel
2014-12-07  9:40         ` Michael Brand
2014-12-07 10:02           ` Thierry Banel
2014-12-07 10:26             ` Michael Brand
2014-12-07 14:51               ` Thierry Banel
2014-12-07 16:13               ` Thierry Banel
2014-12-07 16:48                 ` Michael Brand
2014-12-08 21:12                   ` Thierry Banel
2014-12-08 22:32                     ` Thierry Banel
2014-12-10 21:08                       ` Michael Brand
2014-12-08  3:52             ` Eric Abrahamsen
2014-12-07  9:39       ` Michael Brand
2014-12-07  9:55         ` Thierry Banel
2014-12-07 21:57         ` Thierry Banel
2014-12-08 18:02           ` Michael Brand
2014-12-08 21:57             ` Thierry Banel
2014-12-09  5:54               ` Michael Brand
2014-12-09 18:12                 ` Thierry Banel
2014-12-09 19:01             ` Thierry Banel
2014-12-09 22:35               ` Thierry Banel
2014-12-10 21:06                 ` Michael Brand
2014-12-10 22:55                   ` Thierry Banel
2014-12-12 17:15                     ` Michael Brand
2014-12-12 21:04                       ` Thierry Banel
2014-12-13 18:27                         ` Michael Brand
2015-01-25 22:21       ` Thierry Banel
2015-01-26  2:48         ` Eric Abrahamsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m2egsdkz4t.fsf@tsdye.com \
    --to=tsd@tsdye.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=eric@ericabrahamsen.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).