emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Computing the value of some cells of a table using a named code block
@ 2014-04-02 11:58 Alan Schmitt
  2014-04-02 12:33 ` Michael Brand
  0 siblings, 1 reply; 3+ messages in thread
From: Alan Schmitt @ 2014-04-02 11:58 UTC (permalink / raw)
  To: emacs-orgmode

Hello,

I have a table that summarizes my monthly budget, and I would like to
add a column where I compute my actual spending. I can get this
information using a shell script, but I don't know how to integrate it
in the table.

Here is a contrived example:
--8<---------------cut here---------------start------------->8---
#+name: spending
#+begin_src sh :var category="foo"
echo $category
#+end_src

| Category | Budget | Spending |
|----------+--------+----------|
| Food     |   1000 |          |
| Rent     |   1000 |          |
#+TBLFM: $3=call_spending("$1")
--8<---------------cut here---------------end--------------->8---

My question is: how do I write the TBLFM so that every cell of column
3 is the result of call the named block with column 1 as argument?

Thanks,

Alan

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Computing the value of some cells of a table using a named code block
  2014-04-02 11:58 Computing the value of some cells of a table using a named code block Alan Schmitt
@ 2014-04-02 12:33 ` Michael Brand
  2014-04-02 13:04   ` Alan Schmitt
  0 siblings, 1 reply; 3+ messages in thread
From: Michael Brand @ 2014-04-02 12:33 UTC (permalink / raw)
  To: Alan Schmitt; +Cc: emacs-orgmode

Hi Alan

On Wed, Apr 2, 2014 at 1:58 PM, Alan Schmitt
<alan.schmitt@polytechnique.org> wrote:
> I have a table that summarizes my monthly budget, and I would like to
> add a column where I compute my actual spending. I can get this
> information using a shell script, but I don't know how to integrate it
> in the table.
>
> Here is a contrived example:
> --8<---------------cut here---------------start------------->8---
> #+name: spending
> #+begin_src sh :var category="foo"
> echo $category
> #+end_src
>
> | Category | Budget | Spending |
> |----------+--------+----------|
> | Food     |   1000 |          |
> | Rent     |   1000 |          |
> #+TBLFM: $3=call_spending("$1")
> --8<---------------cut here---------------end--------------->8---
>
> My question is: how do I write the TBLFM so that every cell of column
> 3 is the result of call the named block with column 1 as argument?

When there is no named source block involved I use just

| Category | Budget | Spending |
|----------+--------+----------|
| Food     |   1000 | Food     |
| Rent     |   1000 | Rent     |
#+TBLFM: $3 = '(org-trim (shell-command-to-string (concat "echo " $1)))

For named source blocks there is sbe, see Worg.

Michael

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Computing the value of some cells of a table using a named code block
  2014-04-02 12:33 ` Michael Brand
@ 2014-04-02 13:04   ` Alan Schmitt
  0 siblings, 0 replies; 3+ messages in thread
From: Alan Schmitt @ 2014-04-02 13:04 UTC (permalink / raw)
  To: Michael Brand; +Cc: emacs-orgmode

Hi Michael,

Michael Brand <michael.ch.brand@gmail.com> writes:

> When there is no named source block involved I use just
>
> | Category | Budget | Spending |
> |----------+--------+----------|
> | Food     |   1000 | Food     |
> | Rent     |   1000 | Rent     |
> #+TBLFM: $3 = '(org-trim (shell-command-to-string (concat "echo " $1)))
>
> For named source blocks there is sbe, see Worg.

This is most useful, thanks a lot!

For the record, here is the solution using org-sbe:

--8<---------------cut here---------------start------------->8---
#+name: spending
#+begin_src sh :var c="bar" :results silent
expr $c
#+end_src

| Category | Budget | Spending |
|----------+--------+----------|
| Food     |   1000 | Food     |
| Rent     |   1000 | Rent     |
#+TBLFM: $3='(org-sbe "spending" (c (concat "\"" $1 "\"")))
--8<---------------cut here---------------end--------------->8---

Thanks again,

Alan

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-04-02 13:04 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-04-02 11:58 Computing the value of some cells of a table using a named code block Alan Schmitt
2014-04-02 12:33 ` Michael Brand
2014-04-02 13:04   ` Alan Schmitt

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).