From: Thierry Banel <tbanelwebmin@free.fr>
To: emacs-orgmode@gnu.org
Subject: Re: very long table calc expressions ?
Date: Wed, 20 Jun 2018 08:13:06 +0200 [thread overview]
Message-ID: <5B29F072.4040805@free.fr> (raw)
In-Reply-To: <87k1qu1yl5.fsf@mat.ucm.es>
Le 19/06/2018 19:21, Uwe Brauer a écrit :
>
> Hi
>
> Take the following example
>
>
> #+TBLNAME: data
> | Name | Cual 1 |
> |------+--------|
> | A | NT |
> | B | NT |
> | C | MH |
> | D | AP |
> | E | MH |
> | F | SS |
> | G | NP |
> | H | NP |
> | I | NP |
> | | NT |
> | | AP |
> | | AP |
> | | AP |
> | | AP |
> | | SB |
>
>
> #+TBLNAME: stat-final2
> | | Frequency |
> |----+-----------|
> | SS | 1 |
> | AP | 5 |
> | NT | 3 |
> | SB | 1 |
> | MH | 2 |
> | NP | 3 |
> #+TBLFM: @>$2='(length (org-lookup-all "NP" '(remote(data,@2$2..@>I$2)) nil))::@>>$2='(length (org-lookup-all "MH" '(remote(data,@2$2..@>I$2)) nil))::@>>>$2='(length (org-lookup-all "SB" '(remote(data,@2$2..@>I$2)) nil))::@>>>>$2='(length (org-lookup-all "NT" '(remote(data,@2$2..@>I$2)) nil))::@>>>>>$2='(length (org-lookup-all "AP" '(remote(data,@2$2..@>I$2)) nil))::@>>>>>>$2='(length (org-lookup-all "SS" '(remote(data,@2$2..@>I$2)) nil))
>
>
> Are there any rules to break this very long expression?
>
> Thanks
>
> Uwe Brauer
>
>
>
You may want to take a look at the orgtbl-aggregate package available on
Melpa.
#+BEGIN: aggregate :table "data" :cols "'Cual 1' count()"
| 'Cual 1' | count() |
|----------+---------|
| NT | 3 |
| MH | 2 |
| AP | 5 |
| SS | 1 |
| NP | 3 |
| SB | 1 |
#+END:
It features the count() function which computes frequency, but also sum,
mean, filtering and much more.
Documentation here: https://github.com/tbanel/orgaggregate
To gain access to the Melpa repository I have those settings in my
.emacs file:
(require 'package)
(setq package-enable-at-startup nil) ; To prevent initialising twice
(add-to-list 'package-archives '("gnu" .
"http://elpa.gnu.org/packages/" ) t)
(add-to-list 'package-archives '("melpa" .
"http://melpa.milkbox.net/packages/") t)
(package-initialize)
Have fun
Thierry
next prev parent reply other threads:[~2018-06-20 6:13 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-19 17:21 very long table calc expressions ? Uwe Brauer
2018-06-20 6:13 ` Thierry Banel [this message]
2018-06-20 9:09 ` Uwe Brauer
2018-06-20 18:28 ` Thierry Banel
2018-06-21 13:35 ` Uwe Brauer
2018-06-21 19:06 ` Bernt Hansen
2018-06-22 10:28 ` Uwe Brauer
2018-06-22 13:16 ` Bernt Hansen
2018-06-22 14:16 ` Uwe Brauer
2018-06-22 15:03 ` Jonathan Leech-Pepin
2018-06-22 15:25 ` Uwe Brauer
2018-06-22 16:48 ` Nick Dokos
2018-06-22 17:22 ` Thierry Banel
2018-06-22 17:54 ` Uwe Brauer
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5B29F072.4040805@free.fr \
--to=tbanelwebmin@free.fr \
--cc=emacs-orgmode@gnu.org \
/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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.