Forum Discussion
Creating A KPI Dashboard - Grouping multiple data type displays
- 8 months ago
Hi Walt1010,
You're absolutely right. Aligning multiple KPI types (percentage, decimal, and text) in multiple table visuals is painful. Power BI wasn’t designed for pixel-perfect multi-table alignment. But there are clean alternatives that solve your issue without fighting the UI.
Instead of multiple table visuals, convert your KPIs into a normalized table and use a single matrix to keep alignment perfect.
Step1: Create a table that defines your KPI list
------DAX------
KPI List =
DATATABLE(
"KPI Name", STRING,
"KPI Type", STRING,
{
{"On-time Shipment %", "PERCENT"},
{"Avg Delivery Days", "DECIMAL"},
{"Supplier Status", "TEXT"},
...
}
)------DAX------
Step 2: Create a Universal KPI Measure
------DAX------
KPI Value =
SWITCH (
SELECTEDVALUE('KPI List'[KPI Type]),
"PERCENT", [KPI % Measure],
"DECIMAL", [KPI Decimal Measure],
"TEXT", [KPI Text Measure]
)------DAX------
Now you place KPI Name on rows and KPI Value on values,
All KPIs rendered in one clean, aligned visual with full styling control.
=====================================================
Did I answer your question? Mark my post as a solution! This will help others on the forum!
Appreciate your Kudos!!
Jaywant Thorat | MCT | Data Analytics Coach
Linkedin: https://www.linkedin.com/in/jaywantthorat/
Join #MissionPowerBIBharat = https://shorturl.at/5ViW9#MissionPowerBIBharat
LIVE with Jaywant Thorat from 15 Dec 2025
8 Days | 8 Sessions | 1 hr daily | 100% Free
Use Multi-row Card + Custom Visuals
1. Multi-row Card
- Add all 20 KPI measures to Values
- Format → Grid → Rows: 5, Columns: 5
- Category label: Off (hides headers)
- Perfect alignment, handles %/decimal/text automatically
2. KPI Cards by Nova Chart (Free Custom Visual)
- AppSource → "KPI Cards by Nova"
- Single visual handles all data types
- Column/row grid layout
- No header issues
3. Matrix with Header Hack:
Rows: Measure names (create table)
Values: Field Parameter (all KPIs)
Format → Row headers → Off
Row padding → 0px
Column headers → Off
If this answer helped, please click Kudos or Accept as Solution.
-Kedar
LinkedIn: https://www.linkedin.com/in/kedar-pande