Skip to content

Dashboard functions and Break By

When you build a chart widget on a presentation dashboard, you combine three ideas:

  1. Variable -a question from dashboard setup (for example Q1).
  2. Function -how to aggregate answers on that variable (count, exists, or nps where allowed).
  3. Break By (optional) -split the metric by another variable, or by the same question to show one row or bar per answer option.

This page explains what each function does, how Break By changes the result, and how multi-select questions behave differently from single-select.

Where to configure

In the dashboard builder, open Add widget or Edit widgetAdd metrics (variable + function) → Select Break By (optional). The same metric rules apply on the canvas and on the add/edit widget page.


Widget types and supported functions

Widget typeCOUNTEXISTSNPSBreak By
Bar / pie / donut / line / area chartYesYesNoYes
NPS chartNoNoYes (only)No
Rich text (embedded metrics)YesYesYesPer metric

COUNT, EXISTS, and NPS support by question type

COUNT and EXISTS are available for all answer-storing question types in dashboard setup on bar, pie, donut, line, area, and rich-text metric widgets (not on the dedicated NPS chart widget, which uses NPS only).

FamilyCOUNTEXISTSNPSBreak By (as dimension)Break By = same question
Choice (single_choice, multiple_choice, dropdowns)YesYesNoYesYes -distribution
NPS scale (nps_scale, nps_advanced)YesYesYesYesYes
NPS multiple row bindableYesYesYesNoNo
NPS advanced inner follow-upYesYesNoYesYes
Rating (rating_single, rating_advanced)YesYesNoYesYes
Text, upload, media, contact, form testYes -# respondents who answeredYesNoNoNo
Text multiple / upload multiple row bindablesYes (per row)YesNoNoNo
Ranking (all ranking types)YesYesNoYesYes
Parent text_multiple / upload_multiple (no row ref)NoNoNoNoNo
Parent nps_multiple / rating_multiple (no row ref)NoNoNoNoNo

How to read COUNT on presence types

Text, upload, media, contact, and form-test variables measure whether someone answered, not a distribution of answer text or files.

ConfigurationCOUNT result
No Break ByTotal respondents with a non-empty, countable answer (empty and N/A excluded).
Break By = another questionRespondents who answered the value question, grouped by break-by segments (for example contact submissions per region).
Break By = same questionNot supported -there is no option list to split on. Use Break By on a choice, NPS, rating, or ranking variable instead.

When to use which function

  • COUNT -when you need “how many” (totals or counts per segment).
  • EXISTS -when you only need yes/no (1 / 0) per segment or overall.

Contact information is one dashboard variable for the whole question (not separate variables per field). Contact can be the value in a metric (for example COUNT(Contact) broken by Region) but cannot be chosen as a Break By dimension.


How to read COUNT, EXISTS, and Break By

FunctionNo Break ByBreak By = other questionBreak By = same question
COUNTOne totalOne row or bar per segmentOne row or bar per answer option
EXISTS1 or 00 / 1 per segment0 / 1 per option
NPSNPS score + promoter/passive/detractor segments (NPS chart or NPS() in rich text only)--

On charts, a scalar result is one number; a series result is one value per break-by label. NPS never uses Break By on the NPS chart widget.


Choice question types (COUNT + EXISTS)

These rules apply to choice variables for COUNT and distribution Break By:

Question typeRespondent can select
Single choice / dropdown (single)One option
Multiple choice / dropdown (multiple)One or more options

Functions available today

FunctionAPI valueWhat it measuresBreak By allowed?Widget types
COUNTcountHow many answers count toward the metricYesCharts, rich text
EXISTSexistsWhether any countable answer exists (1 or 0)YesCharts, rich text
NPSnpsNet Promoter Score on NPS scale variablesNoNPS chart; NPS() tokens in rich text

COUNT

The default function for most charts.

ConfigurationResult
Variable only (no Break By)One number -how many respondents gave a countable answer on that question (empty and N/A are excluded).
Break By = same questionDistribution chart -one bar per answer option. This is the standard way to show “how answers are split.”
Break By = another questionOne bar per break-by option -respondents who answered the value question, grouped by the break-by question (for example satisfaction by region).

EXISTS

A yes/no presence flag:

  • No Break By: returns 1 if at least one respondent gave a countable answer on the value question; 0 otherwise.
  • With Break By: returns a series of 0 or 1 per break-by dimension -1 when at least one respondent in that bucket answered the value question (or when that option was ever selected for same-question break-by).

For answer distributions, prefer COUNT with Break By = same question. Show percent on EXISTS series uses binary percent (100% / 0% per bar). Show-zero and show-percent toggles appear when Break By is set.


Break By in practice

Break By does not change which survey responses are included. It only changes how the result is grouped on the chart.

mermaid
flowchart LR
  V[Value variable + Function] --> R{Break By?}
  R -->|No| S[Scalar -one metric]
  R -->|Same question| D[Series -one bar per answer option]
  R -->|Other question| X[Series -one bar per break-by option]

Common author goals

GoalFunctionBreak ByChart shape
How many people answered?COUNT-Single value
Answer distributionCOUNTSame questionBar per option
Metric by segment (region, team, …)COUNTOther questionBar per segment
Did anyone answer at all?EXISTS-1 or 0
Presence per segmentEXISTSOther question0/1 per segment
How many submitted contact info?COUNTOther question (e.g. Region)Count per segment
How many answered (free text)?COUNT-Single total

Same question = distribution

In XEBO-style dashboards, answer distribution is not a separate function. It is COUNT with Break By = the same variable as the value.


Multi-select questions

For multiple choice and multi-select dropdown, one respondent can pick several options. With Break By = same question, COUNT counts selections per option (if one person picks A and B, both A and B increase by 1).

FunctionNo Break ByBreak By = same question
COUNTUnique respondents with at least one selectionSelections per option
EXISTS1 if any option was selectedPer option: 1 if ever selected, else 0

Example: 3 respondents -R1 selects A+B, R2 selects A, R3 selects B+C.

OptionCOUNT (distribution)
A2 (R1 + R2)
B2 (R1 + R3)
C1 (R3)

Use COUNT when bars should reflect how often each option was chosen (including multi-select totals per option).


Display options (not functions)

These settings affect labels on the chart, not the underlying aggregation:

OptionEffect
Show countBars show raw numbers (default).
Show percentBars show percentage of the total (for series / distribution charts).
Show zero valuesInclude answer options with 0 responses so the full option list appears on the axis.

Functions planned for later

The product roadmap follows the XEBO function list. These are not available in the dashboard builder yet:

FunctionRequires
SUM, AVG, MIN, MAX, CSATScore points on each answer option in the survey builder (same idea as XEBO “Recode”)
DIFF, MULTIPLY, DIVIDE, SQRT, FLOORFormula-style widgets + score points

When score points are enabled on choice options in the survey design, each option can carry a numeric value used later for averages and sums. The dashboard engine will read those values from the pinned survey version linked in dashboard setup.


Tips

  1. Distribution chart → COUNT + Break By = same question.
  2. Segment comparison → COUNT + Break By = another setup variable.
  3. Multi-select option totals → COUNT + Break By = same question.
  4. After you change survey options (add/remove/reorder), re-save dashboard setup if you use a pinned response scope so labels stay aligned.

See also

  • Setup and sources -pinned design version, response scope, and stale question handling.

AKWAD CXM - help center