Skip to content

Widget Calculations

Calculations define how your widget aggregates and displays data. In the widget editor, you’ll configure these using the Function dropdown.

Each data layer performs a calculation that transforms raw data into displayed values.

Dataset → Filter → Group → Aggregate → Display
  1. Dataset: Select your data source
  2. Filter: Optionally limit which records to include
  3. Group: Optionally categorize by a column (X-Axis)
  4. Aggregate: Summarize into values using a function
  5. Display: Show in the widget

These are available for most data visualization widgets. Select them from the Function dropdown in the data layer settings.

Type Description Example
Row Count Number of records in dataset Total tickets, Customer count
Type Description Example
Sum Total of all values Total revenue, Hours worked
Average Mean value Average ticket time, Avg order value
Median Middle value (50th percentile) Median salary, Median response time
Mode Most common value Most frequent status, Common category
Max Largest value Maximum order, Highest price
Min Smallest value Minimum price, Lowest inventory
Range Difference between max and min Price spread, Time range
Type Description Use case
Custom Create your own formula Complex metrics, weighted averages
Percentage Percentage matching a filter Conversion rate, Success rate

Some functions require a specific column (set via Computation Column):

Function Requires column Column type
Row Count No N/A
Sum Yes Numeric
Average Yes Numeric
Median Yes Numeric
Max Yes Numeric, Date, Text
Min Yes Numeric, Date, Text
Mode Yes Any
Range Yes Numeric
Custom No N/A
Percentage No N/A

Numeric columns support all calculations.

Date columns support: Row Count, Max (latest), Min (earliest)

Text columns support: Row Count, Max, Min, Mode


  1. In the widget editor, make sure you’re on a data visualization widget
  2. Data layers appear in the left panel under “Data Layers”
  3. Click + Add Data Layer for additional calculations
  4. Each layer can have its own dataset and function
  1. In the data layer settings on the right, find the Dataset field
  2. Choose from available datasets or modified datasets
  3. Columns load automatically
  1. Enter a Layer Name for the data layer
  2. Select the Function type (Row Count, Sum, Average, etc.)
  3. If required, select the Computation Column
  4. Configure additional options like X-Axis

Apply filters to limit which records are included.

Use the Filter Builder for precise logic:

  1. In the data layer config, click Filter
  2. A filter dialog opens
  3. Define conditions using columns, operators, and values
  4. Group conditions with AND/OR logic
  5. Click Done to apply the updated filter

For complete details, see Filtering Data.

  • Groups: Nest conditions for complex logic (e.g., (A OR B) AND C)
  • Dynamic Values: Compare against other columns or Dashboard Filter Variables
  • Date Logic: Use relative ranges like “Last 30 Days” or “Start of This Month”

Special options for date filtering:

Filter Description
Today Current date
This Week Current week
This Month Current month
This Quarter Current quarter
This Year Current year
Last N Days Rolling window
Date Range Specific start/end dates
Filter Variable Use dashboard filter

Groupings break down calculations by category.

For chart widgets, the X-Axis determines how data is grouped:

  1. Select a column for the X Axis field
  2. The calculation runs for each unique value
  3. Results display as separate bars, lines, or pie slices

Bar and line charts can split a single text value into multiple X-axis categories.

  1. Select an X Axis column in the data layer
  2. Enter a character in X Axis Delimiter (optional), such as , or |
  3. If the column contains multiple values in one field, the widget splits them into separate categories

If your chart uses Secondary X Axis, you can also set Secondary X Axis Delimiter (optional) to split that field the same way.

Blank, empty, and literal null values on category-based X-axes display as Blank in the chart and drilldown instead of being skipped.

X-Axis selection Result
None (no X-axis) Single total value
Product column Value per product
Date column Value over time
Status column Value per status

When using date columns as X-axis, choose time increments:

Increment Example output
Minute 2024-01-15 14:30
Hour 2024-01-15 14:00
Day 2024-01-15
Week 2024-W03
Month January 2024
Quarter Q1 2024
Year 2024

Create custom metrics using the Custom function type.

  1. Select Custom as the function type
  2. Open the Custom Calculation Editor
  3. Build formulas using columns and operations
  • Arithmetic: Add, subtract, multiply, divide
  • Functions: ABS, ROUND, CEIL, FLOOR
  • Conditionals: IF statements
  • String: Concatenate, substring, length
[Revenue] - [Cost] // Profit
[Revenue] / [Quantity] // Average price
[Price] * 1.1 // Price with 10% markup
IF([Status] = "Closed", 1, 0) // Closed count
[Amount] / [Total] * 100 // Percentage of total

Calculate what percentage of records meet specific conditions.

  1. Select Percentage as the function type
  2. Configure the Primary Filter (denominator)
  3. Configure the Percentage Filter (numerator)
  4. Result: (Matching records / Total records) x 100

Conversion rate calculation:

  • Primary Filter: All leads (status is not null)
  • Secondary Filter: Converted leads (status = “Won”)
  • Result: Percentage of leads that converted

Widgets can contain multiple calculations for richer visualizations.

Widget Multiple layers support
Bar Chart Yes - compare multiple series
Line Chart Yes - overlay multiple trends
Pie Chart Yes - compare datasets
Matrix Yes - show multiple metrics
Funnel Yes - compare funnels
Number No - single value only
Gauge Yes - up to 2 layers (current value + dynamic max)
Table No - single dataset only
  1. Configure your first data layer
  2. Click Add Data Layer
  3. Select a different dataset or apply different filters
  4. Configure the second calculation
  5. Repeat as needed
  • Bar Chart: Compare revenue vs. target per product
  • Line Chart: Show this year vs. last year trends
  • Pie Chart: Compare market share across regions
  • Matrix: Display multiple KPIs per employee

  • Display current state of your data
  • Update in real-time as data changes
  • Good for: Live dashboards, current metrics
  • Record values over time at scheduled intervals
  • Enable historical trend analysis
  • More resource-intensive but tracks changes
  • Good for: Trend reports, historical comparisons

Use Standard when:

  • You need live, current data
  • Your source system tracks history
  • Performance is critical

Use Snapshot when:

  • Your source doesn’t store historical data
  • You need to track changes over time
  • You’re building trend reports

  • Verify the correct column is selected
  • Check filter conditions are correct
  • Confirm aggregation type matches your intent
  • Review grouping (X-axis) settings
  • Null values are excluded from most aggregations
  • Use “Row Count” for total rows including nulls
  • Use “Min/Max” to check for null date ranges
  • Check for duplicate records in source data
  • Use appropriate grouping
  • Verify filters aren’t creating overlaps