Calculations
Calculations in Datawasp are very much like a spreadsheet. You use normal mathematical notation to specify how a value is derived from existing values in the databases (including other calculations). Calculations in Datawasp, however, go well beyond what you would find in a spreadsheet.
The Expression Editor
Expressions (calculations) can be entered as straight text but they can also be entered using a graphic interface (or a combination of the two). Even experienced users find it faster to use the graphic interface than to enter text directly, though this remains an available option.
Lists
Because Datawasp is a database and not a spreadsheet its calculations can be specified for a whole column at a time and can deal with the contents of entire columns. They can in fact deal with whole lists of rows at once. [link to section in help files] The expression editor makes all this easy.
References
A key concept in conventional database is that of referring to one row from another so that an invoice can refer to an account without duplicating all the account details in every invoice. This is achieved in a conventional database using something called a 'foreign key' which is as hard to understand as it sounds. In Datawasp the same functionality is achieved by a 'reference' which is a column type where references to other rows can be entered by the end user using either a browser or a predefined drop down menu.
Calculations can use these references to affect their output. In the example of an invoice the expression which calculates the invoice total might 'fetch' a discount rate from a value in the Accounts table via the reference.
Virtual Tables
Not only can Datawasp expressions process lists as inputs they can produce lists of rows as outputs. That output can then be shown to the user as a virtual table which can be edited just like a regular table. Further calculation columns can then be added to a virtual table. All this allows you to do the kind of things you would have to be an experience SQL programmer to achieve in a conventional database.
|