Which three actions create monthly star-schema totals with minimal model size?
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 Insight
Tests star-schema aggregation in Power Query: the trap is assuming adding MonthStartDate bloats the final model when it is actually the intermediate key that option D groups on, making option B redundant.
This PL-300 question asks for three actions that produce monthly transaction totals for current and prior years while preserving a star schema and minimizing model size. The correct approach is A, D and E: derive MonthStartDate, aggregate the fact table to that monthly grain, then relate it one-to-many to Date and Account.
Picking B instead of E: deleting TransactionID removes a column, but it does not create the monthly grain; option D cannot group by MonthStartDate until E adds it.
Community Discussion (11 comments)
- Answer: A,B,D A. Create one-to-many relationships between the tables - In a star schema, fact tables (Transactions) connect to dimension tables (Date, Account) via one-to-many relationships. - This is the canonical design pattern for Power BI semantic models. B. In the Transactions query, delete the TransactionID column - TransactionID is a high-cardinality, surrogate key that is not needed for aggregations. - Removing it reduces model size significantly without affecting reporting requirements D. In the Transactions query, group by AccountID and MonthStartDate for TransactionDate. Aggregate by summing the TransAmt column - This reduces the row count in the fact table by pre-aggregating to the monthly level. - Since the requirement is only monthly totals (not daily transactions), this is the best way to minimize model size.
Comments & Corrections
No comments yet — spotted an error or have a note? Share it below.
Expert Analysis
Why the Answer Is Correct
Option E is the necessary first step: it derivesMonthStartDate from TransactionDate so every transaction can be assigned to a month. Option D then groups the Transactions query by AccountID and MonthStartDate and sums TransAmt, collapsing daily rows into a much smaller monthly fact table. Option A completes the star schema by creating one-to-many relationships from the Date and Account dimensions to this aggregated Transactions table. The final model retains neither the original TransactionID nor the daily TransactionDate, so E does not leave extra bloat and B becomes redundant.Why the Other Options Are Wrong
Option B alone only removesTransactionID; the fact table would still contain one row per transaction date, so it does not achieve the required monthly grain or the largest size reduction. Option C groups the Date table by MonthNumber, which collapses different years into the same month and destroys the ability to compare current and prior year totals. Option F is wrong because a many-to-many relationship is not the star-schema pattern and introduces ambiguity and slower filtering. A star schema here needs one-to-many links from dimensions to the aggregated fact table.Community Comment Notes
Mi4as argued that D automatically handles B, noting that grouping removes unneeded columns, and stated "Point D is impossible without point E." That captures the dependency: the Transactions table needs MonthStartDate before it can be grouped at monthly grain. 5bf040d worried that E would increase the model size, but after aggregation MonthStartDate is the key that replaces the daily date, not an extra retained column. Trixy described the practical order as E then D then A, which matches the logical build sequence.Official Reference
Exam Strategy
Treat each selected action as a dependency in the solution rather than an isolated optimization: E creates the month key, D uses it to shrink the fact table, and A wires the result into the star schema. Do not choose B just because deleting a column sounds size-friendly when D already removes that column and many more rows.
Frequently Asked Questions
Why not just delete TransactionID instead of grouping by MonthStartDate?
Deleting TransactionID removes only a column; daily transaction rows remain. Grouping by AccountID and MonthStartDate both shrinks the fact table and drops TransactionID automatically.
Why is grouping the Date table by MonthNumber wrong for prior-year totals?
It collapses multiple years into one month number, so the Date dimension cannot distinguish current-year from prior-year values or support proper time intelligence.
Related Analysis
Practice All PL-300 Questions
Access 116 questions with complete answers and detailed explanations.
View Full PL-300 Practice Test →