- Create a calculated field
- Who can use the field
- Choose what the field should do
- Use the field in your dashboard
- Build one field on top of another
- Things to watch out for
Create a calculated field
Open a dashboard in edit mode. In the left sidebar, open Calculated Fields (calculator icon).Start a new field
Click New calculated field. Give it a clear name (for example “Area in m²” or
“Fire door?”).
Choose where it is saved
Pick Dashboard, Project, or Workspace. That controls who else can reuse
the field. See Who can use the field.
Choose what it should do
Pick a type that matches your goal (maths, grouping, fill blanks, and so on), fill
in the options, then save. The dialog includes a short How this works note for
each type.
Who can use the field
When you save a field, you choose how widely it is shared:| Saved to | Who can reuse it | On this dashboard |
|---|---|---|
| Dashboard | Only this dashboard | Ready as soon as you save |
| Project | Other dashboards in the same project | Click Use on this dashboard first |
| Workspace | Dashboards across the workspace | Click Use on this dashboard first |
- Remove from this dashboard — stop using a shared field here; it stays in the library.
- Delete from library — remove a shared field so others cannot use it either.
- Delete field — remove a field that only exists on this dashboard.
Choose what the field should do
You do not need to know formulas or spreadsheet functions. Pick the option that matches what you want the dashboard to show.| I want to… | Choose |
|---|---|
| Do simple maths or compare two numbers | Arithmetic |
| Get one total, average, or count for the whole set | Aggregate |
| Change units (for example feet to metres) | Unit conversion |
| Put numbers into labelled ranges (small / medium / large) | Grouping → Range groups |
| Put text values into custom groups | Grouping → Value groups |
| Fill in a blank when a property is missing | Null fallback |
| Swap a code or name for a friendlier label from a list | Map lookup |
| Mark each element as pass or fail with my own labels | Logical |
| Try several properties and use the first one that has a value | Coalesce |
Arithmetic
Add, subtract, multiply, or divide values from the model — for example combine two areas, or check whether one number is larger than another. You write a short formula with letters such asa and b, then tell Speckle which
model property each letter means. If a value is missing, the result is blank.
Aggregate
Get one figure for the whole data set — for example a total area or an average height — not a different number on every element. Choose All data for a fixed total, or Current view if the number should follow dashboard filters. That figure is useful when you later divide each element’s value by the total (for example to show a share of the whole). For a full walkthrough, see Show each element’s share of the whole.Unit conversion
Show a number in a different unit — for example feet to metres, or square feet to square metres. Pick the property, then choose a ready-made length or area conversion, or enter your own multiplier. The unit label is for display only.Grouping
Inside Grouping, choose Range groups or Value groups. Use Range groups when you have a number and want labels such as “under 10”, “10 to 50”, and “over 50”. Use Value groups when you have text (for example type names) and want to roll several values into one label, such as “external walls”. Anything outside your groups gets the fallback label you set.Null fallback
Use this when a property is sometimes blank and you still want a usable value in charts and filters — for example show “Not set” when fire rating is missing. Keep the property when it has a value. When it is empty or missing, show the replacement you choose.Map lookup
Turn a code or short name on the model into a clearer label using a lookup table. Pick the model property, the table, the column to match, and the column to show. Unmatched values use your fallback. You can import a CSV or Excel file from this dialog (Import new table if tables already exist), or manage tables from Lookup tables in the sidebar.Logical
Label each element with your own words — for example “Compliant” / “Needs review” — based on rules you set (the same kind of conditions you use in filters). The element gets the pass label only when every condition is met. Otherwise it gets the fail label. For full rulesets and detailed results, use Validation widgets instead.Coalesce
Use this when the same idea might live in different properties on different elements — for example one model stores area under one name, another under a different name. List the properties in order. Speckle uses the first one that has a value.Use the field in your dashboard
Once the field is on this dashboard, treat it like any other property:- Pick it when you set up a chart or table (what to total, what to group by, and so on)
- Use it in filters
- Use it to colour the model
Build one field on top of another
You can create a second calculated field that uses the first one — for example convert units first, then put the result into ranges. If two fields depend on each other in a loop, Speckle will not let you save that setup.An Aggregate field is one shared number for the whole data set. If you group a
chart by that field, you usually get a single group — that is expected.
Things to watch out for
Calculated fields are still being exercised against every widget type. A field can look fine in a table and look wrong in another widget. When something seems off, check the combination below before trusting the number.Ratios and totals can “count twice”
Some widgets (including Ratio Value and Ratio Value by Property) work by adding up a number once per element, then dividing. An Aggregate calculated field already is a total — and that same total is written onto every element. If a ratio widget adds it up per element, the result can be far too large (roughly the real total multiplied by how many elements you have). Safer patterns today:- For “share of the whole”, use Aggregate + Arithmetic as in Show each element’s share of the whole — not an Aggregate field inside a Ratio widget.
- For a simple ratio of two model properties, use the Ratio widgets with the original model properties (or a Unit conversion / per-element Arithmetic field), not an Aggregate field as numerator or denominator.
Charts that group by an Aggregate field
Because every element shares the same Aggregate value, a chart grouped by that field usually shows one bar or category. That is expected. Group by a normal property (or a Grouping / Map lookup field) instead.Totals do not cross between models yet
On a dashboard with more than one model (more than one Model Viewer / data source), an Aggregate is calculated inside each model separately. You cannot yet take a total from model A and use it in a calculated field on model B — for example “this room’s area as a share of the other building’s total”. For now, keep share-of-whole and similar maths within a single model. Cross-model totals need a different approach until this is supported.Renames break existing widgets
Charts, filters, and colour-by remember the field name. Rename the field, and those widgets need to be pointed at the new name again.Not for writing back to the model
Calculated fields are analysis-only. They do not appear as editable parameters in Parameter Updater.Check the numbers
Until the Beta settles, spot-check important dashboards: compare a calculated total to Total property value on the same property, or to a known figure from the model. If a ratio or total looks impossibly large or tiny, look for an Aggregate field used where a per-element value was expected.FAQ
Will this change my model in Speckle or in my design tool?
Will this change my model in Speckle or in my design tool?
No. Calculated fields only exist in the dashboard. They are not published back to
the model.
I created a field but I cannot find it in my chart
I created a field but I cannot find it in my chart
Check that it appears under On this dashboard. If it is only in Shared
library, click Use on this dashboard. Then open the chart settings and pick
the field by the name you gave it.
My chart broke after I renamed a field
My chart broke after I renamed a field
Charts and filters remember the old name. Open the widget settings and choose the
field again under its new name.
Can I push these values back into Revit or Rhino?
Can I push these values back into Revit or Rhino?
Not with calculated fields. They are for analysis in the dashboard. To edit real
model parameters and send changes back, see
Parameter Updater.
My Ratio widget number looks impossibly large
My Ratio widget number looks impossibly large
Check whether a numerator or denominator is an Aggregate calculated field. Ratio
widgets often add values once per element, which can multiply an already-totalled
field. Use original model properties in the Ratio widget, or build the share with
Aggregate + Arithmetic instead — see
Things to watch out for and
Show each element’s share of the whole.
Can I use one model's total in a calculation on another model?
Can I use one model's total in a calculation on another model?
Not yet. An Aggregate stays inside its own model / data source. You cannot use
model A’s total as the denominator (or any other input) for a calculated field on
model B. See
Totals do not cross between models yet.
Isn't Logical the same as Property Checker?
Isn't Logical the same as Property Checker?
Kind of yes, and kind of no. Both let you set conditions on model properties. Use
Logical when you want a label you can put in a table, chart, filter, or another
calculated field — and when your two outcomes are not necessarily “Pass” and
“Fail” (for example “Compliant” / “Needs review”).Use Property Checker (see
Validation widgets) when you want a
dedicated validation view of the result. Logical does not explain why an
element got its label or break down how that outcome was reached; Property Checker
is built for that kind of review.
See also
- Filters — Focus the dashboard on part of the model
- Lookup tables — Import lists for Map lookup and validation
- Common workflows — Share of the whole with Aggregate and Arithmetic
- Common workflows — Codes to clear labels with lookup tables and Map lookup
- Intelligence Dashboards — Overview and widgets