Field data types & smart fields
When creating custom fields, you can choose from a wide range of data types to define what kind of information each field will contain. The following table describes the available data types in ChartHop.
Data type | Description |
---|---|
Single select | Records a single response from a list of options. See Enum. |
Multiple select | Records multiple responses from a list of options. See Enum. Note that each item in the list should be separated with a semi-colon when importing. |
Numeric scale | Records a single response from a list of numbered options. See Enum. |
Yes/No | Stores true/false values. See Boolean. |
Short text | Stores short strings, such as a person’s preferred name. See String. |
Long text | Stores longer strings, such as a paragraph of text in a form response. See String. |
Integer number | Stores whole numbers. See Number. |
Decimal number | Stores both decimals and whole numbers. See Number. |
Money | Stores currency values, such as 10 USD. See Money. |
Percentage | Stores percent values. See Percent. |
Date | Stores dates. See Date. |
Smart calculation | Calculates a numeric value using Carrot Query Language (CQL). See Smart calculations. |
Smart bucket | Records a single response from a list of options. Each option contains a smart calculation. See Smart buckets. |
Person | Stores individual people. See Person. |
Persons | Stores multiple people, such as a group of peer reviewers on a form. See PersonList. |
File | Stores uploaded files, such as an offer letter. See File. |
Address | Includes Address line 1, Address line 2, City, State, Posta |
The data type you select determines what kind of value a field can store. For example, a number field can only store a value like 56. If you expect to receive responses containing either a string value (fifty-six) or a number value (56), use the string data type to capture them, since numbers will automatically be converted to strings (for example, 56 to "56"). If you need to store the responses as numbers for reporting purposes, you can create a second custom field that converts the value to a number. Learn more.
You can create smart fields that automatically make calculations for you. You can use these fields in reporting and can control the expressions used to calculate the data. There are two kinds of smart fields: smart calculations and smart buckets. Each serves a different purpose and can help you build out simple or complex formulas to manage data.
Smart fields use Carrot Query Language (CQL), ChartHop’s custom query language.
Smart calculations contain a single Carrot expression, although that expression can be lengthy depending on the data being calculated. Smart calculations use algebra and basic math to return a single numeric value such as a dollar amount, a date, or a number.
For example, you can use a smart calculation to calculate a prorated salary or the number of jobs that have been open for more than 90 days (is:open daysOpen>90)
Smart buckets are single select fields that contain multiple Carrot expressions, one for each color-coded option. Smart buckets return data in a range of numerical values instead of a single number.
You can use smart calculations to tag or group employees with multiple options; for example, a set of salary guidelines or a group of functional areas.
In the following example, functional areas for an org are defined by these Carrot expressions:
- Technical and Product – (department.func='Design' or department.func='Engineering' or department.func='Product' or department.func='Security') and placement:normal
- Sales and Marketing – (department.func='BD' or department.func='CS' or department.func='Marketing' or department.func='Sales' or department.func='Support') and placement:normal
- Operations and Finance – (department.func='Executive' or department.func='Finance' or department.func='General' or department.func='IT' or department.func='Legal' or department.func='Operations' or department.func='People' or department.func='Recruiting') and placement:normal
- Administrative/Other – placement:assistant