Shrinking a Power BI model for monthly transaction totals with a star schema
You have a Power BI semantic model that contains the following data. You need to create a solution that meets the following requirements: • Presents transaction amount totals for each month for the current and prior year • Follows the star schema modeling approach • Minimizes the data model size Which three actions should you perform? Each correct answer presents part of the solution. NOTE: Each correct selection is worth one point. - 
Community Votes
57% of anonymous learners picked answer ABD. Votes are pick records left by other test-takers — they are not the verified answer.
Community Insight
Star-schema relationships plus dropping the high-cardinality TransactionID column cut size without touching reporting capability, and grouping Transactions by account and month start date in Power Query collapses detail rows into the exact grain the monthly totals need.
A semantic model with Date, Account, and Transactions tables must show monthly transaction totals for the current and prior year, follow a star schema, and minimize model size, with three actions to choose.
Adding a MonthStartDate column to Transactions as a separate step — the grouping operation can derive MonthStartDate directly from TransactionDate, and a standalone added column works against the minimize-size requirement.
Community Discussion (5 comments)
Comments & Corrections
No comments yet — spotted an error or have a note? Share it below.
Expert Analysis
Why the Answer Is Correct
One-to-many relationships (A) from the dimension tables into Transactions are the backbone of a star schema, letting month and account attributes slice the facts. Deleting TransactionID (B) removes a high-cardinality column that no monthly report needs, directly shrinking the model. Grouping the Transactions query by AccountID and MonthStartDate derived from TransactionDate, aggregating the sum of TransAmt (D), folds daily detail rows into one row per account per month — the precise grain required for current- and prior-year monthly totals, and a massive reduction in fact table size.Why the Other Options Are Wrong
Grouping the Date query by MonthNumber (C) would break the date dimension's daily grain, destroying the ability to relate and filter by real dates while saving almost nothing, since a Date table is tiny. Adding a MonthStartDate column to Transactions (E) as an additional step contradicts the minimization goal: the grouping in D can derive the month start from TransactionDate directly, and a standalone column merely enlarges the fact table for no benefit the grouping does not already provide.Community Comment Notes
The most-endorsed voting bloc backs A, B, and D, with one comment arguing that E would increase data size since month-start information already exists in the Date table. A dissenting bloc supports A, D, E on the grounds that D needs a MonthStartDate column to group on; that overlooks the wording 'MonthStartDate for TransactionDate,' which lets the grouping derive the value from TransactionDate directly.Official Reference
Exam Strategy
To minimize model size while maintaining a star schema, always prioritize aggregating fact tables at the required reporting grain rather than storing daily detail. Identify and remove high-cardinality surrogate keys that are not needed for slicing or filtering to immediately reduce memory footprint.
Frequently Asked Questions
Why delete TransactionID in Power BI?
Deleting high-cardinality, unused columns like TransactionID reduces row count memory usage without affecting monthly aggregation needs.
Can I group by MonthStartDate directly?
Yes, you can derive MonthStartDate from TransactionDate within the grouping step to avoid adding extra columns that increase model size.
Related Analysis
Practice All PL-300 Questions
Access 116 questions with complete answers and detailed explanations.
View Full PL-300 Practice Test →