- orgtbl-aggregate 20160421.726(in MELPA)
- Create an aggregated Org table from another one
概要
org-aggregate.el は、 org-mode の表に 集計機能 を提供します。
各項目の合計・平均・最大値・最小値・個数などを計算する
dblock (dynamic block)を作成します。
とても機能は多いのですが、その裏には Calc パッケージがあるからです。
CalcパッケージはEmacs上で数値計算・数式計算を行うものです。
org-aggregateが何物なのかは、とりあえず使用例を見た方が早いです。
なお、*C-c C-x i* を使うと対話的にdblockを入力できます。
インストール
パッケージシステムを初めて使う人は
以下の設定を ~/.emacs.d/init.el の
先頭に加えてください。
(package-initialize) (setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/") ("melpa" . "http://melpa.org/packages/") ("org" . "http://orgmode.org/elpa/")))
初めてorgtbl-aggregateを使う方は
以下のコマンドを実行します。
M-x package-install orgtbl-aggregate
アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。
M-x package-install package-utils (初めてアップグレードする場合のみ) M-x package-utils-upgrade-by-name orgtbl-aggregate
使用例 org-aggregate-sample.org(以下のコードと同一)
* org-aggregateの使用例 ** 元の表 #+TBLNAME: original | Day | Color | Level | Quantity | |-----------+-------+-------+----------| | Monday | Red | 30 | 11 | | Monday | Blue | 25 | 3 | | Thuesday | Red | 51 | 12 | | Thuesday | Red | 45 | 15 | | Thuesday | Blue | 33 | 18 | | Wednesday | Red | 27 | 23 | | Wednesday | Blue | 12 | 16 | | Wednesday | Blue | 15 | 15 | | Turdsday | Red | 39 | 24 | | Turdsday | Red | 41 | 29 | | Turdsday | Red | 49 | 30 | | Friday | Blue | 7 | 5 | | Friday | Blue | 6 | 8 | | Friday | Blue | 11 | 9 | ** 曜日別のLevelの平均とQuantityの合計 #+BEGIN: aggregate :table "original" :cols "Day mean(Level) sum(Quantity)" | Day | mean(Level) | sum(Quantity) | |-----------+-------------+---------------| | Monday | 27.5 | 14 | | Thuesday | 43 | 45 | | Wednesday | 18 | 54 | | Turdsday | 43 | 83 | | Friday | 8 | 22 | #+END: ** 項目数・合計・最小値・最大値・中央値 #+BEGIN: aggregate :table "original" :cols "count() sum(Quantity)" | count() | sum(Quantity) | |---------+---------------| | 14 | 218 | #+END: #+BEGIN: aggregate :table "original" :cols "min(Level) max(Quantity) median(Level)" | min(Level) | max(Quantity) | median(Level) | |------------+---------------+---------------| | 6 | 30 | 28.5 | #+END: ** DayとColorが同じ項目を数える #+BEGIN: aggregate :table "original" :cols "count() Day Color" | count() | Day | Color | |---------+-----------+-------| | 1 | Monday | Red | | 1 | Monday | Blue | | 2 | Thuesday | Red | | 1 | Thuesday | Blue | | 1 | Wednesday | Red | | 2 | Wednesday | Blue | | 3 | Turdsday | Red | | 3 | Friday | Blue | #+END: ** Red/Blueそれぞれの平均と合計 #+BEGIN: aggregate :table "original" :cols "Color mean(Level) sum(Quantity)" | Color | mean(Level) | sum(Quantity) | |-------+---------------+---------------| | Red | 40.2857142857 | 144 | | Blue | 15.5714285714 | 74 | #+END:
#+END_SRC
#+END_SRC
本サイト内の関連パッケージ
本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。