Retail Sales Dashboard in Power BI
Build an interactive Power BI dashboard analyzing retail sales KPIs.
Introduction
30 Second Summary
Every retail store generates thousands of transactions, but raw spreadsheet data does not answer the questions that matter. Which products are actually profitable? Are discounts helping or hurting the bottom line? Which regions should get more investment?
In this project, you will build an interactive retail sales dashboard in Power BI Desktop that transforms a real-world Superstore dataset into visual, filterable business insights. You will clean raw data, write formulas for key business metrics, and design a polished dashboard with charts, cards, and slicers.
What You'll Build
You will build a multi-visual Power BI dashboard that analyzes thousands of retail sales transactions using DAX measures, calculated columns, and interactive filtering.
By the end of this project, you'll have:
- A fully interactive dashboard with KPI cards, bar charts, line charts, donut charts, and slicers that answer real business questions about retail performance.
- Hands-on experience writing DAX measures and calculated columns to derive business KPIs like Profit Margin and Average Order Value.
- A reusable Power BI report file (.pbix) that demonstrates end-to-end business analysis skills.
- A Discount Impact Analysis page that reveals which discount ranges hurt profitability.
Are there any prerequisites?
You should have basic familiarity with Excel and general data concepts. You also need Power BI Desktop installed on a Windows computer. Power BI Desktop is completely free to download from the Microsoft Store. No paid licenses are required for this project.
Download the Dataset and Import into Power BI
Every data analysis project starts with the data. In this project, you'll work with a real-world retail sales dataset containing thousands of transactions from a fictional superstore.
Your first task is to download this dataset from Kaggle and import it into Power BI Desktop. Once the data is loaded, you'll have the foundation for every chart and measure you build throughout this project.
In this step, get ready to:
- Download the Superstore Sales Dataset from Kaggle.
- Import the CSV file into Power BI Desktop.
- Rename and verify data types in the Power Query Editor.
Download the Superstore Sales Dataset from Kaggle
Kaggle is a free platform where data professionals share datasets and compete in data science challenges. The Superstore dataset you'll download is one of the most popular retail analysis datasets, used widely in portfolio projects and tutorials.
- Open your browser and go to kaggle.com.
- Click Register in the top right corner to create a free account.
- Sign up with your Google account or email address.
Pro tip: already have a Kaggle account?
Skip straight to the dataset link below. No need to create another account.
- Once logged in, navigate to the Superstore Sales Dataset.
- Click the Download button near the top right of the dataset page.
- This downloads a ZIP file to your computer.
- Create a new folder on your computer called PowerBI-Project (for example, on your Desktop or in C:\PowerBI-Project\).
- Extract the ZIP file into your PowerBI-Project folder.
- Open the PowerBI-Project folder in File Explorer.
You should see a CSV file named train.csv inside the folder. This is the dataset you'll be working with.
What's in this dataset?
The Superstore dataset contains retail transaction records with columns like Order ID, Order Date, Customer Name, Category, Sales, Quantity, Discount, and Profit. Each row represents a single product sold in a single order.
By the end of this project, you'll turn these raw rows into interactive charts and business KPIs.
Don't see train.csv after extracting?
Some ZIP tools create an extra subfolder inside the extraction destination. Check if there is a nested folder inside PowerBI-Project and look for the CSV file there.
If the file has a different name, look for any .csv file in the extracted contents. The dataset may occasionally be packaged differently.
Help me find the CSV file after extracting the Kaggle download
Import the CSV file into Power BI Desktop
Power BI Desktop can connect to dozens of data sources, from Excel spreadsheets to cloud databases. For this project, you'll use the built-in Text/CSV connector to load the Superstore dataset.
- Press the Windows key to open your search bar.
- Type Power BI Desktop and press Enter to open it.
Is Power BI Desktop free?
Power BI Desktop is completely free to download and use for creating reports. You do not need a license, credit card, or subscription. Sharing reports with others requires Power BI Pro ($14/month), but that is not needed for this project.
Power BI Desktop may show a splash screen or sign-in prompt when it opens. You can close the splash screen or skip sign-in for now.
- Click the Home tab in the ribbon at the top.
- Click Get Data.
- Select Text/CSV from the dropdown.
- Browse to your PowerBI-Project folder.
- Select the train.csv file.
- Click Open.
A preview window appears showing the first rows of your data. Verify you can see columns like Row ID, Order ID, Order Date, Ship Date, Customer Name, Segment, Category, Sales, Quantity, Discount, and Profit.
- Click Transform Data at the bottom of the preview window.
Do not click Load
You'll see both a Load button and a Transform Data button. Make sure you click Transform Data. Loading sends the raw data directly into your report without any cleaning. You need the Power Query Editor open first so you can clean and shape the data in the next step.
The Power Query Editor opens in a new window. You should see your dataset displayed as a table with all its columns and rows.
Not seeing the data preview?
Make sure you selected the train.csv file and not the ZIP file itself. Power BI cannot read ZIP files directly.
If the columns look jumbled together, the file might be using a different delimiter. Check that Power BI has auto-detected Comma as the delimiter in the preview window.
Help me troubleshoot my CSV import in Power BI Desktop
Rename the query and verify column data types
Power BI named the data table train after the CSV file. That name is not meaningful for analysis. You'll rename it to something descriptive and verify that Power BI detected the correct data type for each column.
Why do data types matter?
Data types tell Power BI how to interpret each column. A column with the wrong type can break calculations or produce incorrect charts. For example, if Order Date is treated as text instead of a date, you cannot sort by time or build trend charts.
- In the Power Query Editor, look at the Queries pane on the left side.
- Right-click the query named train.
- Select Rename.
- Type Sales and press Enter.
The query name in the Queries pane should now show Sales. This is the table name that all your DAX formulas will reference later.
Now verify the column data types. Each column header in the table has a small icon indicating its type.
- Look at the icon next to each column header in the data table.
- Confirm that Order Date and Ship Date show a calendar icon, indicating the Date type.
- Confirm that Sales, Profit, and Discount show a 1.2 icon, indicating Decimal Number type.
- Confirm that Quantity shows a 123 icon, indicating Whole Number type.
Pro tip: fixing a wrong type
If any column has the wrong type, click the small icon next to the column header. A dropdown appears where you can select the correct type. Power BI usually auto-detects types correctly, but it is worth double-checking.
Seeing an ABC icon on your date columns?
An ABC icon means Power BI detected the column as text instead of a date. Click the icon next to the column header and select Date. If prompted, choose Replace current to apply the change.
Help me fix column data types in Power Query Editor
Your dataset is loaded into Power BI and ready to be shaped. Next up, you'll clean and transform this data with Power Query to prepare it for dashboard-ready analysis.
Clean and Transform the Data with Power Query
In the previous step, you imported the Superstore dataset into Power BI and opened the Power Query Editor.
Raw datasets almost always contain columns you don't need and are missing structures that make analysis easier. In this step, you'll clean up the data and add new columns that let you group sales by year and month.
In this step, get ready to:
- Check data quality and remove unnecessary columns.
- Add custom columns for year and month to support time-based analysis.
- Apply all transformations and load the clean data into the Power BI data model.
Check data quality and remove unnecessary columns
Before transforming anything, it helps to see the overall health of your data. Power Query has a built-in data profiling feature that shows you the percentage of valid, error, and empty values in each column at a glance.
- In the Power Query Editor, click the View tab in the ribbon.
- Check the box for Column quality in the ribbon.
A colored bar appears underneath each column header showing the breakdown of valid, error, and empty values.
What does Column quality tell you?
A fully green bar means every value in that column is valid. Red sections indicate errors and gray sections indicate empty (null) values.
Spotting quality issues now prevents confusing results later when you build charts and measures.
- Remove any rows with missing data by clicking the Home tab in the ribbon.
- Click Remove Rows in the ribbon.
- Select Remove Blank Rows from the dropdown.
Next, you'll remove two columns that serve as identifiers but aren't useful for analysis.
- Click the Row ID column header to select it.
- Hold Ctrl and click the Postal Code column header to select both columns.
- Right-click on either selected column header.
- Select Remove Columns from the context menu.
Why remove Row ID and Postal Code?
Row ID is just a row counter that doesn't represent any business metric. Postal Code is too granular for the regional analysis you'll build in this project.
Removing unnecessary columns keeps your data model lean and makes it easier to find the fields you actually need.
You should now see that the Row ID and Postal Code columns have disappeared from the data preview.
Columns still showing?
- Make sure you selected both columns before right-clicking. If you only selected one, the other column stays.
- Check that you chose Remove Columns and not Remove Other Columns. The second option removes everything except the selected columns.
- Help me figure out why my columns weren't removed in Power Query.
Add custom columns for time-based analysis
The dataset has an Order Date column, but dates on their own aren't ideal for slicers and grouping. Extracting the year and month into separate columns makes it simple to filter your dashboard by time period later.
- Click the Add Column tab in the ribbon.
- Click Custom Column in the ribbon.
- In the New column name field, type Order Year.
- In the Custom column formula field, clear any existing text and enter the following formula:
Date.Year([Order Date])
- Click OK to add the column.
You should see a new Order Year column appear at the far right of your data preview with numeric year values like 2015 or 2016.
Now add a second custom column for the month name.
- Click the Add Column tab in the ribbon again.
- Click Custom Column.
- In the New column name field, type Order Month.
- In the Custom column formula field, enter the following formula:
Date.MonthName([Order Date])
- Click OK to add the column.
A new Order Month column appears at the far right with full month names like January or March.
What do these formulas do?
- Date.Year([Order Date]) extracts the four-digit year from each order's date.
- Date.MonthName([Order Date]) extracts the full month name (like "January") from each order's date.
These are Power Query M functions. The square brackets reference a column by name in your dataset.
Seeing a formula error?
- Make sure the column name inside the square brackets matches exactly, including the space: [Order Date] not [OrderDate].
- Check that you typed Date.Year with an uppercase D and Y. Power Query M functions are case-sensitive.
- If the dialog shows "No syntax errors have been detected" at the bottom, your formula is correct.
- Help me fix a Power Query custom column formula error.
Review your transformations and load the data
Every action you've taken in Power Query has been recorded as a step. You can review and undo any of these steps before loading the data into the Power BI data model.
- Look at the Applied Steps pane on the right side of the Power Query Editor.
- Click through each step to see how it changed the data preview.
You should see steps for your type changes, blank row removal, column removal, and the two custom columns you added.
What is the Applied Steps pane?
Applied Steps is a complete history of every transformation you've made to the data. Each step is recorded in order, and clicking one shows the data as it looked at that point.
If you ever need to undo a step, click the X icon next to it. This makes Power Query non-destructive, so you can experiment freely.
- Click the Home tab in the ribbon.
- Click Close & Apply on the left side of the ribbon.
Power BI loads the cleaned data into the data model. You'll see a loading progress bar, and then the Power Query Editor closes, returning you to the main Power BI Desktop window.
Close & Apply seems stuck?
- Large datasets can take a moment to load. Wait for the progress bar to finish before clicking elsewhere.
- If you see an error about data types, go back into Power Query by clicking Transform data on the Home tab and check that Order Date and Ship Date are set to Date type (calendar icon next to the column header).
- Help me troubleshoot a Close & Apply error in Power BI.
Your data is now clean, structured, and loaded into Power BI. Next up, you'll write DAX measures that turn these raw numbers into meaningful business KPIs like Total Sales, Total Profit, and Profit Margin.
Create DAX Measures for Business KPIs
Your data is cleaned, transformed, and loaded into the Power BI data model. Raw numbers like individual sales amounts and profit figures fill thousands of rows, but they don't answer business questions on their own.
You need calculations that summarize all those rows into a handful of meaningful KPIs. In this step, you'll use DAX (Data Analysis Expressions) to create measures and a calculated column that will power every visual in your dashboard.
In this step, get ready to:
- Create core DAX measures for Total Sales, Total Profit, and Total Orders.
- Build advanced measures for Profit Margin % and Average Order Value, plus a calculated column for discount categories.
- Format all measures so they display as currency, percentages, or whole numbers.
Create core business measures
A measure is a dynamic calculation that updates based on the filters applied to your report. When you select a specific year or region later, your measures will automatically recalculate for that slice of data.
What is a DAX measure?
DAX measures are formulas that calculate values on the fly. Unlike a regular column that stores a value in every row, a measure only runs when Power BI needs to display a result.
This makes them perfect for KPIs like totals, averages, and ratios that need to respond to filters and slicers.
- Make sure you are in Report View (the chart icon at the top of the left sidebar).
- In the Data pane on the right side, right-click on the Sales table.
- Select New measure.
- In the formula bar that appears at the top of the canvas, type the following DAX formula and press Enter:
Total Sales = SUM(Sales[Sales])
Now create two more measures using the same process. Right-click the Sales table, select New measure, and enter each formula below.
- Create the Total Profit measure by entering this formula:
Total Profit = SUM(Sales[Profit])
- Create the Total Orders measure by entering this formula:
Total Orders = DISTINCTCOUNT(Sales[Order ID])
What do these measures calculate?
- Total Sales uses SUM to add up every value in the Sales column. This gives you total revenue across all transactions.
- Total Profit does the same for the Profit column, so you can see how much money the store actually keeps.
- Total Orders uses DISTINCTCOUNT instead of a regular count. A single order can have multiple line items, so counting unique Order IDs gives you the true number of orders.
- Expand the Sales table in the Data pane on the right.
- You should see Total Sales, Total Profit, and Total Orders listed with a small calculator icon next to each name.
Don't see your measures listed?
- Make sure you pressed Enter after typing each formula. The measure is not saved until you confirm it.
- Check that the table name in your formula matches exactly. If you renamed your table to Sales in Step 2, your formula must reference Sales[Sales], not train[Sales].
- If you see a red error underline in the formula bar, check for typos in column names. Column names are case-sensitive and must match the exact names from your dataset.
Why aren't my DAX measures appearing in the Data pane?
Add analysis measures and a calculated column
Your core measures tell you the raw totals. Now you need measures that reveal deeper insights, like whether the store is actually profitable relative to its revenue.
- Right-click the Sales table in the Data pane and select New measure.
- Create the Profit Margin % measure by entering this formula:
Profit Margin % = DIVIDE([Total Profit], [Total Sales], 0) * 100
Why use DIVIDE instead of a slash?
You could write [Total Profit] / [Total Sales], but if Total Sales ever equals zero (like when all rows are filtered out by a slicer), you'd get an error.
The DIVIDE function handles this gracefully. The third argument (0) tells Power BI to return zero instead of an error when the denominator is zero.
- Create the Avg Order Value measure by entering this formula:
Avg Order Value = DIVIDE([Total Sales], [Total Orders], 0)
- Create the Total Quantity measure by entering this formula:
Total Quantity = SUM(Sales[Quantity])
- Expand the Sales table in the Data pane and confirm you now see six measures listed with calculator icons.
Now you'll create a calculated column. This is different from a measure. A calculated column stores a value in every row of your table, so it works like adding a new column to a spreadsheet.
Measures vs. calculated columns
- Measures are dynamic. They recalculate every time a filter changes. Use them for aggregations like totals, averages, and ratios.
- Calculated columns are static. They evaluate once per row when the data loads. Use them to categorize or label individual rows.
You're about to categorize each transaction's discount level, which is a per-row label. That makes it a perfect fit for a calculated column.
- Switch to Data View by clicking the table icon on the left sidebar.
- Select the Sales table in the Data pane if it's not already selected.
- Click Table Tools in the ribbon, then click New Column.
- Enter the following formula in the formula bar and press Enter:
Discount Band = IF(Sales[Discount] = 0, "No Discount", IF(Sales[Discount] <= 0.2, "Low (1-20%)", IF(Sales[Discount] <= 0.4, "Medium (21-40%)", "High (41%+)")))
What does this formula do?
This nested IF formula checks each row's discount value and assigns a category label.
- If the discount is exactly 0, the row gets labeled No Discount.
- Discounts up to 20% are labeled Low (1-20%).
- Discounts from 21% to 40% are labeled Medium (21-40%).
- Anything above 40% is labeled High (41%+).
These labels make it easy to group and visualize discount impact later in your dashboard.
- Scroll right in the Data View table to find the new Discount Band column at the far right.
- You should see values like No Discount, Low (1-20%), Medium (21-40%), and High (41%+) populated in every row.
Seeing an error in the formula bar?
- Count your parentheses. The Discount Band formula has three opening parentheses (one per IF) and three closing parentheses at the end.
- Make sure you used Table Tools > New Column and not New measure. Calculated columns and measures are created through different menu options.
- Verify the column name Sales[Discount] matches exactly. If your table was not renamed to Sales in Step 2, the table reference will be different.
My Discount Band calculated column formula is throwing an error in Power BI. What's wrong?
Format your measures for readability
Your measures currently display raw numbers with no formatting. A total sales figure like 2261536.78 is harder to read than $2,261,536.78. Proper formatting makes your KPIs immediately understandable.
- Switch back to Report View by clicking the chart icon at the top of the left sidebar.
- In the Data pane, click on Total Sales to select it.
- In the Measure tools tab that appears in the ribbon, set the format to Currency with 2 decimal places.
- Select Total Profit in the Data pane and set it to Currency with 2 decimal places.
- Select Avg Order Value and set it to Currency with 2 decimal places.
- Select Profit Margin % and set it to Number with 2 decimal places.
- Select Total Orders and set it to Whole Number.
- Select Total Quantity and set it to Whole Number.
Why is Profit Margin % set to Number instead of Percentage?
The formula already multiplies by 100 to produce a human-readable number like 12.47. If you set the format to Percentage, Power BI would multiply by 100 again, showing 1247% instead of 12.47.
- Click on each measure in the Data pane one at a time and check that the Measure tools tab shows the correct format for each.
Don't see the Measure tools tab?
- The Measure tools tab only appears when you have a measure selected. Click directly on a measure name (the one with the calculator icon) in the Data pane.
- If you click on a regular column instead of a measure, you'll see Column tools instead. Look for the calculator icon to distinguish measures from columns.
How do I find and format my DAX measures in Power BI?
Your data model now has six measures and one calculated column ready to drive your dashboard. Next up, you'll turn these numbers into visuals that tell a story.
Build the Dashboard Visuals
Your DAX measures capture every key business metric, from Total Sales to Profit Margin %. They update automatically as filters change.
Numbers alone don't tell a story. In this step, you'll build KPI cards, bar charts, a line chart, and a donut chart that bring your data to life on the Power BI dashboard canvas.
In this step, get ready to:
- Build KPI summary cards for Total Sales, Total Profit, Profit Margin %, and Total Orders.
- Create a clustered bar chart and a line chart to compare categories and show sales trends.
- Add a donut chart, regional bar chart, and dashboard title for a polished layout.
Create KPI summary cards
The top of a business dashboard typically features key numbers at a glance. Card visuals in Power BI display a single metric each, making them perfect for a KPI summary row.
- Make sure you are in Report View by clicking the bar chart icon on the left sidebar of Power BI Desktop.
- Click an empty area on the canvas so no existing visual is selected.
- In the Visualizations pane on the right side, click the Card visual icon (it looks like a single number).
- In the Data pane on the right, expand the Sales table.
- Drag Total Sales into the Fields area of the Card visual.
A card should appear on the canvas displaying your total sales figure. Resize it by dragging its corner handles to make it compact, then position it at the top-left of the canvas.
What is a Card visual?
A Card visual displays a single number pulled from whatever measure or field you drag into it. Cards are the standard choice for headline KPIs on dashboards because they give stakeholders an instant read on the metrics that matter most.
Now create three more cards for the remaining KPIs.
- Click an empty area on the canvas, then select the Card visual from the Visualizations pane.
- Drag Total Profit into the Fields area.
- Repeat the same process to create a card for Profit Margin %.
- Create one more card for Total Orders.
- Arrange all four cards in a horizontal row across the top of your report page.
Pro tip: spot your measures easily
Measures have a small calculator icon next to their name in the Data pane. Columns have a table-column icon. When dragging fields into a Card, always look for the calculator icon to make sure you're using the measure and not a raw column.
Your canvas should now have four KPI cards in a row at the top. Each one displays a single key business metric.
Card showing "Blank" or no value?
- Confirm you dragged the measure (calculator icon) and not a column with the same name. For example, there is both a Sales column and a Total Sales measure.
- If all cards show "Blank", go back to Power Query and verify you clicked Close & Apply in Step 2. Without that step, no data is loaded into the model.
My Power BI Card visual is showing Blank instead of a number. How do I fix this?
Add a category comparison chart and sales trend line
Cards show the headlines. Charts reveal the patterns and comparisons hiding underneath those numbers.
- Click an empty area on the canvas below your KPI cards.
- In the Visualizations pane, select the Clustered Bar Chart visual.
- From the Data pane, drag Category to the Y-axis area.
- Drag Total Sales to the X-axis area.
- Drag Total Profit to the X-axis area as well, placing it right below Total Sales.
What does this bar chart show?
This creates a side-by-side comparison of sales and profit for each product category: Technology, Furniture, and Office Supplies. Having both metrics together lets you quickly spot categories where high sales don't translate into high profit.
Now add a line chart to visualize how sales change over time.
- Click an empty area on the canvas next to your bar chart.
- In the Visualizations pane, select the Line Chart visual.
- Drag Order Date to the X-axis area.
- Drag Total Sales to the Y-axis area.
What is the date hierarchy?
Power BI automatically creates a date hierarchy when you drag a date field onto an axis. Your line chart starts at the Year level by default.
You can drill down into quarters and months by clicking the drill-down arrows in the visual's header bar. Try clicking the double-arrow icon ("Expand all down one level") to see quarterly or monthly trends.
- Try clicking the drill-down arrows in the top-right corner of your line chart to explore Year, Quarter, and Month levels.
You should see a line chart with sales trends over time. The bar chart next to it compares sales and profit across three product categories.
Chart showing no data or wrong layout?
- Double-check that you dragged fields into the correct areas. For the bar chart, Category goes in the Y-axis and the measures go in the X-axis.
- If your line chart shows a flat line or nothing at all, confirm that Order Date has a calendar icon in the Data pane. If it shows "ABC" instead, the column type was not set to Date in Power Query.
- If your bar chart only shows one color instead of two, make sure you dragged both Total Sales and Total Profit into the X-axis area.
My Power BI chart is not displaying data correctly. What should I check?
Add a donut chart, regional chart, and dashboard title
Two more charts will round out your dashboard. A donut chart breaks down sales by customer segment. A regional bar chart shows which geographic areas drive the most revenue.
- Click an empty area on the canvas.
- In the Visualizations pane, select the Donut Chart visual.
- Drag Segment to the Legend area.
- Drag Total Sales to the Values area.
What are the customer segments?
The Superstore dataset splits customers into three segments: Consumer, Corporate, and Home Office. The donut chart shows each segment's share of total sales at a glance, helping you identify which customer group drives the most revenue.
Now add a bar chart showing sales by region.
- Click an empty area on the canvas.
- In the Visualizations pane, select the Clustered Bar Chart visual.
- Drag Region to the Y-axis area.
- Drag Total Sales to the X-axis area.
Finally, give your dashboard a title so anyone viewing it knows what they're looking at.
- Click an empty area of the canvas so no visual is selected.
- In the ribbon, go to the Insert tab and click Text box.
- Type Superstore Sales Dashboard in the text box.
- Select the text you just typed, then increase the font size to 20 or larger using the formatting toolbar that appears above the text box.
- Drag the text box to the very top of your canvas, above the KPI cards.
Your dashboard should now have a title at the top, four KPI cards in a row below it, and four charts filling the rest of the canvas.
What should I see?
Your canvas should have six visuals in total:
- Four Card visuals in a row showing Total Sales, Total Profit, Profit Margin %, and Total Orders.
- A Clustered Bar Chart comparing sales and profit across Technology, Furniture, and Office Supplies.
- A Line Chart showing sales trends over time.
- A Donut Chart showing Consumer, Corporate, and Home Office segment shares.
- A Clustered Bar Chart ranking regions by total sales.
A title text box reading "Superstore Sales Dashboard" sits above everything.
Visuals overlapping or hard to arrange?
- Drag visuals by their header bar to reposition them. Use the corner handles to resize.
- If visuals snap to unexpected positions, try going to View in the ribbon and toggling Snap to grid on or off.
- If a visual ended up on top of another, click the one underneath and use the Tab key to cycle through overlapping visuals.
How do I arrange and resize visuals neatly on my Power BI canvas?
Your dashboard is packed with insight. Next up, you'll add interactive slicers that let anyone filter the entire dashboard with a single click.
Add Interactivity with Slicers and Final Formatting
Your dashboard now displays KPI cards, bar charts, a line chart, and a donut chart. Each visual tells part of the retail story, but viewers can only see the full picture all at once.
Slicers change that. They let anyone filter the entire dashboard with a single click, so a regional manager can instantly zoom in on just their region's performance.
In this step, get ready to:
- Add interactive slicers for Year, Region, and Category filtering.
- Apply a professional theme and enable data labels for a polished look.
- Save your completed dashboard as a reusable .pbix file.
Add slicers for Year, Region, and Category
A slicer is a visual filter control that sits directly on the dashboard. When a viewer selects a value in a slicer, every other visual on the page updates to reflect that selection.
- Click on an empty area of the canvas so no existing visual is selected.
- In the Visualizations pane on the right, click the Slicer visual (it looks like a filter icon with horizontal lines).
- From the Data pane, expand the Sales table and drag Order Year into the slicer's Field area.
Why Order Year and not Order Date?
Order Year is the custom column you created in Power Query back in Step 2. It contains clean year values like 2015, 2016, 2017, and 2018, which makes the slicer easy to read and click.
Now repeat the same process for two more slicers.
- Click on an empty area of the canvas again.
- Select the Slicer visual from the Visualizations pane and drag Region into the Field area.
- Repeat once more to create a third slicer using the Category field.
Each slicer can display its options in different styles. The Dropdown style keeps things compact.
- Click on the Order Year slicer to select it.
- Click the small down arrow in the top-right corner of the slicer visual header.
- Select Dropdown from the style options.
- Repeat for the Region and Category slicers, setting each to Dropdown as well.
- Drag and resize all three slicers to arrange them in a row across the top of your dashboard, next to or above your KPI cards.
You should now see three dropdown slicers sitting neatly at the top of your report page.
Slicer showing a slider instead of a list?
If your Order Year slicer shows a slider bar instead of individual years, it means Power BI is treating the field as a continuous number. Click the down arrow in the slicer header and switch the style to List or Dropdown.
Help me fix my slicer display style in Power BI
Test cross-filtering and apply a theme
Cross-filtering is what makes Power BI dashboards truly interactive. When you select a value in one slicer, every visual on the page recalculates to show only the filtered data.
- Click the dropdown on your Region slicer and select West.
- Watch all your visuals update. Your KPI cards, bar charts, line chart, and donut chart now show only West region data.
- Try selecting a year in the Order Year slicer. Both filters apply at the same time, narrowing the data further.
- Clear your slicer selections by clicking the eraser icon in the top-right corner of each slicer to return to the full dataset view.
What is cross-filtering?
Cross-filtering means that selecting data in one visual automatically filters every other visual on the page. This happens because all visuals share the same underlying data model. Slicers are the primary way users control this filtering, but clicking a bar in a bar chart or a slice in a donut chart also cross-filters the rest of the page.
Now give your dashboard a professional look with a built-in theme.
- Go to the View tab in the ribbon at the top.
- Click Themes to see the gallery of built-in themes.
- Select Executive for a clean, corporate look. You can also try City Park if you prefer softer colors.
Your entire dashboard instantly updates with the new color palette and font styling.
Finally, turn on data labels so viewers can read exact values on your bar charts.
- Click on your Category bar chart (the clustered bar chart comparing sales and profit by category) to select it.
- In the Visualizations pane, click the Format your visual tab (the paint roller icon).
- Expand the Data labels section and toggle it On.
- Repeat for the Region bar chart to enable data labels there as well.
Your bar charts now display dollar values directly on each bar, making the data easier to read at a glance.
Theme didn't change anything?
If your visuals look the same after selecting a theme, check that you clicked directly on a theme tile in the gallery rather than just hovering over it. Some themes have subtle differences. Try switching to a more distinct theme like City Park to confirm the change is applying.
Help me apply a theme to my Power BI dashboard
Save your completed dashboard
Your dashboard is complete. Time to save the whole thing as a single portable file.
- Go to File in the top-left corner.
- Click Save As.
- Navigate to the folder where you stored your original CSV file (e.g., C:\PowerBI-Project\).
- Name the file Superstore-Sales-Dashboard and click Save.
What is a .pbix file?
A .pbix file is Power BI's native report format. It bundles everything into one file: your imported data, all Power Query transformations, every DAX measure and calculated column, and all your visuals and formatting. You can reopen this file anytime to continue working, share it with colleagues, or use it as a portfolio piece.
Confirm the file saved by checking that the title bar at the top of Power BI Desktop now reads Superstore-Sales-Dashboard.
Secret mission
Build a Discount Impact Analysis Page
Your main dashboard shows the big picture. But stakeholders always want to know: are discounts actually helping or hurting the business? Add a dedicated analysis page that answers that question with data.
Before you go
Clean Up Your Resources
Decide whether to keep your resources running, pause them to come back later, or delete them entirely. This project runs entirely locally using Power BI Desktop, so there are no ongoing costs.
Resources you used:
- Power BI Desktop (free application, already installed).
- Kaggle account (free).
- Downloaded CSV file (train.csv) in your local project folder.
- Power BI report file (Superstore-Sales-Dashboard.pbix).
Keep everything running
No action needed. Choose this if you are still actively building or plan to extend the dashboard soon.
- Your .pbix file and train.csv stay where they are on your computer.
- Your Kaggle account remains active for downloading other datasets in future projects.
- Everything is local and free, so nothing is costing you money.
Pause - I'll come back to this later
Keep your files but close Power BI Desktop to free up memory.
- Save your report with File > Save if you have not already.
- Close Power BI Desktop.
- Keep the Superstore-Sales-Dashboard.pbix file and train.csv in your project folder. You can reopen the .pbix file at any time to continue working.
Delete - I don't want to use this again
Remove all project resources and start fresh.
- Close Power BI Desktop.
- Delete the project folder (e.g. C:\PowerBI-Project\) containing train.csv and Superstore-Sales-Dashboard.pbix.
- Keep Power BI Desktop installed if you plan to use it for other projects. Otherwise, uninstall it from Settings, then Apps, then Apps & features.
- Your Kaggle account is free and can be kept for future use. To delete it, go to your Kaggle account settings and select the delete option.
Mission accomplished
Nice Work!
You have built a professional, interactive retail sales dashboard from scratch in Power BI Desktop. Starting from a raw CSV file, you transformed thousands of sales transactions into executive-ready analytics that answer real business questions.
You've learned how to:
- Import, clean, and transform raw data using Power Query to prepare it for analysis.
- Write DAX measures and calculated columns to derive business KPIs like Profit Margin %, Average Order Value, and Total Orders.
- Build an interactive dashboard with KPI cards, bar charts, line charts, donut charts, and slicers that cross-filter dynamically.
- Create a Discount Impact Analysis page that reveals how discounting strategies affect profitability across sub-categories.
Ready to quiz yourself?