--- title: "Reader Review Form Calculations" slug: "reader-review-form-calculations" updated: 2026-04-14T00:51:11Z published: 2026-04-14T00:51:11Z canonical: "knowledge.technolutions.net/reader-review-form-calculations" --- > ## Documentation Index > Fetch the complete documentation index at: https://knowledge.technolutions.net/llms.txt > Use this file to discover all available pages before exploring further. # Reader Review Form Calculations Calculated fields allow a form to automatically perform mathematical operations using values from other fields. This can be useful for generating totals, scores, or other derived values without requiring manual entry. For example, a **Total Rating** field could automatically add together values from an **Academic Rating** field and an **Extracurricular Rating** field. ## Step 1: Configure the Fields Used in the Calculation Before creating the calculated field, ensure that the fields providing the values are properly configured. Each field should include the following: **Export Key** The export key is the internal reference used when building the calculation formula. - Use **lowercase characters** - **Do not include spaces** **Data Type** The field must use a numeric data type so that the values can be included in a calculation. - **Int** – used for whole numbers - **Real** – used for decimal values **Note:** If a non-numeric data type is selected, submitted values will be treated as text and concatenated rather than mathematically calculated. ## Step 2: Create the Calculated Field Next, create the field that will display the calculated result. This field should be configured with: - An **Export Key** - A **numeric Data Type** - A **Calculation Formula** The calculation formula defines the mathematical operation that Slate should perform. ### Example If the export keys for the rating fields are: - `academic_rating` - `extracurricular_rating` The calculation formula would be: @academic_rating + @extracurricular_rating When the form is submitted, Slate will add the values from these fields and display the result in the calculated field. ## Supported Operators Calculation formulas support standard mathematical operators: | Operator | Function | | --- | --- | | `+` | Addition | | `-` | Subtraction | | `*` | Multiplication | | `/` | Division | In addition to standard mathematical functions, all JavaScript mathematical functions are also supported. For example: | **Standard Mathematical Functions** | | | --- | --- | | **Average** | (@aca + @extra)/2 | | **Multiple operators** | ((3*@aca) + @extra)/2 | | **Average with a consistent denominator** | (@var1 + @var2 + var3) / 3 | | **Average with a *variable*** **denominator** *If there are values in some but not all the variables in this formula, those will be averaged. There has to be a value in at least one of the variables. Otherwise, you'll get a divide-by-zero error; that's why variable 1 is assumed to be there (nothing conditional, just a literal 1 value), and only variables 2 and 3 will change the denominator based on if there's a value present or not.* | (@var1 + @var2 + @var3) / (1 + ((@var2)?1:0) + ((@var3)?1:0)) | | **Conditional Statements** | | | --- | --- | | **Example 1** Check if the variable has a *numeric* value greater than 0, not just any value. Place any valid calculation in the if-yes and if-no parts, but both must be present even if only to return nothing/an empty string. | (@variable > 0) ? (DO-THIS-IF-YES) : (DO-THIS-IF-NO) | | **Example 2** Check if there's a value in the variable (numeric or text, doesn't matter) and if yes, return a 1. If no return a 0. | @variable ? 1 : 0 | | **Javascript Mathematical Functions** | | | --- | --- | | **Round up always** | Math.ceil((@aca + @extra)/2) | | **Round down always** | Math.floor((@aca + @extra)/2) | | **Round** | Math.round((@aca+ @extra)/2) | > [!CAUTION] > 🔔 Important! > > If a *string* value is being translated, append the export key in the calculation formula with "*_text*". > > In these cases, use the following format for the calculation formula: translate("key", @export_text) > [!TIP] > Click [here](http://mzl.la/148HnQj) for a comprehensive list of available JavaScript Math Library Functions.