Transform
Order
The internal architecture
of spreadsheet software is typically either equation-based (also
called formula-based) or data flow.
In an equation-based system, each column (or,
in some applications, each cell) has its own formula or list of
formulas. The system keeps track of which columns reference which
other columns, so that calculations are done in the correct order.
If A already exists in the spreadsheet, and you create a new column B=2*A,
then any time you change a value in A, B is automatically recalculated.
No matter what you do to A, B always retains the relationship 2*A.
The user never has to be concerned with the order in which formulas
are applied, or with maintaining the relationships among variables.
Many commercial spreadsheet programs use an equation-based architecture.
The equation-based architecture, however, is
not compatible with modifying or deleting any transforms that were
done before a time merge. This capability requires a data flow architecture.
In a data flow system, the formulas function
like a programming language. There is one ordered list of formulas
for the entire spreadsheet, and the formulas are calculated strictly
in the order in which they appear in the list. If you enter the
formula B=2*A, it only means set B to 2 times the value that A has
right now. If you subsequently enter any formula that changes A's
value, B is not affected. This architecture is more powerful than
equation-based, but it requires considerable attention and understanding
from the user to ensure that formulas are entered in the correct
order to produce the desired results
The transform calculator implements a restricted
data flow architecture that emulates an equation-based system. When
you enter a new transform, instead of being placed at the bottom
of the list, it is automatically inserted in a position that retains
the relationships that you have already specified. If you enter
the formula B=2*A and subsequently enter any formula that changes
A's value, that new formula is inserted in the list above B=2*A,
so B's value is forced to change, in a manner that is compatible
with the data flow concept. For any transform, there may be several
different supported positions. If necessary, you can rearrange the
order of the transform list, but you cannot rearrange it so that
it stops emulating an equation-based system. This architecture supports
modifying or deleting transforms that were done before a time merge.
Provide Feedback