# TERRAggregation_TimeSpan

In the Spotfire Custom Expressions dialog box, you can select the pre-defined expression `TERRAggregation_TimeSpan` from the Function list. This expression function sets the variable `output` to a scalar value of the TERR data type `difftime`, which Spotfire converts to the corresponding Spotfire data type TimeSpan. 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 `difftime` with units defined as seconds. | A single aggregated value of data type TimeSpan.

## TERRAggregation_TimeSpan example

In this example, in Spotfire, take thirty observations with a start time and an end time. Calculate the observation time for each entry.

    TERRAggregation_TimeSpan("output <- max(input2-input1)",[Start time],[End time])

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.