How to Reduce Fabric Semantic Model Memory and Refresh Time?
Short answer
AD Split OrderDateTime into date and time columns and replace TotalSalesAmount with a measure to cut memory and refresh time in Fabric Import mode.
Question

Key Takeaways
The question tests the memory and refresh trade-off between stored calculated columns and query-time measures, plus the compression benefit of splitting a high-cardinality datetime column; the common trap is assuming a calculated column saves memory.
This DP-600 question tests how to reduce memory usage and refresh time for a 100-million-row Import mode Fabric semantic model. The page confirms the correct actions are splitting OrderDateTime into date and time columns and replacing TotalSalesAmount with a measure.
Common mistake: The most common mistake is choosing B, replacing TotalQuantity with a calculated column, because calculated columns are mistakenly assumed to be virtual or free; in reality they are stored and increase model size and refresh work.
Expert Analysis
Why the Answer Is Correct
Option A is correct because splitting OrderDateTime into separate Date and Time columns reduces the number of distinct values in each column compared with a single high-cardinality datetime column, which improves VertiPaq dictionary and value encoding compression and lowers memory use. A dedicated Time column has at most 86,400 distinct values, and the Date column has a small, repeating set, so refresh also processes smaller dictionaries. Option D is correct because replacing TotalSalesAmount with a measure removes a stored calculated column; measures are evaluated at query time and do not occupy model memory, directly reducing model size and refresh cost. Together A and D address both stated goals: lower memory and faster refresh for the 100-million-row Orders table.
Why the Other Options Are Wrong
Option B is wrong because replacing TotalQuantity with a calculated column adds a stored, materialized column that consumes memory and is recomputed during refresh, which increases rather than reduces both memory and refresh time. Option C is wrong because converting Quantity to the Text data type increases storage requirements and reduces compression efficiency; numeric columns are smaller and better optimized in VertiPaq. Both B and C move in the opposite direction of the stated optimization goals.
Community Comment Notes
As fabric1 observed, separate date and time columns "achieve higher columnar redundancy and allow better data compression", and a calculated column would "inflate the memory usage", while measures are not stored in memory. Momoanwar summarizes the same reasoning: A is best practice and D is better because a measure replaces a stored column. The vast majority of voters selected A and D, and only one commenter supported B and D, which conflicts with the documented behavior of calculated columns.
Official Reference
- https://learn.microsoft.com/en-us/power-bi/guidance/power-bi-optimization
- https://learn.microsoft.com/en-us/power-bi/transform-model/desktop-measures
- https://learn.microsoft.com/en-us/power-bi/transform-model/desktop-calculated-columns
These links open the official vendor documentation in a new tab.
Exam Strategy
For DP-600 optimization questions, eliminate any option that adds a calculated column or converts numeric data to text, because both increase memory. Then select actions that improve compression, such as splitting a datetime column, or move stored values to measures that are computed on demand.
Frequently Asked Questions
Why is replacing TotalQuantity with a calculated column wrong in this Fabric model?
Why does splitting OrderDateTime into date and time columns reduce memory?
Community Votes
100% of anonymous learners picked answer AD. Votes are pick records left by other test-takers — they are not the verified answer.
Discussion 10 contributions
Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors.
From public community threads 10
-
Momoanwar 👍 27A : Best practice D : measure better than column
-
fabric1 👍 9I was under the impression that A should be correct due to the fact that separate date and time column achieve higher columnar redundancy and allow better data compression. Whereas solution B, an additional calculated column, would inflate the memory usage. Measure are not stored in memory and would therefore be favorable concerning the stated objective of reducing memory used and minimizing refresh times.
-
Nicofr 👍 3A should compress the memory size D should reduce the memory usage but
-
Momoanwar 👍 7Its AD
-
Nefirs 👍 2It's A D
Show 5 more comments
-
282b85d 👍 1The correct answer is A and D
-
NRezgui 👍 1A & D is the answer
-
6d1de25 👍 1B&D are correct.
-
stilferx 👍 1IMHO, A & D
-
woliveiras 👍 1A and D
Reader comments & corrections
No reader corrections yet — spotted an error or have a note? Share it below.
Related Analysis
Practice All DP-600 Questions
Access 115 questions with complete answers and detailed explanations.
View Full DP-600 Practice Test →