Skip to main content

Calculation

Everything you need to know to build forms, workflows, dashboards, & apps in Jodoo Help Center.

Updated today

What is the Calculation Field?

The Calculation Field enables automatic calculation based on user-defined formulas. When the values of referenced fields in the formula change, the value of the calculated field will also update in real time. Supported referenced fields include:

  • Current form fields

  • Related form fields


Where to Use the Calculation Field?

  • Customer Management: Calculate a customer's total order amount or the total number of orders in real-time.

  • Inventory Management: Compute real-time inventory based on initial stock, inbound quantity, and outbound quantity.


Prerequisite

This is an advanced feature. For more details, please contact our sales or check out the Jodoo Pricing page.


How to Set It Up?

Step 1 Adding a Calculation field

On the form design page, add an aggregation field by clicking/dragging and dropping. Then you can configure it in Field Properties.

Notes:

  1. If you cannot add the field, please check if your form meets the Prerequisite.

  2. The limitations for Calculation fields are as follows:

    1. Each form supports up to 100 Calculation fields.

    2. Each app supports up to 100 forms containing Calculation fields.

  3. Calculation fields cannot be added as subfields and cannot be dragged into subforms.

Step 2 Choosing calculation result type

Calculation fields support outputting the following two types of results:

  • Number

  • Text

Notes:

  1. Switching the result type will clear any existing formula settings.

  2. After the form is saved, switching the result type will no longer be supported.

Step 3 Editing the Formula

Click Settings under Formula, the formula can be used for calculating:

  • Standard Variables: Numeric fields in the current form.

  • Aggregate Variables: Numeric fields or record count from related forms. When selecting an aggregate variable, you can configure:

    Aggregate Method: SUM, AVG, COUNT

    Filter Conditions: Only records meeting certain criteria will be included in the calculation.

Notes:

1. Calculation fields can be used as standard variables in other aggregation field formulas in the current form. However, mutual referencing between Calculation fields is not supported.

2. A single form can reference up to 20 related forms across all Calculation fields.

3. In the formula of a single calculation field, you can select fields from up to 20 related forms to configure aggregate variables. For each related form, up to 10 aggregate variables can be configured.

4. Each aggregate variable can have up to 10 filter conditions.

5. Formulas must contain at least one aggregate variable. In IF or IFS, the first argument must be a Boolean (TRUE or FALSE), not a number.

Supported operators and functions:

  • Operators: +, -, *, /, ==, <, >, <=, >=, !=

  • Other: ()

  • Functions: See the table below

Function Type

Support Status

Description

Logical Functions

Fully Supported

——

Date Functions

Not Supported

——

Advanced Functions

Partially Supported

GETUSERNAME, MAPX, RECNO, TEXTDEPT, TEXTUSER, and UUID functions are not supported.

Mathematical Functions

Partially Supported

AVERAGE, COUNT, COUNTIF, LARGE, FIXED, PRODUCT, RAND, SMALL, SUM, SUMIF, SUMIFS, and SUMPRODUCT are not supported.

Text Functions

Partially Supported

1) The IP function is not supported.
2) When using the TEXT function, the first parameter cannot be a Date&Time field. It can only be a Number field.

Note:

Date&Time fields and subform fields are not supported for reference in formulas.

Operators and function parameters in formulas are strictly validated, and extra or missing parameters are not allowed:

Operator:

  • + cannot be used to concatenate strings (e.g., "Grade 1" + "Class 2"). Use CONCATENATE function instead.

  • Comparison operators only support numeric types, not strings (e.g., text1 == text2). Use EXACT function for string comparison.

Function Parameter:

Function Parameter

Requirement

Validation Description

Error Example

Correct Usage

Boolean

Must be a boolean value

Do not use numbers 1/0 instead of true/false.

IF(1, A, B)

IF(true, A, B)

String

Must be a string

Numbers cannot be used as strings.

CONCATENATE(1, 2)

CONCATENATE("1", "2")

Number

Must be a number

Strings cannot be used as numbers.

LEFT("321", "2")

LEFT("321", 2)

Integer

Must be a valid integer

Parameters must meet the integer requirements; otherwise, an empty value will be returned.
For example:
- If a natural number is required and a negative number is passed, an empty value is returned.
- If a positive integer is required and 0 is passed, an empty value is returned.

Step 4 Setting Format (Optional)

The format can be set as:

  • Numeric: Set decimal precision and enable thousand separators.

  • Percentage: Set decimal precision for percentage display.


Full Recalculation

Whenever a new Calculation field is added or an existing one is modified, a full recalculation is triggered upon saving the form to ensure data accuracy.

If recalculation does not occur as expected, navigate to App Management > Calculation, locate the form, and click Calculate.


Field Capabilities

The Calculation field is supported in a wide range of features:

Feature Type

Functionality

Notes

Form Design

Field Display Settings

Form Design

Filter Conditions (Select the Linked Form field)

Data Linkage Settings (Assign values to the Number field)

Form Design

  • Sorting

  • Filtering (Select the Related Form field)

Form Design

  • Filter Conditions (Select the Related/Source Form field)

  • Field Display:

    • when selecting data

    • in the form

  • Data Sorting Rules

  • Data Filling Rules

Form Design

  • Field Display

  • Filter Conditions (Select the Query Data field)

  • Data Sorting

Extension

Custom

Extension

Data Details

The Brief field

Extension

Notification Content

Extension

Conditions

Extension

Set as a notification field

Extension

Aggregate calculation is available in the following nodes:

  • Trigger node: trigger conditions

  • Add record: only available as a data source for assignment

  • Update record: field value (only available as a data source for assignment), filter conditions, match relationship/update conditions

  • Query record/records: filter conditions, sorting rules

  • Delete record: filter conditions

  • Add path: path rules

  • Add formula: formula, aggregate calculation

  • Plugin node: request parameter

Form Publishing

  • Field Permissions (View only)

  • Data Permissions

Form Publishing

External Link Permission Configuration (View only)

Form Publishing

  • Query Conditions

  • Display Content

Workflow

View only

Workflow

Optional Field

Manage Data

View

Displaying Fields, Filtering, Searching, Sorting

Manage Data

——

Manage Data

Batch Printing:

——

Data Analysis

Dashboard

  • Chart: all charts except Process Analysis Table

  • Tool: Filter, Quick Filter

Data Analysis

Data Factory

Can be viewed as a Number field and invoked by the data factory:

  • Data Stream Nodes: available in all node configurations

  • Data Stream Update: scheduled, manually, or automatically update (Automatically updating will be triggered when updates or full recalculation happen)

  • Data Synchronization: Automatic or scheduled sync up to the new/existing form

API

  • Single Record Query API

  • Multiple Records Query API

——


More to Know

General

1. The final value is based on post-submission calculation; preview during input is for reference only.

2. Field values are stored in the current form’s database.

3. Calculation fields do not support calculations on subform fields in related forms.

4. Calculation fields cannot be added as subfields and cannot be dragged into subforms.

5. Changes to calculation field values will not trigger Automations Pro or Webhook.

Filter Conditions

When adding a filter condition for an aggregate variable, you should set:

  • Related Form Fields: Supports both form fields (Single Line, Multi Line, Number, Date&Time, Radio, Checkbox, Single Select, Multi Select, Member, Members, Department, Departments, Image, Attachment, Signature) and system fields (submission time, WeChat OpenID, extension fields)

  • Filter Operators: Depend on field type [e.g., (not) equals, (not) equals any, is (not) empty].

  • Filter Value: Based on the selected field and operator.

Multiple filter conditions are joined with AND logic; only records meeting all conditions will be included in the Calculation.


I have finished reading. 🏆

👉I can't wait to Try for myself.

👉I need more HELP in Discord Forum.

Did this answer your question?