KPI with Change displays one primary metric as a KPI. It can be used as a classic single-value widget or as a KPI Card with optional comparison, trend, goal progress, and status context. A user can:
- Select the Metric to track (the field that will be displayed)
- Select a Previous Value field, or compare against the previous row of the primary metric
- Display the Percent Change calculation between the two values
- Display a mini trend chart when the result has time-series rows
- Display progress toward a goal when the result has a goal, target, quota, budget, max, or limit field
- Display the original value (optional)
- Choose the up/down caret color (defaults to green/red)
For example, if you have a metric called "New Delivered", you can compare its % change (increase or decrease) with another metric "Delivered". For a KPI Card, the same query result can also provide the headline value, trend rows, previous value, and goal progress.
Data Structure for KPI Cards
Structure the query result according to the KPI behavior you want:
| Behavior | Data required |
|---|---|
| Simple KPI | One row with one numeric metric column, such as revenue. |
| Trend | Two or more rows with a date, time, or sequence column and one numeric metric column. The latest row is used as the headline value and all rows draw the mini trend. |
| Previous period comparison | Two or more rows for the primary metric. Leave Previous Value blank to compare the latest row against the previous row. |
| Previous value in the same row | Include a numeric comparison column in the latest row, such as previous_revenue, and select it as Previous Value. This takes precedence over the previous-row comparison. |
| Goal or progress | Include a numeric goal-like column, such as target, goal, quota, budget, max, or limit, or enter a Fixed Goal in the widget settings. |
| Full KPI Card | Return a time field, a numeric metric, and optional previous-value and goal columns. |
Example query result:
month | revenue | previous_revenue | target |
|---|---|---|---|
| 2026-01-01 | 118000 | 112000 | 150000 |
| 2026-02-01 | 123100 | 118000 | 150000 |
| 2026-03-01 | 129430 | 123100 | 150000 |
For this result:
- Select
revenueas Metric to Track. - Select
monthas Time Field, or leave Time Field blank for auto detection. - Select
previous_revenueas Previous Value when the comparison value is in the same row. Leave Previous Value blank when you want the widget to compare the latestrevenuerow to the previousrevenuerow. - Select
targetas Goal / Max Field, or use Fixed Goal.
Use raw numeric values for metrics, comparison fields, and goals. Avoid currency symbols, percent signs, and comma-formatted strings in the data itself; use Data Format settings for display formatting such as currency, decimal places, compact numbers, percentages, prefixes, suffixes, and negative number style. Blank or null comparison, time, or goal values prevent those parts of the KPI Card from rendering. If the result only contains a metric and no trend, comparison, goal, or status context, the widget displays a simple centered KPI.
Goal progress is displayed as a progress bar. Use Bar Thickness to control the progress bar height. Goal colors are based on progress toward the goal. The default Auto status mode uses semantic colors for below target, near target, and at or above target. If lower values are better for the metric, set Success Direction accordingly so the colors are evaluated in the correct direction. Fixed color uses one selected color for the goal display. Custom Goal Bands let you define threshold bands with your own colors. Choose a Basis of Percent or Value; Percent is the default.
Auto Scale applies to both classic Single KPI and KPI Card layouts, but the layouts scale differently for backward compatibility. Classic Single KPI keeps its legacy scaling behavior. KPI Card fits the value, label, comparison text, and goal label to the widget card; the mini trend chart uses the available layout space rather than a font scale.
The KPI Card comparison row can be styled independently. Use Comparison font size to control the previous-value or change row size. Use Comparison color to keep automatic semantic colors, match the main KPI value color, or choose a custom comparison color.
Chart Configuration
| Field | Interpretation |
|---|---|
| Metric to Track | Numeric field to show as the primary KPI value |
| Previous Value | Optional numeric field from the latest row to compare against. If this is blank, KPI Cards can compare against the previous row of the primary metric. |
| Percent Change | Percentage change calculation |
| Original Value | Show/hide original value |
| Layout | Use Simple Number for the classic value-only layout, or KPI Card for comparison, trend, and optional goal progress. Simple Number hides the Trend and Goal sections. |
| Show Trend | Shows a mini chart when the result has at least two rows and a date, time, or sequence field. |
| Trend Style | Choose Area, Line, or Bar for the mini trend chart. |
| Time Field | Date, time, or sequence column used to order trend rows. |
| Comparison | Choose how the KPI is compared: Auto, previous period, previous value field, goal field, another field, or none. |
| Comparison font size | Font size for the KPI comparison / previous value row. Leave blank to use Auto Scale. |
| Comparison color | Choose Auto semantic, Same as value, or Custom color for the KPI comparison / previous value row. |
| Custom comparison color | Color used when Comparison color is set to Custom color. Use a hex value or a theme token such as theme.success. |
| Goal / Max Field | Numeric goal, target, quota, budget, max, or limit field used for progress display. |
| Goal Color | Choose Auto status, Fixed color, or Custom bands. Auto status colors progress according to the goal and Success Direction. |
| Fixed Goal Color | Color used when Goal Color is set to Fixed color. Use the color picker or enter a hex value. |
| Bar Thickness | Progress bar thickness in pixels. |
| Custom Goal Bands | Define threshold bands for goal progress. Choose Percent or Value as the basis, then enter each band's From, To, Label, and color. Percent is the default basis. |
| Success Direction | Controls whether higher values, lower values, or neutral changes are treated as good for comparison and goal coloring. |
| Auto Scale | Automatically scales KPI text. Classic Single KPI keeps legacy scaling; KPI Card fits text to the widget card. |
Display & Formatting
| Field | Interpretation |
|---|---|
| Title Font Color | Set the title font color of the widget |
| Title Font Size | The default title font size is 14px. |
| Font size | To set the size of the font |
| Font color | To set the color of the font |
| Label font size | To set the label font size |
| Label font color | To set the label font color |
| Hide field names | Do not display field names |
| Up caret color | Defaults to green |
| Down caret color | Defaults to red |
| Data Format | Formatting for one or more fields |
| Background Color | Change background of widget |
Widget Menu
| Field | Interpretation |
|---|---|
| Show Title | Show Title on Widget |
| Analyze | Show Analyze menu |
| Alerts | Show Alert icon |
| Filters | Show Filter icon |
| Drilldowns | Show Drilldowns menu |
| Query | Show Query menu |
| Data/Export | Show Data/Export menu |
| Data Diagram | Show Data Diagram |
| Share | Show Share menu |
| Refresh | Show Refresh menu |
| Maximize | Show Maximize menu |
| Remove from Dashboard | Show Remove from the Dashboard menu |
| InstantSights | Show InstantSights |