emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] org-table-duplicate-column


From: Karl Voit
Subject: Re: [O] org-table-duplicate-column
Date: Tue, 1 Oct 2013 17:50:51 +0200
User-agent: slrn/0.9.9 (Linux)

Hi Michael!

* Michael Brand <address@hidden> wrote:
>
> On Mon, Sep 30, 2013 at 1:43 PM, Karl Voit <address@hidden> wrote:
>> What about alternating data (no summary value at bottom row) and
>> evaluation columns?
>>
>> | Data 1 | Eval 1 | Data 2 | Eval 2 |
>>
>> What about moving columns:
>>
>> Switching two columns from:
>> | Eval 1 | Eval 2 | foo | bar |
>> to:
>> | Eval 1 | foo | Eval 2 | bar |
>
> Alternation and moving can be handled with conditional formulas
>
> #+TBLFM: @>$<..@>$> = if(subvec("@1", 2, 6) == "Eval", 42, $0)
>
> in Calc or even simpler (regex) with Lisp. Don't worry, For this I had
> to cheat and look in testing/lisp/test-org-table.el with the ERTs that
> should also be an advanced documentation. In this case
> test-org-table/compare for the comparison and
> test-org-table/copy-field for the substring.

:-)

I could not follow this example without looking into a manual
either.

>> I still tend to think that org-table-duplicate-column
>> would be handy in many cases.
>
> I can not understand how with a variable if you mean that
> literally. Also with macros for TBLFM as I imagine, that could be
> difficult because already now there are conflicts and traps with the
> TBLFM syntax.

I assume, there is a misunderstanding.

What I mean: I have got the following table with two columns
containing two different data columns and one result column
which contains two formulas:

| data1 | data2 | results1 |
|-------+-------+----------|
|     1 |   643 |        2 |
|     4 |    22 |        8 |
|     6 |    91 |       12 |
|-------+-------+----------|
|       |       |       22 |
#+TBLFM: $3=$1*2::@5$3=vsum(@address@hidden)

While being in the outer right column and doing "M-x
org-table-duplicate-column", Org-mode simply duplicates the column
and its related TBLFM entries accordingly:

| data1 | data2 | results1 | results1 |
|-------+-------+----------+----------|
|     1 |   643 |        2 |        2 |
|     4 |    22 |        8 |        8 |
|     6 |    91 |       12 |       12 |
|-------+-------+----------+----------|
|       |       |       22 |       22 |
#+TBLFM: $3=$1*2::@5$3=vsum(@address@hidden) :: 
$4=$1*2::@5$4=vsum(@address@hidden)

This should be a pretty simple operation in cases where there are no
complicated references.

Then I adopt the resulting TBLFM with only minor effort (*instead of
writing everything from scratch*) and get my similar but not same
forth column:

| data1 | data2 | results1 | results2 |
|-------+-------+----------+----------|
|     1 |   643 |        2 |   321.50 |
|     4 |    22 |        8 |    11.00 |
|     6 |    91 |       12 |    45.50 |
|-------+-------+----------+----------|
|       |       |       22 |   378.00 |
#+TBLFM: $3=$1*2::@5$3=vsum(@address@hidden) :: 
$4=$2/2;%.2f::@5$4=vsum(@address@hidden);%.2f

Probably I have a different approach because I am clearly no calc
pro user (I need only basics) and I want to keep formulas (and
references) easy to read (maintainability).

Does this make any sense for you?

-- 
mail|git|SVN|photos|postings|SMS|phonecalls|RSS|CSV|XML to Org-mode:
       > get Memacs from https://github.com/novoid/Memacs <

https://github.com/novoid/extract_pdf_annotations_to_orgmode + more on github




reply via email to

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