Relations and Lookups allow you to connect datasets together, creating powerful data models without duplicating information. Link records across datasets and automatically pull in related values—keeping your data organized, consistent, and always up-to-date.
Understanding Relations
A Relation field creates a link between records in two different datasets. This allows you to:
- Connect related data without duplicating it
- Build hierarchical data structures (e.g., projects → tasks, customers → orders)
- Create many-to-one or many-to-many relationships
- Keep information synchronized across datasets
Example Use Cases
| Scenario | Primary Dataset | Related Dataset | Relationship |
|---|---|---|---|
| Project management | Tasks | Projects | Many tasks → One project |
| Customer orders | Orders | Customers | Many orders → One customer |
| Asset tracking | Assets | Locations | Many assets → One location |
| Inventory | Products | Categories | Many products → One category |
| Field surveys | Observations | Sites | Many observations → One site |
Adding a Relation Field
- Open your dataset in the data table view
- Click + Add Field in the table header
- Select Relation from the field type dropdown
- Configure the relation:
- Related dataset: Select the dataset you want to link to
- Display field: Choose which field to show when selecting records
- Click Create to save
Once created, you can click on any cell in the Relation field to:
- Search for and select existing records from the related dataset
- Link multiple records (for many-to-many relationships)
- View linked record details
- Navigate directly to linked records
Understanding Lookups
A Lookup field retrieves and displays values from a field in a linked record. Once you've established a relation, lookups let you bring specific data from the related dataset into your current dataset—without copying or duplicating it.
Lookups are read-only and automatically update when the source data changes.
How Lookups Work
- A Relation field connects Dataset A to Dataset B
- A Lookup field in Dataset A displays a specific field value from the linked record in Dataset B
- When the value in Dataset B changes, the Lookup in Dataset A updates automatically
Example
Scenario: You have a Tasks dataset linked to a Projects dataset.
| Tasks Dataset | Field Type | Value |
|---|---|---|
| Task Name | Text | "Design homepage" |
| Project | Relation | "Website Redesign" |
| Project Status | Lookup | "In Progress" |
| Project Manager | Lookup | "Sarah Chen" |
The Lookup fields automatically show the Status and Manager from the linked Projects record.
Adding a Lookup Field
- Open your dataset in the data table view
- Click + Add Field in the table header
- Select Lookup from the field type dropdown
- Configure the lookup:
- Source relation: Select an existing Relation field in your dataset
- Field to lookup: Choose which field from the related dataset to display
- Click Create to save
Note: You must have at least one Relation field in your dataset before you can create a Lookup field.
Lookup Field Behavior
Multiple Linked Records
When a Relation field contains multiple linked records, the Lookup displays all corresponding values as a comma-separated list.
| Relation Field | Lookup (Status) |
|---|---|
| Project A, Project B | "Active, Completed" |
Empty Relations
If no record is linked in the Relation field, the Lookup field displays empty/blank.
Supported Source Field Types
Lookups can retrieve values from most field types in the related dataset:
- Text, Number, Currency, Percentage
- Date, Time, Duration
- Single select, Multi select
- Checkbox, Rating
- Email, Phone, URL
- User fields
Lookups cannot be created from other Lookup fields or Geometry fields.
Working with Relations in Formulas
You cannot directly reference Relation or Lookup fields in Formula fields. To perform calculations on related data, use the Lookup field values as inputs.
Example: Calculate a value based on looked-up data
IF(@Project Status == "Active", @Priority * 2, @Priority)
Where @Project Status is a Lookup field.
Data Integrity
Deleting Linked Records
When you delete a record that is linked from another dataset:
- The Relation field in the source dataset becomes empty
- The corresponding Lookup fields become empty
- No data is lost in the source dataset itself
Changing Relations
When you change which record is linked:
- All Lookup fields automatically update to reflect the new linked record's values
- Previous values are not stored—Lookups always show current data
Best Practices
Designing Relations
- Plan your data model before creating relations. Identify which datasets need to connect.
- Use descriptive display fields so users can easily identify records when linking.
- Keep relations simple when possible. Complex many-to-many relationships can be harder to maintain.
Using Lookups Effectively
- Avoid duplicating data that could be looked up. If data exists in a related dataset, use a Lookup instead of copying it.
- Create Lookups for frequently accessed fields to save time navigating between datasets.
- Remember Lookups are read-only. To edit the value, navigate to the source record.
Common Patterns
Parent-Child Relationship
Connect child records to a single parent:
Projects (parent)
- Project Name
- Status
- Manager
Tasks (child)
- Task Name
- Project → Relation to Projects
- Project Status → Lookup from Projects
Reference Data
Link to a dataset of standardized values:
Inspections
- Location
- Asset Type → Relation to Asset Types
- Inspection Interval → Lookup from Asset Types
- Checklist Template → Lookup from Asset Types
Asset Types (reference)
- Type Name
- Inspection Interval
- Checklist Template
Geographic Hierarchy
Connect locations to administrative boundaries:
Sites
- Site Name
- Site Location
- Region → Relation to Regions
- Regional Manager → Lookup from Regions
Troubleshooting
| Issue | Solution |
|---|---|
| Can't create Lookup | Ensure you have at least one Relation field in your dataset first. |
| Lookup shows blank | Check that the Relation field has a linked record. Verify the source field has a value. |
| Lookup shows multiple values | This is expected when the Relation links to multiple records. Each value is comma-separated. |
| Can't edit Lookup value | Lookups are read-only. Navigate to the linked record to edit the source value. |
| Deleted record still showing | Refresh your browser. The Relation should clear when the linked record is deleted. |
| Relation options not loading | Check your permissions. You need access to the related dataset to link records. |
Relations vs. Duplicating Data
| Approach | Pros | Cons |
|---|---|---|
| Relations + Lookups | Data stays in sync automatically; no duplication; single source of truth | Requires more upfront planning; lookup values are read-only |
| Copying data | Simple to set up; values are editable | Data can become out of sync; storage waste; maintenance burden |
Recommendation: Use Relations and Lookups whenever data logically belongs to another dataset and should stay synchronized.