A calculation engine processes user-definable formulas to generate
calculation results. A calculation engine may use the following types of
data structures: table, column, row, and field. A sub table may be
embedded within a row. Operations may be performed at various levels,
such as at: table, column, and field. A calculation engine may operate on
a calculation table having columns, which may each have an ordered list
of formulas. Formulas within such an ordered list may be evaluated in the
order specified until one of the formulas is successfully evaluated. A
hierarchy of formulas may be formed by a column's formula depending on
another column or table. A graph of data dependencies may be prepared for
determining an order in which operands and operations should be evaluated
and performed.