0
0
Power BIbi_tool~15 mins

Reducing model size in Power BI - Real Business Scenario

Choose your learning style9 modes available
Scenario Mode
👤 Your Role: You are a Power BI developer at a retail company.
📋 Request: Your manager wants you to reduce the size of the current sales data model to improve report performance and loading speed.
📊 Data: You have a sales dataset with columns: OrderID, ProductID, ProductName, Category, SalesAmount, OrderDate, CustomerID, CustomerName, Region, and some calculated columns.
🎯 Deliverable: A Power BI report with a reduced data model size by removing unnecessary columns, optimizing data types, and using aggregations where possible.
Progress0 / 5 steps
Sample Data
OrderIDProductIDProductNameCategorySalesAmountOrderDateCustomerIDCustomerNameRegion
1001200ChairFurniture1502024-01-053001John DoeEast
1002201TableFurniture3002024-01-063002Jane SmithWest
1003202LampLighting802024-01-073003Bob BrownNorth
1004203SofaFurniture5002024-01-083004Alice GreenSouth
1005204DeskFurniture2502024-01-093005Tom WhiteEast
1006205Ceiling LightLighting1202024-01-103006Emma BlackWest
1007206BookshelfFurniture2002024-01-113007Chris BlueNorth
1008207Floor LampLighting902024-01-123008Pat YellowSouth
1
Step 1: Remove unnecessary columns from the data model that are not used in reports or calculations.
Remove columns: CustomerName, ProductName
Expected Result
Data model size decreases by removing text-heavy columns.
2
Step 2: Change data types to more efficient types where possible.
Change OrderDate column type to Date instead of DateTime; change SalesAmount to Decimal with 2 decimal places.
Expected Result
Data model size reduces by optimizing data types.
3
Step 3: Create a summary table to aggregate sales by Category and Region to reduce row count.
Use DAX: SalesSummary = SUMMARIZE('Sales', 'Sales'[Category], 'Sales'[Region], "TotalSales", SUM('Sales'[SalesAmount]))
Expected Result
Aggregated table with fewer rows and smaller size.
4
Step 4: Disable loading of the original detailed sales table to keep only the summary table in the model.
In Power Query, right-click original Sales table and select 'Disable Load'.
Expected Result
Model size reduces significantly by keeping only aggregated data.
5
Step 5: Create a measure to calculate total sales from the summary table for use in reports.
Total Sales = SUM(SalesSummary[TotalSales])
Expected Result
Reports show correct total sales using smaller model.
Final Result
-----------------------------------
| Category | Region | Total Sales |
|----------|--------|-------------|
|Furniture | East   | 400         |
|Furniture | West   | 300         |
|Furniture | North  | 200         |
|Furniture | South  | 500         |
|Lighting  | East   | 0           |
|Lighting  | West   | 120         |
|Lighting  | North  | 80          |
|Lighting  | South  | 90          |
-----------------------------------
Removing unused text columns reduced model size.
Changing data types to more efficient ones saved space.
Aggregating data into a summary table greatly reduced row count.
Disabling load of detailed data improved report performance.
Final report shows total sales by category and region correctly.
Bonus Challenge

Implement incremental data refresh to load only new sales data each day to keep the model size small over time.

Show Hint
Use Power BI incremental refresh settings with a date filter on the OrderDate column.