Lookup table
Embed a live read-only view of a query in any document.
A lookup table is a read-only view of a query embedded in a document. Unlike a data table (document-local) or a registration table (writes back), a lookup table just shows results from a saved query or an inline filter, and re-runs whenever the underlying data changes.
When to use it
Use a lookup table when you want to:
- Reference data that lives in an environment without copying it into the doc.
- Show a live snapshot of "all animals in DLA-7 with baseline weight > 24 g" inside the protocol document so the team can see them while running the study.
- Build a study summary that always reflects the freshest results.
- Embed the output of a saved query inside any document.
Don't use it when you need users to enter data — use a Registration table instead.
What you see
Each row is a live link to the underlying object. Click any row to open the object's detail page in a side panel. Each column displays:
- For reference columns, the display ID (
ANM-001) plus a hover preview. - For enum columns, the enum label with the configured colour.
- For numeric columns, the value with its unit (e.g.
23.4 g). - For date columns, locale-aware formatting.
The table re-renders within a second of any change to the underlying data.
Three ways to populate it
- From a saved query
Best for reuse. Pick a saved query in the workspace; the block displays its columns. Updating the saved query updates every document that uses it.
- From an inline filter
For one-off views. Pick an environment and table, then add filter chips (sex = F, dose_mg_per_kg = 3, etc.). The filter is stored in the block.
- From a reference cell
Click any object's display ID anywhere in the document and choose "Show related objects". Dalea generates a lookup table of objects that reference (or are referenced by) the source object.
A realistic example
In a DLA-7 PK/PD study document:
Animals receiving 30 mg/kg with baseline weight > 24 g
animal_id sex strain baseline_weight_g study_group ANM-019 F C57BL/6 24.1 GRP-4 ANM-022 F C57BL/6 25.6 GRP-4 ANM-024 F C57BL/6 24.8 GRP-4
This lookup table sits alongside the protocol so the bench scientist can see at a glance which animals match the inclusion criterion. If a fourth animal's weight is updated tomorrow, the table updates everywhere it's embedded.
Configuration
| Option | What it does |
|---|---|
| Source | Saved query, inline filter, or reference. |
| Visible columns | Subset; hidden columns aren't loaded, so wide tables stay snappy. |
| Sort | One or more columns, ascending or descending. |
| Row limit | Cap to 10, 100, 1000 or all. Useful when the underlying table is huge. |
| Refresh policy | Live (every change), manual (a refresh button), or pinned to a specific result-batch close event. |
| Empty-state text | Custom message when zero rows match — useful in templated documents. |
Locked lookup tables in templates
When a template includes a locked lookup table, the source is typically pinned (the query, filter and visible columns can't be changed by users) but the row data is naturally fresh because it's read from the live environment.
This pattern shows up in IND-enabling tox study templates: a locked lookup table titled "Animals on study" appears in every document spawned from the template, and always shows the current animals — no manual sync required.
Tips
A lookup table feeding a chart is the simplest way to put a live timecourse or group comparison into a document. Both blocks can share a saved query, so they update in lockstep.
The lookup table records which version of the saved query produced its current view. If the query changes later, prior versions of the document still have a note in their version history saying which query state they were rendered against.