Services

Technologies

Industries

About Us

Our Work - Case Studies

How to Build a KPI Table in Power BI

How to Build a KPI Table

From Static Excel Sheets to Dynamic KPIs

Designing a Better Power BI Dashboard

If you’ve ever tried building operational KPI cards in Power BI from a wide, flat Excel sheet, you know how frustrating it can get. When your data is locked into static columns, filtering and displaying metrics neatly becomes a chore.

Screenshot of the sample data used in Excel

By reshaping your data into dedicated KPI and milestone tables, you can unlock much smoother dashboard designs.

Here is how we set up my project pipeline model from scratch using a 1,000-row project dataset.

Step 1: Loading the Raw Data

Before doing any modelling or shaping, you first need to bring your raw data into Power BI.

1. Open Power BI Desktop and click Get Data (or Excel workbook from the Home ribbon)

Screenshot in Power BI of Get Data and Excel Workbook

2. Select your project spreadsheet (in this case, our 1000-row project dataset) and load the main table.

We have named the table Projects in Power BI

1000 sample data file

Step 2: Setting Up the Date Dimension

Before touching any visuals, you need a proper calendar table, so your timeline slicers and monthly trend charts sync up correctly.  

We generated a dynamic calendar using DAX based on the earliest enquiry and latest completion dates in the dataset:

DAX for creating a Date Dimension table

Code Snippet

Date = 
ADDCOLUMNS(
CALENDAR(
MINX(
'Projects',
'Projects'[Enquiry Date]
),
MAXX(
'Projects',
'Projects'[CompletionDate]
)
),
"Year", YEAR([Date]),
"Month Number", MONTH([Date]),
"Month", FORMAT([Date], "MMMM"),
"Month Short", FORMAT([Date], "MMM"),
"Quarter", "Q" & FORMAT([Date], "Q"),
"Year Month", FORMAT([Date], "YYYY-MM"),
"Week Number", WEEKNUM([Date]),
"Day", DAY([Date]),
"Day Name", FORMAT([Date], "DDDD")
)

Step 3: Creating the KPI Table in Power Query

To easily power individual KPI cards; like average project days or enquiry to survey turnaround times – unpivoting your metrics in Power Query is a gamechanger.

1. Reference the Source: Open Power Query, right-click your main project query. Select the ProjectID column

Referencing the table in Power BI

2.Isolate the Metrics: Keep your ProjectID and your key operational duration columns, then remove everything else.

Remove columns in Power BI

3.Unpivot: Select your metric columns, head over to the Transform tab, and click Unpivot Columns.

Unpivot columns in Power BI

4.Clean Up: Filter out any blank values, and set the data type for the Value column to a Whole Number (or decimal if you need precision).

Set the data type to be a Whole Number

5.Name It: Call this query KPI Table

KPI Table
KPI Table in Power Query

Our table now looks like above.

Step 4: Setting Up the Project Milestones Table

To track dates independently without messing up your day-count KPIs, you can duplicate that table for your milestones.

1.Duplicate: Right-click your KPI Table query and select Duplicate

Duplicate table in Power BI

2.Adjust the Steps: Click the gear icon next to the Removed Other Columns step

Remove other columns in Power BI

3.Swap the Columns: Untick the day-count attributes and select your date columns instead (Enquiry Date, Survey Date, Start Date, and Completion Date)

Choose columns in Power BI

4.Format Dates: Unpivot those date columns and ensure the resulting Value column is set to a Date data type

Setting the data type to be Date

5.Name It: Label this query Project Milestones

Screenshot of the three queries in Power BI
Project Milestones data in Power Query

The table should now look like above.

Step 5: Enter KPI Target Data

Finally, we need to add the KPI targets into Power BI.

Navigate: Enter Data

Enter Data in Power BI

Enter the target data and name this KPI Targets

KPI Target table

Step 6: Creating Model Relationships

Once all 5 tables are loaded and shaped in Power BI, you need to connect them in the Model View to establish the correct filters and context:

Power BI Relationships

Link Projects to Supporting Tables: Drag and drop the ProjectID from your master Projects table down to create a one-to-many (1-*) relationship with both the KPI Table and Project Milestones table.

Connect the Calendar Dimension: Drag the Date field from your master Date table to tie it into your date attributes (such as connecting it to your milestone dates or primary project dates) to ensure cross-filtering across timelines.

Verify Table Layout: Ensure your unpivoted attribute tables and static target lookup tables link up cleanly without creating ambiguous paths, resulting in a cohesive, star-schema style layout.

The Finished Data Model

Once everything is wired up, your Power BI model should consist of 5 clean tables:

Date: Master calendar table linked to date fields

KPI Table: Unpivoted attribute-value table for high-level metrics

KPI Targets: Manually entered table for specific metric targets

Project Milestones: Unpivoted date-attribute table for tracking

Projects: Primary transactional dataset loaded straight from Excel

5 Tables in Power BI

Structuring your data this way makes building custom card visuals, regional maps, and chronological trend lines easier!

Bringing It All Together

Demonstrating Dashboarding with Business KPIs

Once your 5-table data model is established and properly related, you can leverage it to build a comprehensive dashboard showcasing your core business KPIs and operational metrics in action, just like the Project Pipeline & Performance Dashboard shown below:

Screenshot of the Project dashboard

How It All Works Together

1.Executive Summary Cards: Instant visibility into metrics like:

Projects Started (711), Projects Completed (595), Average Star Rating (4), and total Deal Value (£58M).

Summary cards in Power BI
Filtering the Milestone KPI

With help from the Project Milestone table, some of these cards can be a case of counting the Project IDs based on filtering the specific Milestone.

2.Global Filtering: Clean Client and City dropdown slicers alongside a dynamic date slider that slice the entire page simultaneously.

Slicers in Power BI

3.Operational Turnaround KPIs: Clear display of metrics driven directly from the unpivoted KPI Table, including:

Enquiry to Survey Days (8), Survey to Start Days (25), and Project Days (164)

KPI Cards
Filtering the attribute

With help from the KPI table, these cards can be created by filtering the Attribute and taking the average of the Value

4.Trends and Spatial Mapping: You can easily use line charts driven by your calendar table, evaluate performance distributions via status and rating breakdown pie charts, or map out project concentrations across the UK using geographic map visuals.

Screenshot of a few of the visuals in Power BI

By stepping away from wide, flat sheets and moving toward unpivoted attribute tables and proper dimensional modelling, your Power BI reports transform from static spreadsheets into dynamic, scalable reporting solutions.

To make the most of this architecture, it is essential to tailor your KPIs directly to your unique business operations. Every industry and pipeline has distinct drivers.