From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric S Fraga Subject: Re: Using constants in columns Date: Fri, 16 Oct 2015 14:48:38 +0100 Message-ID: <877fmmsz49.fsf@ucl.ac.uk> References: Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:50411) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zn5NG-0002Ij-DI for emacs-orgmode@gnu.org; Fri, 16 Oct 2015 09:48:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zn5ND-0004Fb-6g for emacs-orgmode@gnu.org; Fri, 16 Oct 2015 09:48:46 -0400 Received: from mail-db3on0110.outbound.protection.outlook.com ([157.55.234.110]:35222 helo=emea01-db3-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zn5NC-0004F9-Ta for emacs-orgmode@gnu.org; Fri, 16 Oct 2015 09:48:43 -0400 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Guido Van Hoecke Cc: orgmode On Friday, 16 Oct 2015 at 14:39, Guido Van Hoecke wrote: > Hi, > > Is there a way to use a constant directly in a table column? > I need to have a table where one of the columns can have one out of three > possible values and wanted to use constants for this. > From the following minimal example it appears that constants are only > possible in formulas, or am I missing something? > > #+CONSTANTS: vat=1.21 > | 12.34 | $vat | #ERROR | 14.9314 | > > #+TBLFM: $3=$1*$2::$4=$1*$vat > > Using the $vat constant directly from the content of column 3 produces an > error, using it from a formula works fine. > > If this is the way it is, I'll have to write a formula for each row of the > column, that'd be a real pitty... Maybe not pretty but for a small number of alternatives, you could do: #+begin_src org ,#+constants: vat=[1.15,1.21,1.40] | amount | vat1 | vat2 | vat3 | total | |--------+------+------+------+---------| | 12.34 | 1 | 0 | 0 | 14.191 | | 56.78 | 0 | 1 | 0 | 68.7038 | ,#+TBLFM: $5=$1*vsum($2..$4*$vat) #+end_src alternatively, you could have an integer value in the VAT column and use that to index the vector of VAT values? -- : Eric S Fraga (0xFFFCF67D), Emacs 25.0.50.2, Org release_8.3.2-161-gd2ac25