Courseiva

PL-300 · topic practice

Model the data practice questions

This domain covers designing and building the Power BI semantic model: tables, relationships, DAX calculated columns, measures, calculated tables, and time intelligence. Questions test whether you can choose the right DAX pattern, configure relationship cardinality and cross-filter direction, and understand how calculated objects behave versus Power Query transformations.

Courseiva uses original exam-style practice questions designed for learning and revision. The goal is to understand the concepts, recognise exam patterns, and improve through explanations — not memorise copied exam dumps.

Editorial oversight:Johnson Ajibi· MSc IT Security, IEEE Senior Member
20 questionsDomain: Model the data

What the exam tests

What to know about Model the data

You must be able to build a working star schema with correct relationships and write DAX that returns the right result at the right granularity. The single most important thing: know when to use a calculated column versus a measure, and verify relationship cardinality and filter direction.

Creating calculated columns and measures with DAX functions like SUM, SUMX, and RELATED.

Configuring table relationships, cardinality, cross-filter direction, and active versus inactive relationships.

Building calculated tables with SUMMARIZE, CALCULATETABLE, and time intelligence functions.

Optimizing model performance using star schema design, date tables, and avoiding unnecessary calculated columns.

Watch out for

Common Model the data exam traps

  • ▸Using a calculated column when a measure is needed, or vice versa, causing wrong aggregation or storage bloat.
  • ▸Setting bidirectional cross-filtering by default, which creates ambiguity and unexpected filter propagation across tables.
  • ▸Forgetting that calculated tables are static until refresh and cannot reference measures directly in SUMMARIZE.

Practice set

Model the data questions

20 questions · select your answer, then reveal the explanation

Question 1mediummultiple choice
Read the full Model the data explanation →

A Power BI developer creates a star schema with a fact table Sales and dimension tables Customer, Product, Date. The relationship between Sales and Date is active. The developer wants to create a measure that calculates the total sales for the previous month relative to any selected month. Which DAX expression should the developer use?

A Power BI developer is designing a data model for sales analysis. The model includes a Sales fact table and dimension tables: Product, Customer, Date, and Store. Which TWO design considerations are best practices for optimizing query performance?

A Power BI developer is building a data model that includes a table 'Orders' with columns: OrderID, CustomerID, OrderDate, ShipDate, SalesAmount. The developer wants to analyze orders by both order date and ship date. Which THREE actions should the developer take to properly model this scenario?

Question 4mediummultiple choice
Read the full Model the data explanation →

A data modeler is creating a Power BI semantic model for a retail company. The model includes a 'Products' dimension table with columns ProductID, ProductName, Category, and Subcategory. The 'Sales' fact table has columns ProductID, Date, Quantity, and Revenue. The modeler wants to ensure that users can filter by Category and Subcategory. Which relationship type should be created between Products and Sales?

A Power BI developer is designing a semantic model that will be used by multiple departments. The developer wants to ensure that the model follows best practices for performance and usability. Which TWO actions should the developer take?

After loading the data using the Power Query M code shown in the exhibit, the model contains a table with 10,000 rows. However, when users filter by OrderDate in a report, the filter does not affect the aggregated TotalDue values. What is the most likely reason?

Exhibit

Refer to the exhibit.

Exhibit: Power Query M code snippet
let
    Source = Sql.Database("Server01", "AdventureWorks"),
    Sales = Source{[Schema="Sales",Item="SalesOrderHeader"]}[Data],
    #"Filtered Rows" = Table.SelectRows(Sales, each [OrderDate] >= #date(2020,1,1)),
    #"Grouped Rows" = Table.Group(#"Filtered Rows", {"CustomerID"}, {{"TotalDue", each List.Sum([TotalDue]), type nullable number}}),
    #"Sorted Rows" = Table.Sort(#"Grouped Rows",{{"TotalDue", Order.Descending}})
in
    #"Sorted Rows"

A Power BI report uses a DirectQuery data source. The model includes a calculated column that uses the RELATED function to bring a value from another table. The report is performing slowly. What design change would most improve performance without compromising functionality?

Question 8mediummultiple choice
Read the full Model the data explanation →

A company has a fact table 'Sales' with a column 'SalesAmount' and a dimension table 'Date'. They want to create a measure that calculates the running total of sales over time. The Date table is marked as a date table. Which DAX expression is correct?

Which TWO of the following are best practices for designing a data model in Power BI?

Question 10mediummultiple choice
Read the full Model the data explanation →

A company has a large fact table with sales data. The Sales table contains columns: OrderDate, ShipDate, DueDate, LineTotal, ProductKey, CustomerKey, TerritoryKey. The company needs to analyze sales by fiscal year (April 1 to March 31) and by calendar year. What is the recommended approach to model the date dimension?

Question 11hardmultiple choice
Read the full Model the data explanation →

You are a data analyst for a retail company. You are building a Power BI model to analyze inventory levels across multiple warehouses. The source data is a SQL Server database with two tables: Inventory (WarehouseID, ProductID, StockOnHand, ReorderPoint) and Product (ProductID, ProductName, Category, UnitPrice). The Inventory table has 500,000 rows, and Product has 10,000 rows. You import both tables into Power BI. You need to create a measure that calculates the total value of inventory (StockOnHand * UnitPrice) for products that are below their reorder point. You create the following measure:

TotalValueBelowReorder = CALCULATE( SUMX(Inventory, Inventory[StockOnHand] * RELATED(Product[UnitPrice])), Inventory[StockOnHand] < Inventory[ReorderPoint] )

However, the measure returns an incorrect total. You suspect an issue with the filter context. What is the most likely cause of the incorrect result?

Question 12easymultiple choice
Read the full Model the data explanation →

You are building a Power BI report for a sales team. You have a table named 'Sales' with columns: SalesDate, ProductID, Quantity, UnitPrice, Discount. You also have a 'Date' table with continuous date range. You create a relationship from Sales[SalesDate] to Date[Date]. You need to calculate the total sales amount (Quantity * UnitPrice - Discount). You write the following measure:

TotalSales = SUMX(Sales, Sales[Quantity] * Sales[UnitPrice] - Sales[Discount])

The measure returns the correct total. However, when you slice by month from the Date table, the total does not change. What is the most likely cause?

Question 13hardmultiple choice
Read the full Model the data explanation →

You are building a Power BI model for a logistics company. You have a table named 'Shipments' with columns: ShipmentID, OriginCity, DestinationCity, Weight, Cost, ShipDate, DeliveryDate. You also have a 'City' table with columns: CityName, State, Region. You create relationships: Shipments[OriginCity] to City[CityName] and Shipments[DestinationCity] to City[CityName]. Both relationships are active and many-to-one. You create a measure to calculate total cost:

TotalCost = SUM(Shipments[Cost])

When you use a slicer on City[State], you expect to filter shipments where either the origin or destination city is in that state. However, the filter only applies to the origin city due to the active relationship. You need to modify the model so that a single slicer on City[State] filters shipments where either origin or destination is in the selected state. What is the best approach?

You are designing a Power BI semantic model for a retail company. The model must support reporting on sales by product, store, and date. You need to decide on the modeling approach. Which TWO actions should you take? (Select exactly two.)

Drag and drop the steps to configure Row-Level Security (RLS) in Power BI Desktop into the correct order.

Drag or tap steps into the slots.

Steps
Order
1Step 1
2Step 2
3Step 3
4Step 4
5Step 5

Drag and drop the steps to create a date table in Power BI Desktop using DAX into the correct order.

Drag or tap steps into the slots.

Steps
Order
1Step 1
2Step 2
3Step 3
4Step 4
5Step 5

Drag and drop the steps to create a quick measure in Power BI Desktop into the correct order.

Drag or tap steps into the slots.

Steps
Order
1Step 1
2Step 2
3Step 3
4Step 4
5Step 5

Match each Power BI component to its purpose.

Drag a concept onto its matching description — or click a concept then click the description.

Concepts
Matches

Transform and clean data

Create calculated columns and measures

Share and collaborate on reports

Create reports and data models

On-premises report hosting

Match each Power BI service feature to its description.

Drag a concept onto its matching description — or click a concept then click the description.

Concepts
Matches

Single page of visualizations from multiple reports

Collection of dashboards and reports for consumers

Container for dashboards, reports, and datasets

Cloud-based ETL for data preparation

Pixel-perfect report for printing

Match each Power BI security feature to its purpose.

Drag a concept onto its matching description — or click a concept then click the description.

Concepts
Matches

Restrict data access at row level

Restrict access to specific tables or columns

Control permissions within a workspace

Grant access to individual reports or dashboards

Make report publicly accessible

Free account

Track your progress over time

Create a free account to save your results and see which topics improve across sessions.

Focused Model the data sessions

Start a Model the data only practice session

Every question in these sessions is drawn from the Model the data domain — nothing else.

Related practice questions

Related PL-300 topic practice pages

Move into related areas when this topic feels solid.

Frequently asked questions

What does the PL-300 exam test about Model the data?
You must be able to build a working star schema with correct relationships and write DAX that returns the right result at the right granularity. The single most important thing: know when to use a calculated column versus a measure, and verify relationship cardinality and filter direction.
How should I use these practice questions?
Select your answer before revealing the explanation. Then read why each option is right or wrong — this active recall approach builds retention far faster than re-reading notes.
Can I practise just Model the data questions in a focused session?
Yes — the session launcher on this page draws every question from the Model the data domain. Use a 10-question session first to gauge your baseline, then move to 20 or 30 once the weak spots are clear.
Where can I practise other PL-300 topics?
Use the topic links above to move to related areas, or go back to the PL-300 question bank to see all topics.
Are these real exam questions or dumps?
These are original practice questions written to test the same concepts the PL-300 exam covers. They are not copied from any real exam or dump site.