table.FIELD_STATISTICS Function
Syntax
Arguments
- Expr
An expression or value that selects some or all of the fields in the table.
- stats
The name of the Statistics dot variable that will receive the answers.
Description
Collects statistics for passed in expression/field.
Discussion
The <TBL>.FIELD_STATISTICS() method computes statistics (first value, last value, minimum value, count, total, average, standard deviation and variance) for Expression, for all of the currently selected records in the table referenced by <TBL>. The statistics are stored in a Statistics dot variable. For example, the command:
tbl.field_statistics("amount_due", answer)
creates dot variables such as: answer.count, answer.total, answer.maximum etc. The following dot variables are created:
- Dot Variable
- Description
- .count
Number of records in current index/query list. Created for All Expression Types.
- .minimum
Minimum value in field/expression. Created for All Expression Types.
- .maximum
Maximum value in field/expression. Created for All Expression Types.
- .first
Value of field/expression in first record in current selection of records. Created for All Expression Types.
- .last
Value of field/expression in last record in current selection of records. Created for All Expression Types.
- .total
Total of field/expression for all records in current selection of records. Created for Numeric Expression Types.
- .average
Average of field/expression for all records in current selection of records. Created for Numeric Expression Types.
- .standard
Standard deviation of field/expression for all records in current selection of records. Created for Numeric Expression Types.
- .variance
Variance of field/expression for all records in current selection of records. Created for Numeric Expression Types.
Example
This script is attached to a button on a form. It computes the field statistics for the amount_due field.
dim tbl as P 'initialize the "answer" dot variable answer.count = 0 tbl = table.current() tbl.field_statistics("amount_due",answer) ui_msg_box("Answer","Count: " + answer.count + CRLF()+ "Total: " + answer.total)
If you wanted to compute statistics for just customers in "MA".
dim tbl as P tbl = table.current() query.filter = "state = 'ma'" i = tbl.query_create() 'initialize the "answer" dot variable answer.count = 0 tbl.field_statistics("amount_due",answer) ui_msg_box("Answer","Count: " + answer.count + CRLF()+ "Total: " + answer.total)
See Also