Reducing Power BI Model Size by Removing Unused Columns
You are a Power BI developer at a retail company. You have a data model with a 'Sales' fact table (10 million rows) and dimension tables: 'Date', 'Customer', 'Product', 'Store'. The 'Sales' table includes columns: SalesID, DateKey, CustomerID, ProductID, StoreID, Quantity, UnitPrice, Discount, TotalAmount. The 'Product' dimension has 5,000 rows and includes columns: ProductID, ProductName, Category, SubCategory, Brand, Price. The 'Store' dimension has 200 rows and includes columns: StoreID, StoreName, Region, City, Manager. The 'Customer' dimension has 100,000 rows. The report currently has a measure 'Total Sales' = SUM(Sales[TotalAmount]) and a measure 'Total Quantity' = SUM(Sales[Quantity]). Users complain that the report is slow when filtering by multiple categories and regions simultaneously. You need to improve performance without changing the data source. Which action should you take first?
Quick Answer
The answer is to reduce the number of columns in the Customer dimension by removing unused columns. This is the correct first step because high-cardinality dimensions, like Customer with 100,000 rows, consume significant memory; removing unnecessary columns (e.g., address details) directly reduces model size and speeds up filter operations across multiple categories and regions. On the PL-300 exam, this tests your understanding that column cardinality and storage impact performance more than minor tweaks like disabling auto date/time, which is a common trap. A frequent mistake is jumping to aggregations or storage mode changes, but the simplest, most impactful optimization is trimming unused columns from large tables. Memory tip: "Trim the fat, not the data" — always audit high-row-count tables for redundant columns first.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Reduce the number of columns in the Customer dimension by removing unused columns
Reducing the number of columns in the Customer dimension removes unnecessary data, which decreases model size and improves query performance. Large dimensions like Customer (100,000 rows) benefit from column reduction. Option A (aggregation table) is a valid performance technique but requires more design effort and is not the simplest first step. Option B (disabling auto date/time) can reduce model size slightly but is not as impactful as removing unused columns. Option C (Dual storage mode) may not improve performance for this scenario and could increase complexity.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Create an aggregation table for the Sales table
Why it's wrong here
Aggregations are useful but require careful design and are not the simplest first step.
- ✗
Disable the auto date/time feature in Power BI
Why it's wrong here
This may reduce model size slightly but is not the most impactful first step.
- ✗
Change the storage mode of the Sales table to Dual
Why it's wrong here
Dual mode may not improve performance if the model is already in Import mode.
- ✓
Reduce the number of columns in the Customer dimension by removing unused columns
Why this is correct
Removing unnecessary columns reduces model size and improves performance.
Go deeper
Related to this question
About these practice questions
This PL-300 question is part of Courseiva's 217-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
Same concept, more angles
1 more way this is tested on PL-300
These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.
Variation 1. A company has a Power BI semantic model that uses Import mode. The model contains a table with 10 million rows. The data source is a SQL Server view that takes 5 minutes to execute. The scheduled refresh is set to every hour. What is the likely impact on refresh performance?
easy- A.Refresh will fail due to timeout on the gateway.
- B.The model will automatically use incremental refresh to split the load.
- C.Refresh will complete in parallel with the view execution.
- ✓ D.Refresh will take at least 5 minutes plus data loading time.
Why D: The refresh process must first execute the SQL Server view to retrieve data, which takes at least 5 minutes, and then load that data into the Import mode model. The total refresh time is the sum of the query execution time and the data loading time, so it will be at least 5 minutes plus additional time for loading 10 million rows.
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This PL-300 practice question is part of Courseiva's free Microsoft certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the PL-300 exam.