At first glance, a KPI is just a number on a dashboard. But depending on the task, cards can vary significantly in structure. I'd highlight several groups:
Single one number
Monitoring number + delta + trend
Multi-metric one main metric with several related ones in a single card
Threshold a value alongside its target
Progress visual % of completion
Comparative plan vs fact, segment A vs segment B
Status where the color matters more than the number itself 🟢🟡🔴
Today I want to focus on monitoring KPIs where you can immediately see not just the current value, but also the dynamic: delta to the previous period and a trend line.
In Qlik Sense, I build these cards using an HTML Box. It's not a separate widget it's a string expression where HTML is assembled via & concatenation, and Qlik calculations are embedded directly inside the string:
The delta color is calculated dynamically with If()construction directly inside the style attribute. Writing this HTML manually isn't necessary: ChatGPT handles it well, just describe the layout you want.
Pro tip for reuse: use variables and master measures. To create a second KPI with the same design, simply copy the block and replace the master measure and variables using Find & Replace.
The card with a trend line at the bottom is built from three objects inside a Layout Container:
HTML Box main value and delta
Line Chart trend line with no axes or labels
Layout Container combines them into a single block
The result looks like a fully polished product design using only the built-in tools of Qlik Sense.
Dashboard example built in Qlik Sense showing 6 KPI card types: Monitoring (value + delta + trend line), Multi-metric (primary metric with additional metrics), Status (with background color), Comparative (two dimensions side by side), Progress (value + % of target), and Single (standalone number).