# Creating Table Rows

Tables include a collection of real numbers. Tables can either be single-variable or two-variable with an optional occurrences column. As with other types, tables include labels and variables. In addition tables can have optional keywords, equations and they can chain calculate. No default can be set for a table.

More information is in the section on Entering Data in a Template.

## Table Basics

This is the basic structure of a table row:

"Label" T1 variable:equation ::
"Label" T2 variable:equation ::

"Label"
Text label displayed to the template's user. This is not used in an equation (variables are). This can be a single word (i.e. Periods) or multiple words (i.e., "Present Value"). If multiple words it must be in quotation marks. (details here)

T1 or T2
T1 indicates that the table is a one-variable table; T2 indicates that the table is a two-variable table. In both cases an optional occurrences column can be included.

Variable
Reference name for the row. This variable must be unique for each row. (details here)

Colon [:]
Separates the variable from equation. If there is no equation then the colon should be eliminated as well.

Equation
Formula to calculate. The equation is optional and separated from the variable by the single colon (:) indicated above. Not all rows require equations nor do all rows have to have the same equation. While simple templates require both a left and right side of the equation, advanced templates do not require both sides (and thus don't require an = symbol). If only one side is provided, it is assumed that the left side is "variable =" (no quotes). If both sides are included then the variable to be calculated can be anywhere within the equation. (details here)

Double-Colon [::]
Indicates the end of the row. This is optional for the template's final row.

## Precision

All tables are real numbers. The precision is set by an additional, optional component. If this is excluded a real number of floating precision (decimal places) is assumed:

"Label" T1 variable, precision:equation ::

For real numbers use the numbers 0 through 10. (For floating precision leave off the precision altogether.)

## Keywords

Keywords help define special characteristics of the row. Options include:

"Label" T1 readonly noequals noclear noemail variable:equation ::

You can include all four, no keywords or a combination of them.

readonly is used to keep the template user from entering data in a row. Read-only rows appear in beige (instead of gray). Selection in a read-only table row shows a non-editable table of results.

noequals hides the equals buttons. The equals button appears on a row where a formula is defined. Sometimes the equals button is not required as the calculation of a row is automatically triggered by the calculation of another row. For instance Difference in the Discount template is automatically calculated when any of the other variables are calculated. (noequals and hideequals do the same thing.)

noclear retains the last entered number when a new template is requested. It is a simple way of allowing the user to define a Setting within the template.

noemail is used to exclude the row from email messages. Usually this is used on rows that add no value to the email receiver. For instance all simple templates exclude decSetting row, added automatically, from any sent messages.

## Chain Calculations

Most templates are smart enough to auto calculate. When enough data is filled in, auto calculate will perform the remaining computations. Sometimes, however, the template needs a little help. This is where chain calculation comes in. Chain calculation is a statement to the template that says, when you are done calculating this row, calculate this other row next:

"Label" T1 variable, chain:equation ::

Chain is an optional component. In place of the word "chain", enter the variable you wish to calculate next. See the Auto Calculate, Chaining & Defaults section for details.