Skip to content

Field types

Rectangular (tabular) data, is typically structured in rows (representing observations) and columns (representing variables). In Adept, columns are referred to as fields.

Each field is assigned a specific type, which defines the kind of values it can hold. All values in a given field must either conform to this type or be marked as a missing value when they don't.

Adept supports 8 distinct data types, each of which will be explained below. Remember that you need to specify the field types of your data during the import step.

Boolean

A data type with two possible values (typically true or false). During the import step, you can configure which specific values in your dataset should be interpreted as true or false. For instance, if dataset uses ok and not_ok instead of true and false, you can map these accordingly.

If the value doesn't conform with the specified configuration, the import process will fail.

Properties: Sortable. Filterable.

Date(-Time)

A data type that represents a specific date(-time). While there are many different date formats (e.g. 2025-10-25, 25/10/2025), the preferred format in Adept is ISO8601.

js
// Preferred date-time format
2026-01-06T15:24:49.134Z

If your dates don't conform to ISO8601, you can provide a custom date format to our csv parser but it must follow the Java format patterns.

WARNING

Java format patterns differ from those in other programming languages (Python, R, C and Unix-like systems), which follow the POSIX standard.

Example: 2024-10-25

Java format patternPOSIX standard
yyyy-MM-dd%Y-%m-%d

If your dates don't conform to the format specified during the configuration, the import process will fail.

Properties: Sortable. Filterable.

Text

A datatype that represents free-form text, typically used for non-categorical data. This type is suitable for fields that may contain a wide variety of information without predefined categories.

Examples

  • User comments: "This product is amazing"
  • Descriptions: "This is a beautiful product"

Properties: Not sortable. Searchable. Filterable.

Keyword

A datatype that represents text specifically for categorical data. This type is ideal for fields where the values fall into distinct categories, allowing for efficient filtering and sorting.

Examples

  • Blood types: "A", "B", "AB", "0"
  • Diabetes type: "Type 1", "Type 2"

Properties: Sortable. Searchable. Filterable.

Text vs Keyword

feature / characteristictextkeyword
when to useThe values are mainly unique, or strings are long. E.g. IDs or doctor's notes. Full text searchThe values repeat, and strings are not too long. E.g. patient blood type, or sex (F, M)
Size limitNo limit32 KB
Sortable
Aggregation
Filterable
Supports search with spaces
Supports case insensitive search
Search as you type
Can be used in charts
Fuzzy search
Substring search
Exact Match
regex

Numbers

Integer (32-bit signed integer or int32)

A datatype used to store a number without decimal places. The number must be between 231(2147483648) and 2311(2147483647) inclusive.

ts
// valid integer
1357349524;

// invalid integer
341556234322423;

Properties: Sortable. Filterable.

Long (64-bit signed integer or int64)

A datatype used to store a number number without decimal places. The number must be between 263(9223372036854775808) and 2631(9223372036854775807) inclusive.

Properties: Sortable. Filterable.

Float

A datatype used to store a number with decimal places (a floating point number) with single precision (7 decimal digits of precision). Floats have less precision than double, but use less memory.

A single-precision 32-bit IEEE 754 floating point number, restricted to finite values.

Properties: Sortable. Filterable.

Double

A datatype used to store a number with decimal places (a floating point number) with double precision (15 decimal digits of precision). Doubles have more precision than float, but use more memory.

A double-precision 64-bit IEEE 754 floating point number, restricted to finite values.

Properties: Sortable. Filterable.