Small
DataWindow expression function
Description
Finds a small value at a specified ranking in a column (for example,
third-smallest, fifth-smallest) and returns the value of another column or
expression based on the result.
Syntax
|
1 2 |
Small ( returnexp, column, nbottom { FOR range { DISTINCT { expres1 {, expres2 {, ... } } } } } ) |
|
Argument |
Description |
|---|---|
|
returnexp |
The value you want returned when the small value is |
|
column |
The column that contains the small value you are |
|
nbottom |
The relationship of the small value to the column’s |
|
FOR range (optional) |
The data that will be included when finding the small
For Crosstabs, specify CROSSTAB for
For Graph and OLE objects, specify one of
|
|
DISTINCT (optional) |
Causes Small to consider only the distinct values in |
|
expresn (optional) |
One or more expressions that you want to evaluate to |
Return value
The datatype of returnexp. Returns the nbottom-smallest value if it
succeeds and -1 if an error occurs.
Usage
If you specify range, Small returns the value in returnexp when the
value in column is the nbottom-smallest value in range. If you specify
DISTINCT, Small returns returnexp when the value in column is the
nbottom-smallest value of the distinct values in column, or if you specify
expresn, then bottom-smallest for each distinct value of expresn.
For graphs and OLE objects, you do not select the range when you
call the function. The range has already been determined by the Rows
setting on the Data property page (the Range property), and the
aggregation function uses that range.
Settings for Rows include the following:
-
For the Graph or OLE presentation style, Rows is always
All. -
For Graph controls, Rows can be All, Page, or Group.
-
For OLE controls, Rows can be All, Current Row, Page, or Group.
The available choices depend on the layer the control occupies.
Min might be faster
If you do not need a return value from another column and you want
to find the smallest value (nbottom = 1), use Min; it is faster.
Not in validation rules or filter
expressions
You cannot use this or other aggregate functions in validation rules
or filter expressions.
Using an aggregate function cancels the effect of setting Retrieve
Rows As Needed in the painter. To do the aggregation, a DataWindow
object always retrieves all rows.
Examples
These expressions return the names of the salespersons with the
three smallest sales (sum_sales is the sum of the sales for each
salesperson) in group 2, which might be the salesregion group. Note that
sum_sales contains the values being compared, but Small returns a value in
the name column:
|
1 2 3 |
Small(name, sum_sales, 1 for group 2) Small(name, sum_sales, 2 for group 2) Small(name, sum_sales, 3 for group 2) |
This example reports the salesperson with the third-smallest sales,
considering only the first entry for each salesperson:
|
1 |
Small(name, sum_sales, 3 for all DISTINCT sum_sales) |
See also