Conditional Formatting
Rules that recolour a point by what it is worth, evaluated as the chart is painted against the number in front of you, rather than folded into the query that went and got it.
Every point walks the list, top to bottom
matched rule 2 of 4- 1value < 30tested
- 2value between 45 and 70match, stop
- 3value >= 90not reached
- 4value >= 70not reached
- no rule matchedkeeps its slot
COLUMN · BAR · STACKED_COLUMN · STACKED_BAR · PIE · DONUT · FUNNEL · TREEMAP · RADIAL_BAR · SCATTER · BUBBLE
LINE · AREA · STACKED_AREA · COMBO · RADAR · GAUGE · KPI_CARD · TABLE · PIVOT
A rule may name a single series so it fires on that measure alone, and the evaluator honours the field. The editor has no series picker, so a rule authored there applies across every measure on the widget.
Product figures from the platform’s own defaults - not customer averages
How it works.
What one rule holds
A comparison, a number to compare against, a second number when the comparison is a band, and a colour. The colour is passed straight through to CSS, so a hex value, an rgb triple or one of the theme's own variables all work.
Author order breaks the tie
Each point walks the list and takes the colour of the first rule that matches. A point matching nothing keeps whatever slot the palette gave it. Ordering the list is therefore how you decide which of two overlapping bands is stronger.
It reaches marks that have their own fill
Bar and column cells, pie and donut arcs, funnel bands, treemap tiles, radial arcs, and scatter and bubble points. Each of those is drawn per row, so per row is where a rule can bite.
A rule can be aimed at one series
Naming a series on the rule fires it only on that measure, which is what stops a target written for revenue recolouring the count plotted beside it. Left unnamed, the rule applies across every measure on the widget.
One moment in every number.
Every number passes through the same seven. Conditional Formatting is the lit one, and everything either side of it is a different page in this category.
- 01Query
what is asked, and of what
- 02Shape
the measure and the dimension
- 03Draw
the visual chosen for that shape
- 04Arrange
where it sits on a dashboard
- 05Filter
narrowing it after the fact
- 06Drill
going from the number to the rows
- 07Share
who else gets to see it
The specifics.
7 facts- Comparisons
- Below, at-or-below, above, at-or-above, equal, unequal, and between two bounds
- Colour
- Any CSS colour string, including the theme's own custom properties
- Reaches
- Both bar families including their stacked forms, pie and donut arcs, funnel bands, treemap tiles, radial arcs, points on a scatter or bubble plot, and pivot grid cells
- Does not reach
- Anything drawn as one continuous stroke or sheet: the line, the area and its stacked form, the combo, the radar. Nor gauges, single-figure cards or plain tables
- Where it runs
- In the browser, per point, after the numbers arrive. Nothing about it changes the query
- Series scope
- Optional on the rule. Named, it fires on one measure; left off, it fires on all of them
- Not the same as
- Theme Sets, which decides the default colour a point gets before any rule is consulted
What this is assembled from.
A number on a dashboard was built somewhere before it was drawn. These are the parts it is made of.
More in Reporting & Analytics
12 capabilitiesSeven data shapes, twenty-two visuals, shareable without the portal.
A widget declares a data shape; the visual is a separate choice. Swap between the visuals valid for that shape and the query does not run again.
Hand a board to a team or a CRM role, at read or at edit, by the person who built it. Roles outlive people, which is why a share points at one, not a mailbox.
Build as many as the floor needs, arrange them on a grid, and give each team the one that answers their question rather than everybody's question.
Click a bar and the rest of the dashboard follows it, so the next question is asked by pointing at the answer instead of rebuilding the filter.
Wire a chart's clicks to a second dashboard. The value travels on the URL and is read by the board that was named before it paints for the first time.
Cross one dimension against another with row, column and grand totals - the shape a finance team asks for when a chart will not settle the argument.
Put a window against the one before it, or against the same window a week, month, quarter or year back, on a card as a difference or a chart as a series.
Seventeen operators in a nested and-or tree, so the report that needs two exceptions and a date range stays one widget instead of becoming three.
Group by day through year, by equal-width bands, or by breakpoints you set, each band carrying a sort key so the axis reads in bucket order.
Thirty-two bytes of entropy, an expiry you choose, revocation on the spot, and only the hash kept at rest, on a board that draws its figures for a reader.
Name a slot at the call site and one authored widget answers it everywhere inside the product, computed against the records of whoever is signed in.
Total calls, answered rate, average duration and missed calls, split by direction and outcome, over the call records rather than a sampled export.
The rest of the platform.
Five more categories, all on the same record and the same bill. Each card names three of its capabilities, so you can tell from here whether it is worth opening.
Reporting & Analytics
See conditional formatting on your own floor.
Thirty minutes, your numbers and your data. We will set conditional formatting up live and you can decide from the thing itself rather than from this page.
14-day trial · no card · migration included