emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Thierry Banel <tbanelwebmin@free.fr>
To: emacs-orgmode@gnu.org
Subject: [ANN] orgtbl-aggregate version 2
Date: Fri, 09 Jan 2015 22:38:44 +0100	[thread overview]
Message-ID: <54B04A64.1090009@free.fr> (raw)

Hi The List

I am glad to announce the second version of the Org Aggregate package.
It comes with more flexibility and performance, while being simpler.

This new version is based on a clever idea of Michael Brand. Thanks
Michael for your reviews and suggestions.

* What is it? ----------------------------------------------------

An aggregated Org table is derived from a source table by grouping rows and
computing aggregations like sums and averages.  Example:

#+NAME: sourcetbl
| Day | Color | Level | Quantity |
|-----+-------+-------+----------|
| Mon | Red   |    30 |       11 |
| Mon | Blue  |    25 |        3 |
| Thu | Red   |    51 |       12 |
| Thu | Red   |    45 |       15 |
| Thu | Blue  |    33 |       18 |
| Wed | Red   |    27 |       23 |
| Wed | Blue  |    12 |       16 |
| Wed | Blue  |    15 |       15 |
| Tur | Red   |    39 |       24 |
| Tur | Red   |    41 |       29 |
| Tur | Red   |    49 |       30 |
| Fri | Blue  |     7 |        5 |
| Fri | Blue  |     6 |        8 |
| Fri | Blue  |    11 |        9 |

#+BEGIN: aggregate :table sourcetbl :cols "Day vmean(Level);%.1f
vsum(Quantity)"
| Day | vmean(Level);%.1f | vsum(Quantity) |
|-----+-------------------+----------------|
| Mon |              27.5 |             14 |
| Thu |              43.0 |             45 |
| Wed |              18.0 |             54 |
| Tur |              43.0 |             83 |
| Fri |               8.0 |             22 |
#+END

* What is new? ----------------------------------------------------

The new version of Aggregate is designed to be seamless with the Org
spreadsheet.

- Aggregations formulas are now general Calc expressions,
  they can be as complex as:  sqrt(vsum((X-vmean(X))^2))

- The modifiers are those of the spreadsheet, with exactly the same
  meaning (f3, NE, p24, %.6f and so on).

- Spreadsheet formulas can further enrich an aggregation table, with
  the #+TBLFM line surviving refreshes.

- Performance on large data sets has dramatically improved.

Documentation here:
https://github.com/tbanel/orgaggregate/blob/master/README.org

* Install it! ----------------------------------------------------------

The easiest way to install it is through Melpa.
Add those lines to your .emacs:
  (require 'package)
  (add-to-list 'package-archives '("melpa" .
"http://melpa.milkbox.net/packages/") t)
  (package-initialize)
Type
  M-x package-list-packages
Install
  orgtbl-aggregate

* Happy new year! ------------------------------------------------------

Comments etc. welcome

Happy new year, have fun, and stay tunned for more to come
Thierry Banel

                 reply	other threads:[~2015-01-09 21:38 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=54B04A64.1090009@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 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).