Editing a calculated column, metric, or URL affects all dashboards portfolio-wide. Always validate logic before you apply changes. Native columns cannot be edited. They are the building blocks that calculations reference.
You can create a calculated field from Building BI Data Sources or from a chart in the dashboard editor. Both paths open the same Add Column form.
Open Data Sources from the bottom of the Building BI left navigation tray. Do not use the Cloud BMS Data Sources button. That page manages connectors, not Building BI tables. See Data source types.
In Building BI, select Data Sources at the bottom of the left navigation tray.
2
Open the data source
Select the data source you want to extend.
3
Start a new field
Select + Add Column in the upper right of the schema view.
4
Complete the field details
Choose the field type, then set name, display name, description, data type, and SQL expression. Optionally enable Hidden or Sensitive Values on the field.
Field
Description
Type
Calculated, Metric, or URL.
Name
Unique identifier within the data source. Use this name in SQL and chart configuration.
Display name
Label shown in Building BI. Can differ from Name.
Description
Optional summary of the field’s purpose.
Data type
Number (DOUBLE_VALUE), String, Date or DateTime, or Boolean. Required for calculated columns and metrics.
SQL expression
Logic for the field, written in the database dialect of the source.
Hidden
Hides the field from the available columns list in Building BI.
Sensitive Values
Shows the column name instead of the value. Sensitive fields do not transfer when you template.
Add Column form for a calculated field on a Building BI data source
For schema tabs, samples, and SQL examples, see Data sources.
While editing a chart, open Chart Parameters Setup and select + Add Column (or the + control next to a field group such as Metrics). The same portfolio-wide field form opens.
Adding a calculated field from Chart Parameters Setup while editing a dashboard
You cannot edit an existing calculated field’s SQL from the chart fx popup. Open the field from Data Sources to change the expression. See Chart setup parameters.
Calculated columns work like spreadsheet formulas. They apply logic to each row using only that row’s data.Common patterns include extracting time parts (for example, toHour(date_time_local)) and isolating one sensor with conditional logic. Use exact database column names (for example, building_name, not "Building Name"). See Point time series column reference.On Point Time Series Real-Time (ClickHouse), wrap metadata fields such as building_name, device_name, or ontology_point_field in dictGetString(...). Last Value tables do not need the wrapper.
Calculated metrics aggregate across multiple rows. The output recalculates based on the chart’s grouping (for example, per hour or per device).You can filter inside the expression (for example, sumIf) or keep the metric simple and filter on the chart. See Filter options and worked examples in Data sources.As an alternative to a chart filter, put the condition in a single metric. For example:
avgIf(number_value, device_name = 'AHU_2')
That metric returns the average only for matching rows. You do not need a separate chart filter for that device.Set a data type on every calculated metric. Non-Number metrics change where you can use the field:
Area
Behavior
Charts that need a numeric metric
String, DateTime, and Boolean metrics cannot be the metric in Bar (all), Line (all), Pie, Sunburst, Tree-map (primary metric), Boxplot, Scatter, Advanced Scatter, Gauge, Sankey, Slicer, Polar (all), or Heat-map. In Time-series they may appear in the tooltip only. See Chart types.
Top N filter
Only Number metrics (DOUBLE or INT) can be used in the Top N metric section.
Formatting
String, Date, and Boolean metrics used as a table column or in a Number widget get type-appropriate formatting (for example, prefix or suffix for strings).
Calculated URLs turn row data into navigation actions.
URL type
Behavior
Internal
Pattern such as /buildings/{building_id}. Built automatically; validates IDs; navigates within Cloud BMS on desktop and mobile.
External
Opens in a new tab to an external resource (for example, a CMMS or a specific work order).
To apply a URL on a table column, open the widget Style settings. Set the column’s URL option (for example, Device URL) so each cell becomes a hyperlink to that record’s page. See Widget customization.Returned URL columns appear in the response prefixed with INTERNAL_URL:: (for example, INTERNAL_URL::building_url::building_name).
You can assign a single URL column (urlColumn) to a dimension, breakdown dimension, hierarchy item, or the Time-series Key column.On charts with a URL applied, right-click a data point to open a context menu. The menu offers navigation to the linked Cloud BMS record (Building, Area, Device, and similar) and cross-filtering.Supported on Tables (Raw, Aggregated, Pivot), Bar (all), Line (all, at marker points), Pie, Sunburst, Heat-map, Tree-map, Scatter, Boxplot, Sankey (nodes only), Polar Bar (all), and Time-series. Chart definitions are in Chart types.
Calculated columns and metrics in Building BI do not support:
Window functions
Aggregations of aggregations
This is a calculated field limit, not a ClickHouse limit. ClickHouse virtual table SQL can use window functions. Put the logic in a virtual table when you need window functions or aggregations of aggregations.