emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Calculate differences of remote table numbers


From: Karl Voit
Subject: Re: [O] Calculate differences of remote table numbers
Date: Thu, 4 Oct 2018 09:25:48 +0200
User-agent: slrn/pre1.0.0-18 (Linux)

Hi Nick,

* Nick Dokos <address@hidden> wrote:
> Karl Voit <address@hidden> writes:
>
>> I'd like to calculate the differences between rows of numbers of a
>> different table.
>>
>> Here is a minimal example showing the issue:
>>
>>     #+NAME: my-table
>>     | Numbers |
>>
>>     |---------|
>>     |       1 |
>>     |       5 |
>>     |       8 |
>>     |      12 |
>>     |      15 |
>>
>> This is what I expected: "exp. Reference1" and "exp. Reference2" is here only
>> to demonstrate that the assumed references are wrong in the third table. 
>> "exp.
>> Difference" is the column I want to get in the first place. I don't want to 
>> see
>> Reference 1 or 2 at all in my solution (since I need a couple of those
>> difference-columns).
>>
>>     | Line | exp. Reference1 | exp. Reference2 | exp. Difference |
>>     |------+-----------------+-----------------+-----------------|
>>     |    1 |               0 |               0 |               0 |
>>     |    2 |               5 |               1 |               4 |
>>     |    3 |               8 |               5 |               3 |
>>     |    4 |              12 |               8 |               4 |
>>     |    5 |              15 |              12 |               3 |
>>
>> This is what I get instead:
>>
>>     | Line | actual Reference1 | actual Reference2 | Difference |
>>     |------+-------------------+-------------------+------------|
>>     |    1 |                 0 |                 0 |          0 |
>>     |    2 |                 6 |                 1 |          5 |
>>     |    3 |                12 |                 1 |         11 |
>>     |    4 |                20 |                 1 |         19 |
>>     |    5 |                30 |                 1 |         29 |
>
> @# is the row number, so to refer to that row, you need @@#. Something like 
> this,
> although I didn't test to see if everything gets parsed correctly:
>
> #+TBLFM: $2=if(2 == @#, 0, remote(my-table,@@#$1))::$3=if(2 == @#, 0, 
> remote(my-table,@@#-1$1))::$4=if(2 == @#, 0, 
> (remote(my-table,@@#$1)-remote(my-table,@@#-1$1)))

This is a huge step forward:

#+NAME: my-table
| Numbers |
|---------|
|       1 |
|       5 |
|       8 |
|      12 |
|      15 |

| Line | exp. Reference1 | exp. Reference2 | exp. Difference |
|------+-----------------+-----------------+-----------------|
|    1 |               0 |               0 |               0 |
|    2 |               5 |               1 |               4 |
|    3 |               8 |               5 |               3 |
|    4 |              12 |               8 |               4 |
|    5 |              15 |              12 |               3 |


| Line | actual Reference1 | actual Reference2 | Difference |
|------+-------------------+-------------------+------------|
|    1 |                 0 |                 0 |          0 |
|    2 |                 5 |                 5 |          0 |
|    3 |                 8 |                 8 |          0 |
|    4 |                12 |                12 |          0 |
|    5 |                15 |                15 |          0 |
#+TBLFM: $2=if(2 == @#, 0, remote(my-table,@@#$1))::$3=if(2 == @#, 0, 
remote(my-table,@@#-1$1))::$4=if(2 == @#, 0, 
(remote(my-table,@@#$1)-remote(my-table,@@#-1$1)))

Somehow, the "-1" in "@@#-1$1" does not have any effect: "@@#$1" and
"@@#-1$" gives the same results.

Do you have any idea why?

> Turning on formula debugging with `C-c {' helps.

Woha! I didn't know that! And I also didn't know =C-c }= for
displaying column/row numbers :-O *This* is going to be handy for me
;-)

-- 
get mail|git|SVN|photos|postings|SMS|phonecalls|RSS|CSV|XML into Org-mode:
       > get Memacs from https://github.com/novoid/Memacs <
Personal Information Management > http://Karl-Voit.at/tags/pim/
Emacs-related > http://Karl-Voit.at/tags/emacs/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]