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
Have questions or feedback about this documentation? Please submit your feedback here.