emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Carsten Dominik <carsten.dominik@gmail.com>
To: Alan Boudreault <aboudreault@mapgears.com>
Cc: "Sébastien Vauban" <wxhgmqzgwmuf@spammotel.com>, emacs-orgmode@gnu.org
Subject: Re: Re: org-table and formulas
Date: Wed, 13 Jan 2010 12:59:54 +0100	[thread overview]
Message-ID: <5378FAF3-867E-4E97-B43A-67A5D4B2CCBA@gmail.com> (raw)
In-Reply-To: <4B4DAB04.5000503@mapgears.com>

Hi Alan,

I think what you would have to do is to build a lisp function that  
creates the full reference by string manipulation, and then calls org- 
table-get-remote-range directly to retrieve the result.

That function returns a string or a list of strings, so conversion  
might be needed depending on how you use the result.

- Carsten

On Jan 13, 2010, at 12:14 PM, Alan Boudreault wrote:

> Hi Sébastien and thank you for your answer.
>
> The problem with that technique is that I'll have to name ALL the  
> cell for ALL the colomn. Here's an example of my table:
>
> #+TBLNAME: FOOD
> | Name            | Brand         | Amounts (g) | Calories | Protein  
> | Carbohydrate |  Fat |
> |-----------------+---------------+-------------+----------+--------- 
> +--------------+------|
> | Poitrine Poulet     | KirkLand      |         100 |      100  
> |      24 |            0 |    1 |
> | Capeli d'angelo    | Primo         |          85 |      300 |       
> 10 |           63 |    1 |
> | Couscous              | Clic          |          62 |      220  
> |       8 |           46 |    1 |
> | Fromage Cottage | Sealtest      |         125 |      100 |      15  
> |            8 |    1 |
> | Ficello                   | Black Diamond |          21 |       60  
> |       6 |            0 |    4 |
> | Concombre cru    |               |         100 |       15 |     
> 0.65 |         3.63 | 0.11 |
> | Clementine cru    |               |         100 |       47 |     
> 0.85 |        12.02 | 0.15 |
>
> In the table 2, I would like to be able to just set a column to ie.  
> 2 (for "Poitrine Poulet"), then I'll be able to get all the  info of  
> the different columns I need to do my calculs. I see there is also a  
> "_" option for row name, but I'm unsure on how to specify the column  
> desired with that name and how to get it evaluated if I need to  
> concat something...
>
> regards,
> Alan
>
> Sébastien Vauban wrote:
>> Hi Alan,
>>
>> Alan Boudreault wrote:
>>
>>> Here's what I'm trying to do (without success) in my spreadsheet:
>>>
>>> I have a first table :
>>>
>>> #+TBLNAME: table1
>>> | ... |... |.... |...|...
>>>
>>> and a second table:
>>>
>>> #+TBLNAME: table2
>>> | line_reference | ... |... |.... |...|...
>>>
>>> The line_reference is the line number to get some information in  
>>> the table1.
>>> So in a cell of the table2, I tried a formula like: remote(table1,@ 
>>> $1$3) ($1
>>> = the line_reference) which of course, didn't work.
>>>
>>> then I tried to use elisp: remote(table1,'(concat "@" $1  
>>> "$3")') .... but no
>>> success anyway.
>>>
>>> after all, I decided to merge my 2 tables because it looks like I  
>>> can use
>>> elisp inside a org function (remote). The last tried formula was:  
>>> '(concat
>>> "@" $1 "$3")' ,($1 = the line_reference). The problem of this  
>>> formula is
>>> only that I got the string "@2$3" inside the cell and it's not  
>>> evaluated as
>>> a formula.
>>>
>>> Could anyone give me some hint to get done what I'm trying to do?
>>>
>>
>> What I do, which works:
>>
>> - give a name to the cell in table1
>> - reference it (in table2) by its name
>>
>>
>>  #+TBLNAME: Eau
>>  |   | Date             | Relevé m3 | Consommation | Prix TVAC |
>>  |---+------------------+-----------+--------------+-----------|
>>  |   | [2009-11-15 Sun] | 2072.6263 |       0.0000 |      0.00 |
>>  |   | [2009-11-22 Sun] | 2074.1774 |       1.5511 |      1.55 |
>>  |   | [2009-11-29 Sun] | 2076.0834 |       1.9060 |      1.91 |
>>  |   | [2009-12-06 Sun] | 2077.6757 |       1.5923 |      1.59 |
>>  |   | [2009-12-13 Sun] | 2079.2140 |       1.5383 |      1.54 |
>>  |   | [2009-12-20 Sun] | 2081.4222 |       2.2082 |      2.21 |
>>  |   | [2009-12-27 Sun] | 2083.2146 |       1.7924 |      1.79 |
>>  |   | [2010-01-03 Sun] | 2085.4916 |       2.2770 |      2.28 |
>>  |   | [2010-01-10 Sun] | 2087.4283 |       1.9367 |      1.94 |
>>  | ^ |                  |           |              |       Eau |
>>  #+TBLFM: $4=@+0$-1-@-1$-1;%.4f::$5=$4*1;%.2f::@2$4=0;%.4f
>>
>>
>>  | Énergie     | Prix TVAC |
>>  |-------------+-----------|
>>  | Eau         |      1.94 |
>>  | Gaz         |    156.81 |
>>  | Électricité |     11.64 |
>>  |-------------+-----------|
>>  | Total       |    170.39 |
>>  #+TBLFM: @2$2=remote(Eau,$Eau)::@3$2=remote(Gaz, 
>> $Gaz)::@4$2=remote(Elec,$Elec)::@5$2=vsum(@-I..@-II);%.2f
>>
>> Best regards,
>>  Seb
>>
>>
>
>
> -- 
> Alan Boudreault
> Mapgears
> http://www.mapgears.com/
>
>
> _______________________________________________
> Emacs-orgmode mailing list
> Please use `Reply All' to send replies to the list.
> Emacs-orgmode@gnu.org
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode

- Carsten

  parent reply	other threads:[~2010-01-13 12:00 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-11 19:32 org-table and formulas Alan Boudreault
2010-01-13 10:23 ` Sébastien Vauban
2010-01-13 11:14   ` Alan Boudreault
2010-01-13 11:56     ` Stephan Schmitt
2010-01-13 11:59     ` Carsten Dominik [this message]
2010-01-13 12:23       ` Alan Boudreault

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=5378FAF3-867E-4E97-B43A-67A5D4B2CCBA@gmail.com \
    --to=carsten.dominik@gmail.com \
    --cc=aboudreault@mapgears.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=wxhgmqzgwmuf@spammotel.com \
    /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).