How to Create KPIs in Power BI: Step-by-Step Guide
By Manuel Cosini · October 14, 2025 · 5 min read
KPIs (Key Performance Indicators) are the heart of any executive dashboard. They are the numbers that answer the most important business question: are we achieving the goals we set for ourselves?
Power BI offers multiple ways to create and visualize KPIs, from the native KPI visual to advanced metric cards built with DAX formulas. In this article we walk you through the complete process for implementing effective KPIs in your report.
What Makes a Good KPI?
Before creating a KPI in Power BI, it's important to correctly define what to measure. An effective KPI should be:
- Specific: it measures one thing precisely. "Monthly total sales" is better than "commercial activity".
- Measurable: it has a concrete numerical value that can be tracked.
- Target-bound: every KPI needs a goal value to compare against. Without a target, it's just a metric.
- Relevant: linked to a real business decision.
- Time-bound: defined for a specific period (daily, monthly, annual).
Power BI can't tell you which KPIs to measure — that is defined by your company's strategy. What it can do is visualize them clearly, with up-to-date data and cross-filtering capability so that analysis is interactive.
Step 1: Define the Base Measures in DAX
Every KPI in Power BI starts with one or more DAX measures. You need at least two: the current value and the target.
Current Value Measure
Monthly Sales =
TOTALMTD(SUM(Sales[Amount]), Dates[Date])
Target Measure
The target can come from a goals table or be a calculated value:
-- Option 1: target from a goals table
Monthly Target =
CALCULATE(SUM(Goals[Target]), Goals[Type] = "Sales")
-- Option 2: target as a percentage growth over last year
Monthly Target =
CALCULATE(
TOTALMTD(SUM(Sales[Amount]), Dates[Date]),
SAMEPERIODLASTYEAR(Dates[Date])
) * 1.10 -- 10% growth over previous year
Variance Measure
Variance vs Target =
DIVIDE([Monthly Sales] - [Monthly Target], [Monthly Target], 0)
Step 2: Use the Native Power BI KPI Visual
Power BI includes a specific visual called KPI that displays the current value, target, and a trend over time.
To configure it:
- Insert the KPI visual from the visualizations panel.
- In the "Value" field, drag your current value measure (e.g. Monthly Sales).
- In the "Target" field, drag your target measure.
- In the "Trend axis" field, drag the date column to show the evolution over time.
The visual will automatically show whether the result is favorable (green) or unfavorable (red) relative to the target, and will include the percentage variance.
Step 3: Create KPI Cards with Conditional Formatting
The native KPI visual is useful but limited in terms of design. A more flexible alternative is to combine a card visual with conditional formatting based on DAX measures.
KPI Status Measure (Traffic Light)
Sales KPI Status =
VAR variance = [Variance vs Target]
RETURN
IF(variance >= 0.05, "On Target",
IF(variance >= -0.05, "At Risk",
"Below Target"
)
)
Dynamic Color Measure
Sales KPI Color =
VAR variance = [Variance vs Target]
RETURN
IF(variance >= 0.05, "#28a745", -- green
IF(variance >= -0.05, "#ffc107", -- yellow
"#dc3545" -- red
)
)
You can use this color measure in the conditional formatting of the card visual so that the background or text automatically changes color based on performance.
Step 4: KPIs with Period Comparisons
A KPI that only shows the current value without time context is incomplete. Adding comparisons greatly enriches the analysis:
-- Sales from the same period last year
Previous Year Sales =
CALCULATE(
TOTALMTD(SUM(Sales[Amount]), Dates[Date]),
SAMEPERIODLASTYEAR(Dates[Date])
)
-- Year-over-year growth
YoY Growth =
DIVIDE([Monthly Sales] - [Previous Year Sales], [Previous Year Sales], 0)
-- Sales from the previous month (MoM)
Previous Month Sales =
CALCULATE(
TOTALMTD(SUM(Sales[Amount]), Dates[Date]),
DATEADD(Dates[Date], -1, MONTH)
)
MoM Growth =
DIVIDE([Monthly Sales] - [Previous Month Sales], [Previous Month Sales], 0)
Step 5: Interactive KPI Dashboard with Cross-Filtering
The true power of KPIs in Power BI emerges when you combine them with cross-filtering. If you arrange several KPIs in a panel alongside date, region, or category slicers, users can click on any element in the report and all KPIs automatically update to reflect the selection.
To make the most of this:
- Place the main KPIs at the top of the report as cards or KPI visuals.
- Add period slicers (month, quarter, year) that affect all visuals.
- Include trend charts below that filter at the same time as the KPIs.
- Make sure table relationships are well-defined in the model so cross-filtering works correctly.
Step 6: KPIs with Scorecard (Power BI Goals)
Power BI Service (the cloud version) includes the Scorecard feature, which allows you to define organizational goals with responsible owners, historical tracking, and contextual annotations. It's ideal for executive management reports where multiple departments report their performance against shared objectives.
KPI Examples by Business Area
To help you get started, here are some common KPI examples by department:
- Sales: Monthly revenue vs. target, conversion rate, average ticket, new customers.
- Marketing: Leads generated, cost per lead, campaign conversion rate.
- Operations: Average delivery time, defect rate, capacity utilization.
- Finance: Gross margin, EBITDA, days outstanding receivables, ROI by project.
In our article on sales KPIs you'll find more detailed examples with the corresponding DAX formulas.
Want a Custom KPI Dashboard for Your Business?
We design executive panels with custom KPIs, dynamic targets, and automatic alerts. Request a free demo.
Request a DemoFrequently Asked Questions
- What is the difference between a KPI and a metric in Power BI?
- A metric is any measurable numerical value, such as total sales or number of customers. A KPI, on the other hand, is a metric that has a defined target and is evaluated against that target to indicate whether the business is on track to achieve its goals. Without a target, a metric is not a KPI.
- How do you create a traffic light performance indicator in Power BI?
- A traffic light indicator is created by combining a DAX measure that classifies the result as "on target", "at risk", or "below target", and another measure that returns a hex color code based on that classification. The color measure is then applied in the card visual's conditional formatting to automatically change the background or text color based on performance.
- What is Power BI Goals (Scorecard) and what is it used for?
- Power BI Goals, also called Scorecard, is a feature in Power BI Service that lets you define organizational goals with assigned owners, historical progress tracking, and contextual annotations. It is ideal for executive management reports where multiple departments report their performance against shared organizational objectives.