# TERRAggregation_Integer

In the Spotfire Custom Expressions dialog box, you can select the pre-defined expression `TERRAggregation_Integer` from the Function list. This expression function sets the variable `output` to a scalar value of the TERR data type `integer`, which Spotfire converts to the corresponding Spotfire data type Integer. The TERR script is called once for each group of data to be aggregated. No special handling for aggregation is necessary in your TERR script.

The expression function has at least two arguments.
Argument | Argument description
--- | ---
A TERR script. | The TERR script contains the following. A number of variables using the naming convention that Spotfire requires: `input1` to `inputN`, where `inputN` is the highest number of the specified inputs, numbered sequentally. A TERR assignment operator (`<-`) that assigns the results of the TERR evaluation to an object named `output` (also using the naming convention that Spotfire requires).
Spotfire column names. | Passed as additional arguments, these are the data column names that `input1` to `inputN` represent. All columns must be the same length.

The output type is returned from TERR and converted by Spotfire.
Returned by TERR | Converted in Spotfire
--- | ---
A single aggregated value of data type `integer`. | A single aggregated value of data type Integer.

## TERRAggregation_Integer example

You can work through the example in Aggregating binned weather data using TERR in Spotfire, substituting `TERRAggregation_Integer` for `TERRAggregation_Real`. Make sure your inputs are integers, and that you wrap the expression in the TERR function `as.integer` to make sure the output data type is correct.

    TERRAggregation_Integer("output <- as.integer(mean(input1))", [Y])

The resulting table in Spotfire shows the following.

Important: Spotfire autocorrects the function case or name to that of built-in Spotfire function names. (For example, TERR contains the function `max`, and Spotfire contains the function `Max`. ) You must overwrite this autocorrection manually to ensure that you use the TERR function case and name in your expression function.

See Embedding the Contents of a Script in an Expression Function for a detailed procedure for creating an expression function.