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
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
Thanks for your response. this is the solution I opted for and its worked pretty well. I have each of my KPI values embedded in a SVG image thats coloured on RAG scale. Text, Decimal and Percentage all look good. My only problem is that I cant manage getting the vertical alignment in the rows correct. The KPI names (text) are at the top oof the row. THe row heights adjust so that the larget images fit percetly within the row, but smaller images also align with th top of the row. I would like everything vertically centre-aligned, but there is not obvious way to do it. Any suggestions?