Free PL-300 Practice Questions with Detailed Explanations

Test your Microsoft Power BI Data Analyst readiness with 25 free practice questions covering data preparation, DAX modeling, visualization, and Power BI service administration.

20 min read
Updated June 2026
PL-300 Associate

The PL-300 (Microsoft Power BI Data Analyst) is an Associate-level exam that tests the full analytics workflow: connecting and cleaning data in Power Query, building a star-schema model with DAX, designing reports that communicate insight, and managing and securing content in the Power BI service. It is a practical exam — most questions describe a scenario and ask you to pick the BEST approach, not just recall a definition.

These 25 questions span all four skill areas in their official weighting. The model and DAX questions are where most candidates lose points — pay close attention to filter context and relationship behavior.

What You'll Get:

  • 25 scenario-based questions across all four PL-300 domains
  • Power Query, DAX, visualization, and service questions in real exam style
  • Detailed explanations covering why each option is right or wrong
  • Answer key to assess your readiness

What These Questions Cover

7
Prepare the Data
Power Query, connectivity, cleaning (25–30%)
7
Model the Data
Star schema, relationships, DAX (25–30%)
7
Visualize & Analyze
Visuals, interactions, AI visuals (25–30%)
4
Manage & Secure
RLS, workspaces, refresh (15–20%)

📝 Practice Test Instructions

  • • Each question has ONE best answer
  • • Watch for keywords: "minimize refresh time," "without a calculated column," "real-time"
  • • Note your answers before scrolling to the answer key
  • • Aim to complete all 25 questions in 30 minutes
🧹

Prepare the Data

Questions 1–7

1

Connectivity Mode

A report must show near real-time data from a large Azure SQL Database (billions of rows). The data changes constantly, and importing the full dataset is not feasible. Report authors need the latest values whenever a user interacts with a visual.

Which storage mode should you use for the fact table?

A)Import mode with an hourly scheduled refresh
B)Dual mode for every table
C)DirectQuery mode
D)Import mode with incremental refresh
2

Query Folding

You connect to a SQL Server source in Power Query and apply several transformations: filter rows, remove columns, and group by. You want as much of this work as possible to execute on the source server rather than in Power BI to improve refresh performance.

Which concept ensures these steps run on the source database?

A)Query folding
B)Incremental refresh
C)Query diagnostics
D)Composite models
3

Append vs Merge

You have 12 CSV files, one per month, each with identical columns (Date, Product, Sales). You need a single table containing all rows from all 12 files stacked together.

Which Power Query operation should you use?

A)Merge Queries
B)Group By
C)Pivot Columns
D)Append Queries
4

Merge Queries

A Sales table has a ProductKey column. A separate Products table has ProductKey, Category, and Brand. In Power Query, you need to bring Category and Brand into the Sales query as new columns based on matching ProductKey.

Which operation accomplishes this?

A)Append Queries
B)Merge Queries on ProductKey, then expand Category and Brand
C)Reference the Products query
D)Duplicate the Sales query
5

Data Profiling

Before building your model you want to quickly see, for each column, the percentage of empty/error values and the distribution of distinct values across the entire table (not just the first 1,000 rows).

What should you do in Power Query?

A)Add an index column and sort
B)Use Detect Data Type on all columns
C)Enable Column quality and Column distribution, and set profiling to be based on the entire data set
D)Run the report and inspect visuals
6

Reducing Model Size

Your imported model is very large and slow. A DateTime column "OrderTimestamp" stores values to the second, creating millions of unique values. Reports only ever group by date, not time.

What is the BEST way to reduce cardinality of this column?

A)Split into separate Date and Time columns, keep Date, remove Time
B)Change the column data type to Text
C)Hide the column from report view
D)Disable Auto Date/Time only
7

Parameters

You develop a report against a "Dev" database server but it must point to a "Prod" server when published, without editing every query manually each time the environment changes.

Which Power Query feature should you use for the server name?

A)A calculated column
B)A what-if parameter
C)A hard-coded value in each query
D)A query parameter referenced by the data source
🧩

Model the Data

Questions 8–14

8

Star Schema

You import a single wide spreadsheet containing sales transactions plus repeated customer and product attributes in every row. Reports are slow and measures are hard to write. You want to follow Power BI modeling best practice.

How should you structure the model?

A)Keep the single flat table — it is simplest
B)Split into a fact table (sales) and dimension tables (Customer, Product, Date) in a star schema
C)Create one table per column
D)Use DirectQuery on the flat table
9

Relationship Cardinality

You create a relationship between a Date dimension (one row per date) and a Sales fact table (many rows per date) using the date key.

What is the correct cardinality and filter direction for a standard star schema?

A)Many-to-many, both directions
B)One-to-one, single direction
C)One-to-many (Date to Sales), single cross-filter direction from Date to Sales
D)Many-to-one, both directions
10

Measure vs Calculated Column

You need "Total Sales" that correctly responds to every filter, slicer, and row in any visual, and you want to minimize model size (no extra stored data).

How should you create Total Sales?

A)A calculated column using SUMX per row
B)A Power Query custom column
C)A calculated table
D)A measure: Total Sales = SUM(Sales[Amount])
11

CALCULATE and Filter Context

You have a measure Total Sales = SUM(Sales[Amount]). You need a new measure that always returns sales for the "Bikes" category regardless of which category is selected in a slicer.

Which DAX expression is correct?

A)CALCULATE([Total Sales], Product[Category] = "Bikes")
B)SUM(Sales[Amount]) WHERE Category = "Bikes"
C)FILTER([Total Sales], "Bikes")
D)IF(Product[Category] = "Bikes", [Total Sales])
12

Role-Playing Dimension

Your Sales table has both OrderDate and ShipDate. You have one Date dimension. You create an active relationship on OrderDate and an inactive relationship on ShipDate. You need a measure "Sales by Ship Date".

Which DAX function activates the inactive ShipDate relationship for that measure?

A)RELATED
B)USERELATIONSHIP inside CALCULATE
C)TREATAS only
D)CROSSFILTER set to none
13

Time Intelligence

You need a measure that returns total sales for the same period in the prior year so a visual can compare year-over-year. A proper Date table exists and is marked as a date table.

Which DAX measure is correct?

A)CALCULATE([Total Sales], PREVIOUSDAY('Date'[Date]))
B)SUM(Sales[Amount]) - 1
C)CALCULATE([Total Sales], SAMEPERIODLASTYEAR('Date'[Date]))
D)CALCULATE([Total Sales], ALL('Date'))
14

Performance Optimization

A report page is slow to render. You need to identify which specific visual and which DAX query is taking the most time so you can optimize it.

Which Power BI Desktop tool should you use?

A)Manage Roles
B)Sync Slicers
C)Publish to web
D)Performance Analyzer
📊

Visualize and Analyze the Data

Questions 15–21

15

Choosing a Visual

A stakeholder wants to see how monthly revenue has trended over the last three years to spot seasonality.

Which visual is the BEST choice?

A)A line chart with month on the axis
B)A pie chart
C)A single card
D)A table sorted by revenue
16

Drillthrough

From a summary page, users should be able to right-click a specific product and jump to a detail page filtered to only that product.

Which feature should you configure?

A)A bookmark
B)Drillthrough, with Product added to the detail page drillthrough field well
C)Edit interactions
D)A sync slicer
17

Bookmarks

You want a single button that resets all slicers and hides a detail panel, returning the page to its default view.

Which combination should you use?

A)Drillthrough
B)Row-level security
C)A bookmark capturing the default state, assigned to a button action
D)A calculated column
18

Visual Interactions

On a page, selecting a bar in one chart filters every other visual. For one specific KPI card, you want it to stay unaffected when users click that bar.

What should you change?

A)Delete the relationship
B)Apply row-level security
C)Move the card to another page
D)Use Edit interactions and set the KPI card to None for that source visual
19

Conditional Formatting

In a table, you must color the "Profit Margin" cells red when below 10%, yellow between 10–20%, and green above 20%, based on the measure value.

Which feature accomplishes this?

A)Conditional formatting with rules on the measure
B)A separate calculated table
C)Sort by color
D)A slicer
20

AI Visuals

A manager asks: "Which factors most increase the likelihood that a customer churns?" You want a built-in visual that automatically ranks the contributing factors.

Which visual should you use?

A)Pie chart
B)Key influencers visual
C)Matrix
D)Gauge
21

Slicers

You have a Date slicer on three different report pages and want a selection made on one page to automatically apply to the same slicer on the other pages.

Which feature should you use?

A)Drillthrough
B)Bookmarks only
C)Sync slicers
D)Separate filters on each page
🔐

Manage and Secure Power BI

Questions 22–25

22

Row-Level Security

Regional managers must each see only the sales rows for their own region when they open the published report. You want to enforce this in the data model.

How should you implement this?

A)Create a separate report per region
B)Hide the Region column
C)Use a page-level filter
D)Create RLS roles in Power BI Desktop with a DAX filter on the Region table, then assign users to roles in the service
23

Workspace Roles

A colleague needs to publish and edit reports in a workspace and manage its content, but must NOT be able to add or remove other users or delete the workspace.

Which workspace role should you assign?

A)Contributor
B)Viewer
C)Admin
D)Member
24

Scheduled Refresh

A published report imports data from an on-premises SQL Server. You need the dataset to refresh automatically every morning.

What must be in place for scheduled refresh to work?

A)DirectQuery only — no gateway needed
B)An on-premises data gateway configured for the data source, plus a refresh schedule on the dataset
C)Publish to web
D)A Power BI Pro license is sufficient by itself with no gateway
25

Distribution

You need to distribute a collection of reports and dashboards to 200 read-only business users in a governed, packaged experience, rather than sharing each report individually.

What is the BEST distribution method?

A)Email each PBIX file
B)Share each report one by one
C)Publish a Power BI app from the workspace
D)Publish to web (public)

✋ Stop Here Before Scrolling!

Have you answered all 25 questions? Complete the test before checking the answers below.

Pro tip: PL-300 rewards understanding filter context — be able to explain WHY a measure returns the value it does.

📝 Answer Key with Detailed Explanations

Review each explanation carefully, even for questions you answered correctly

Quick Answer Reference

Q1
C
Q2
A
Q3
D
Q4
B
Q5
C
Q6
A
Q7
D
Q8
B
Q9
C
Q10
D
Q11
A
Q12
B
Q13
C
Q14
D
Q15
A
Q16
B
Q17
C
Q18
D
Q19
A
Q20
B
Q21
C
Q22
D
Q23
A
Q24
B
Q25
C
1

Connectivity Mode

Correct Answer: C) DirectQuery mode

Why this is correct:

DirectQuery leaves data in the source and queries it live whenever a user interacts with a visual, so the report always reflects the latest values without importing billions of rows. It is the right choice when data is too large to import and near real-time freshness is required.

Why the others are wrong:

  • A) Import with hourly refresh caches a copy — data is up to an hour stale and importing billions of rows is impractical.
  • B) Dual mode is a modeling optimization (mainly for dimensions in composite models), not the answer for a massive, constantly-changing fact table.
  • D) Incremental refresh still imports data and refreshes on a schedule — it improves Import refresh but does not give live, near real-time values.

Exam tip: Import = fast, cached, scheduled refresh, full DAX. DirectQuery = live, large/real-time data, some DAX limits and slower visuals. Composite/Dual = mix import dimensions with DirectQuery facts.

2

Query Folding

Correct Answer: A) Query folding

Why this is correct:

Query folding is Power Query's ability to translate your transformation steps into a single native query (e.g., SQL) that runs on the source server. Folding-friendly steps like filtering rows and removing columns are pushed down to the database, dramatically reducing data transferred and improving refresh performance.

Why the others are wrong:

  • B) Incremental refresh limits how much data is refreshed by partition — related but not what pushes steps to the server.
  • C) Query diagnostics helps you analyze and troubleshoot folding, but is not the mechanism itself.
  • D) Composite models combine storage modes — unrelated to pushing transforms to the source.

Exam tip: Steps that fold: filter, remove/rename columns, group by, merge on keys. Steps that often break folding: adding index columns, custom M functions, Change Type on some sources. Right-click a step → "View Native Query" to check folding.

3

Append vs Merge

Correct Answer: D) Append Queries

Why this is correct:

Append stacks rows from multiple queries with the same columns into one longer table — exactly what you need for 12 monthly files with identical structure. (In practice you would connect to the folder and combine, which uses append logic under the hood.)

Why the others are wrong:

  • A) Merge joins tables side-by-side on a matching key (adds columns), not stacks rows.
  • B) Group By aggregates rows, it does not combine files.
  • C) Pivot Columns reshapes a column into multiple columns.

Exam tip: Append = more ROWS (union, same columns). Merge = more COLUMNS (join on a key). Memory aid: apPEND adds to the END (bottom).

4

Merge Queries

Correct Answer: B) Merge Queries on ProductKey, then expand

Why this is correct:

Merge performs a join between Sales and Products on ProductKey. After merging you expand the resulting nested column to surface Category and Brand as new columns in the Sales query. This is the column-adding lookup operation.

Why the others are wrong:

  • A) Append stacks rows — it would not bring in Category/Brand as columns.
  • C) Reference just creates a linked copy of the Products query; it does not join it to Sales.
  • D) Duplicate copies the Sales query; it adds nothing from Products.

Exam tip: Merge join kinds matter: Left Outer keeps all Sales rows and matches Products. Use the join type that preserves your fact rows (usually Left Outer from the fact table).

5

Data Profiling

Correct Answer: C) Enable Column quality / distribution, profile entire data set

Why this is correct:

The View ribbon in Power Query has Column quality (valid/error/empty %), Column distribution (distinct/unique counts), and Column profile. By default profiling is based on the top 1,000 rows — switch the status bar setting to "Column profiling based on entire data set" to see accurate figures across all rows.

Why the others are wrong:

  • A) An index column adds a sequence; it does not profile quality or distribution.
  • B) Detect Data Type only sets types.
  • D) Inspecting visuals after building is slow and imprecise compared to built-in profiling.

Exam tip: Profiling tools live on the View tab: Column quality, Column distribution, Column profile. Remember to switch from "Top 1000 rows" to "entire data set" for trustworthy numbers.

6

Reducing Model Size

Correct Answer: A) Split into Date and Time, keep Date

Why this is correct:

Model size in the VertiPaq engine is driven largely by column cardinality (number of distinct values). A second-level DateTime has millions of unique values. Splitting into a Date column (low cardinality) and a Time column, then removing the unused Time, drastically lowers cardinality and shrinks the model.

Why the others are wrong:

  • B) Converting to Text keeps the same high number of distinct values — no cardinality benefit, and you lose date functionality.
  • C) Hiding a column changes visibility only, not storage size.
  • D) Disabling Auto Date/Time helps avoid hidden date tables but does nothing about the high-cardinality timestamp column itself.

Exam tip: Biggest model-size levers: reduce column cardinality, remove unused columns, avoid high-precision DateTime, and disable Auto Date/Time. Cardinality > row count for column compression.

7

Parameters

Correct Answer: D) A query parameter referenced by the data source

Why this is correct:

A Power Query parameter (e.g., ServerName) can be referenced in the data source step. To move from Dev to Prod you change one parameter value instead of editing every query, and parameters can be set in the Power BI service dataset settings after publishing.

Why the others are wrong:

  • A) A calculated column is DAX in the model — unrelated to data source connection.
  • B) A what-if parameter generates a table of values for analysis in reports, not a connection setting.
  • C) Hard-coding the value is exactly what you are trying to avoid.

Exam tip: Two different "parameters" in Power BI: Power Query parameters (M, used for connections/values during ETL) vs What-if parameters (DAX, used in report analysis). The exam tests both — read which layer the scenario is about.

8

Star Schema

Correct Answer: B) Fact + dimension tables (star schema)

Why this is correct:

A star schema — a central fact table (Sales) surrounded by dimension tables (Customer, Product, Date) joined by keys — is the recommended Power BI model. It produces simpler, faster DAX, better compression, and clean filtering. This is the single most-tested modeling concept on PL-300.

Why the others are wrong:

  • A) A flat wide table repeats attributes, bloats size, and makes measures and filtering harder.
  • C) One table per column is nonsensical and unworkable.
  • D) DirectQuery on a flat table does not fix the modeling problem and adds query overhead.

Exam tip: Star schema = 1 fact (numbers/events) + many dimensions (descriptive attributes). Avoid snowflaking unless necessary; flatten dimensions in Power Query.

9

Relationship Cardinality

Correct Answer: C) One-to-many, single direction (Date → Sales)

Why this is correct:

A dimension has one row per key (one date), the fact has many rows per key (many sales on that date) — so the relationship is one-to-many. The cross-filter direction should be single, flowing from the dimension (Date) to the fact (Sales), which is the standard, performant star-schema pattern.

Why the others are wrong:

  • A) Many-to-many with bidirectional filtering invites ambiguity and performance problems; avoid unless required.
  • B) One-to-one is wrong — many sales share a date.
  • D) Bidirectional filtering on a standard dimension-to-fact relationship is unnecessary and can create circular filter paths.

Exam tip: Default star schema relationships: one-to-many, single direction, dimension filters fact. Reach for bidirectional or many-to-many only for specific needs (e.g., bridge tables) and know the trade-offs.

10

Measure vs Calculated Column

Correct Answer: D) A measure: SUM(Sales[Amount])

Why this is correct:

A measure is evaluated at query time within the current filter context, so it responds correctly to slicers, rows, and filters, and stores no extra data — keeping the model small. SUM(Sales[Amount]) as a measure is the textbook Total Sales.

Why the others are wrong:

  • A) A calculated column is computed row-by-row at refresh and stored, increasing model size, and a single column cannot aggregate across the visual's filter context the way a measure does.
  • B) A Power Query custom column is static ETL output, not a dynamic aggregation.
  • C) A calculated table materializes rows — wrong tool for a single aggregate value.

Exam tip: Measure = dynamic, filter-context aware, no storage cost — use for aggregations/KPIs. Calculated column = static, stored, row context — use when you need a value on each row (e.g., a category bucket) to slice/group by.

11

CALCULATE and Filter Context

Correct Answer: A) CALCULATE([Total Sales], Product[Category] = "Bikes")

Why this is correct:

CALCULATE is the only DAX function that modifies filter context. The filter argument Product[Category] = "Bikes" overrides any slicer selection, so the measure always returns Bikes sales. This is the core CALCULATE pattern PL-300 tests heavily.

Why the others are wrong:

  • B) WHERE is SQL syntax, not DAX.
  • C) FILTER returns a table and is not used like this; it cannot stand alone as the measure.
  • D) An IF on a column reference has no row context in a measure and will not reliably override the slicer.

Exam tip: CALCULATE(expression, filter1, filter2, ...) evaluates the expression in a modified filter context. It is THE function for "regardless of selection," "only for X," and time intelligence.

12

Role-Playing Dimension

Correct Answer: B) USERELATIONSHIP inside CALCULATE

Why this is correct:

USERELATIONSHIP activates an inactive relationship for the duration of a CALCULATE. Sales by Ship Date = CALCULATE([Total Sales], USERELATIONSHIP(Sales[ShipDate], 'Date'[Date])) temporarily uses the ShipDate relationship instead of the active OrderDate one.

Why the others are wrong:

  • A) RELATED pulls a column value across an existing active relationship; it does not switch relationships.
  • C) TREATAS applies a table as a filter — a different technique, not the standard role-playing solution here.
  • D) CROSSFILTER changes filter direction, not which relationship is active.

Exam tip: Role-playing dimension = one dimension (Date) related to a fact multiple ways (Order/Ship/Due). Keep one active relationship; switch with USERELATIONSHIP inside CALCULATE per measure.

13

Time Intelligence

Correct Answer: C) SAMEPERIODLASTYEAR

Why this is correct:

CALCULATE([Total Sales], SAMEPERIODLASTYEAR('Date'[Date])) shifts the date filter back exactly one year, returning prior-year sales for whatever period is in context — perfect for year-over-year comparison. It requires a contiguous, marked Date table.

Why the others are wrong:

  • A) PREVIOUSDAY returns the prior day, not prior year.
  • B) Subtracting 1 is meaningless for sales.
  • D) ALL('Date') removes all date filters, giving the grand total, not the prior year.

Exam tip: Time intelligence needs a proper Date table marked as a date table. Common functions: SAMEPERIODLASTYEAR, DATEADD, TOTALYTD, DATESYTD, PREVIOUSMONTH.

14

Performance Optimization

Correct Answer: D) Performance Analyzer

Why this is correct:

Performance Analyzer (View tab) records how long each visual takes to render and exposes the underlying DAX query and its duration. You start recording, refresh visuals, and read which visual/query is the bottleneck — then optimize that DAX or model.

Why the others are wrong:

  • A) Manage Roles configures RLS.
  • B) Sync Slicers links slicers across pages.
  • C) Publish to web shares a public report.

Exam tip: Optimization workflow: Performance Analyzer to find the slow visual → copy its DAX query → analyze in DAX query view / external tools → reduce cardinality, fix relationships, or rewrite the measure.

15

Choosing a Visual

Correct Answer: A) Line chart with month on the axis

Why this is correct:

Line charts are designed to show trends and seasonality over a continuous time axis. Three years of monthly revenue on a line makes patterns and seasonal cycles immediately visible.

Why the others are wrong:

  • B) Pie charts show part-to-whole at a single point in time, not trends.
  • C) A card shows one number, no trend.
  • D) A table sorted by revenue hides the time sequence entirely.

Exam tip: Match visual to intent: trend over time → line; part-to-whole → pie/donut/stacked (sparingly); comparison across categories → bar/column; relationship → scatter; single KPI → card/KPI.

16

Drillthrough

Correct Answer: B) Drillthrough with Product on the detail page

Why this is correct:

Drillthrough lets users right-click a data point and navigate to a dedicated detail page that is automatically filtered to that value. You add the field (Product) to the detail page's drillthrough well; Power BI passes the selected product as a filter.

Why the others are wrong:

  • A) Bookmarks capture states/views, not per-value navigation with passed filters.
  • C) Edit interactions controls cross-filtering on the same page.
  • D) Sync slicers link slicers, not drill navigation.

Exam tip: Drillthrough = navigate to a detail page filtered to the selected entity. Configure the target field in the detail page's Drillthrough well; a back button is added automatically.

17

Bookmarks

Correct Answer: C) A bookmark assigned to a button

Why this is correct:

A bookmark captures the current report state — slicer selections, filters, visual visibility. Capture the default view as a bookmark, then set a button's action to that bookmark so one click resets slicers and hides the panel.

Why the others are wrong:

  • A) Drillthrough navigates with filters; it does not reset state.
  • B) RLS restricts data by user, unrelated to UI state.
  • D) A calculated column is model logic.

Exam tip: Bookmarks + buttons + selection pane = interactive UX: reset views, show/hide panels, toggle visuals, build navigation. Choose what each bookmark captures (data, display, current page).

18

Visual Interactions

Correct Answer: D) Edit interactions, set the card to None

Why this is correct:

Edit interactions (Format tab) lets you control how selecting a data point in one visual affects each other visual. Setting the KPI card's interaction to None for the source chart makes the card ignore selections from that chart.

Why the others are wrong:

  • A) Deleting a relationship breaks the model for everything.
  • B) RLS filters data by user, not interaction behavior.
  • C) Moving the card avoids the issue rather than configuring it.

Exam tip: Edit interactions options per target visual: Filter, Highlight, or None. Use None to "pin" a visual so it ignores selections elsewhere on the page.

19

Conditional Formatting

Correct Answer: A) Conditional formatting with rules on the measure

Why this is correct:

Conditional formatting (Format → Cell elements → Background/Font color → Rules) applies colors based on value thresholds of a field or measure. Defining rules for <10% red, 10–20% yellow, >20% green colors the Profit Margin cells dynamically.

Why the others are wrong:

  • B) A calculated table does not format cells.
  • C) Sorting by color is not a formatting mechanism.
  • D) A slicer filters; it does not color cells.

Exam tip: Conditional formatting supports: color scale (gradient), rules (thresholds), and field value (drive color from a dedicated measure that returns a color code).

20

AI Visuals

Correct Answer: B) Key influencers visual

Why this is correct:

The Key influencers visual uses built-in ML to analyze data and rank which factors most increase or decrease a selected metric or outcome (like churn). It directly answers "what drives this?" without writing any model code.

Why the others are wrong:

  • A) A pie chart shows proportions, not drivers.
  • C) A matrix is a cross-tab table.
  • D) A gauge shows progress to a target.

Exam tip: Power BI AI visuals: Key influencers (what drives an outcome), Decomposition tree (drill into a metric by dimensions, with AI "high/low" splits), Q&A (natural-language queries), Smart narrative (auto text).

21

Slicers

Correct Answer: C) Sync slicers

Why this is correct:

The Sync slicers pane lets you choose which pages a slicer's selection applies to. Syncing the Date slicer across the three pages means a selection on one page automatically applies to the others.

Why the others are wrong:

  • A) Drillthrough is per-value navigation.
  • B) Bookmarks capture states, not live shared slicer selections.
  • D) Separate filters per page is exactly the manual behavior you want to avoid.

Exam tip: Sync slicers pane (View tab): control, per page, whether a slicer is visible and whether its selection syncs. Great for consistent filtering across a multi-page report.

22

Row-Level Security

Correct Answer: D) RLS roles with a DAX filter, assign users in the service

Why this is correct:

Row-level security is defined in Power BI Desktop via Manage Roles, where you write a DAX filter on a table (e.g., [Region] = USERPRINCIPALNAME()-based lookup or a static role per region). After publishing, you assign users/groups to roles in the service so each user sees only their rows.

Why the others are wrong:

  • A) A report per region is unmanageable and not the intended security model.
  • B) Hiding a column does not restrict rows.
  • C) A page-level filter is not security — users can change or remove it.

Exam tip: RLS = define roles + DAX table filters in Desktop → publish → assign members to roles in the service. Dynamic RLS uses USERNAME()/USERPRINCIPALNAME() to filter by the logged-in user.

23

Workspace Roles

Correct Answer: A) Contributor

Why this is correct:

Contributor can publish, edit, and delete content in the workspace (reports, datasets, dashboards) but cannot manage workspace access or delete the workspace itself. That matches "edit/manage content but not users."

Why the others are wrong:

  • B) Viewer is read-only — cannot publish or edit.
  • C) Admin can manage users and delete the workspace — too much.
  • D) Member can also add others (with lower roles) and share — more than required; Contributor is the least-privilege fit.

Exam tip: Workspace roles (increasing power): Viewer (read) < Contributor (create/edit content) < Member (+ share, add contributors/viewers) < Admin (+ manage all access, delete workspace). Apply least privilege.

24

Scheduled Refresh

Correct Answer: B) On-premises data gateway + refresh schedule

Why this is correct:

For imported data from on-premises sources, the Power BI service reaches the source through an on-premises data gateway. You install/configure the gateway, map the dataset's data source to it, then set a refresh schedule on the dataset.

Why the others are wrong:

  • A) DirectQuery against on-prem still requires a gateway, and the scenario specifies import + scheduled refresh.
  • C) Publish to web is public sharing, not refresh.
  • D) A Pro license alone cannot reach on-prem data without a gateway.

Exam tip: On-prem or private data source + service refresh = data gateway required. Personal gateway (single user) vs standard/enterprise gateway (shared, governed). Cloud sources may not need a gateway.

25

Distribution

Correct Answer: C) Publish a Power BI app

Why this is correct:

A Power BI app packages selected reports and dashboards from a workspace into a single, governed, read-friendly experience you publish to large audiences (e.g., a security group of 200 users). It is the recommended enterprise distribution method.

Why the others are wrong:

  • A) Emailing PBIX files has no governance, no refresh, and exposes the model.
  • B) Sharing report-by-report does not scale and is hard to manage.
  • D) Publish to web exposes data publicly on the internet — a security risk, never for internal business data.

Exam tip: Distribution options: Apps (best for broad, governed read access) > workspace access (for collaborators) > direct share (small, ad hoc). Never use Publish to web for confidential data.

Want 500 PL-300 questions like these?

These 25 are a sample. MSCertQuiz has a full PL-300 question bank with practice and timed exam modes, calibrated harder than the real exam so test day feels easier. Start with 40 free questions — no credit card required.