Courseiva
← Back to Microsoft Power BI Data Analyst PL-300 questions

Scenario-based practice

Hard Difficulty Questions

Practise Microsoft Power BI Data Analyst PL-300 practice questions — original exam-style scenarios covering every exam domain, with detailed explanations, wrong-answer analysis, and common exam traps.

20
scenario questions
PL-300
exam code
Microsoft
vendor

Scenario guide

How to approach hard difficulty questions

These are the questions most candidates get wrong. They require connecting multiple concepts, reading tricky output, or knowing edge-case behaviour that isn't on most study cards. Practising them trains you to operate under uncertainty — a necessary skill on the real exam.

Quick answer

Hard Difficulty Questions questions test whether you can apply the concept in context, not just recognise a definition.

How the topic appears in realistic exam-style scenarios.

Which detail in the question changes the correct answer.

How to eliminate plausible but wrong options.

How to connect the question back to the wider exam objective.

Related practice questions

Related PL-300 topic practice pages

Scenario questions usually connect to one or more exam topics. Use these links to review the underlying concepts behind the scenario.

Practice set

Practice scenarios

Question 1hardmultiple choice
Full question →

You have a Power BI model with tables: Sales (DateKey, Amount) and Date (DateKey, Year, Month, Day). The measure above is intended to show sales for the current year ignoring any filters on date. However, when placed in a matrix with Month on rows, it returns the same value for every month. What is the most likely reason?

Exhibit

Refer to the exhibit. The following DAX expression is used in a measure:

CALCULATE(
    SUM(Sales[Amount]),
    FILTER(
        ALL(Date),
        Date[Year] = MAX(Date[Year])
    )
)
Question 2hardmulti select
Full question →

Which TWO are valid reasons to use a dataflow in Power BI when preparing data?

Question 3hardmulti select
Full question →

Which TWO are best practices for optimizing Power Query performance? (Choose two.)

Question 4hardmultiple choice
Full question →

You are connecting Power BI to an Azure SQL Database. The database contains a table 'Orders' with 10 million rows. You need to minimize the data load time and ensure that only the most recent 30 days of data are imported. Which approach should you use?

Question 5hardmultiple choice
Full question →

A Power BI data model includes a table 'Orders' with columns OrderID, CustomerID, OrderDate, SalesAmount. The model also has a 'Date' table and a 'Customer' table. The relationships are: Orders[CustomerID] -> Customer[CustomerID] (many-to-one, single direction) and Orders[OrderDate] -> Date[Date] (many-to-one, single direction). A user creates a measure that sums SalesAmount and then filters by a slicer on Customer[City]. The slicer works correctly. However, when the user adds another slicer on Date[Year], the measure does not respect both slicers simultaneously. What is the most likely cause?

Question 6hardmulti select
Full question →

Which THREE of the following are valid reasons to create a calculated table in Power BI?

Question 7hardmultiple choice
Full question →

You are troubleshooting a Power Query transformation that groups sales data by ProductID. The query runs slowly and you suspect the filter is being applied after loading all rows. What change would improve performance by pushing the filter to the source?

Exhibit

Refer to the exhibit.

```
M query:
let
    Source = Sql.Database("myserver.database.windows.net", "SalesDB"),
    SalesTable = Source{[Schema="dbo",Item="Sales"]}[Data],
    FilteredRows = Table.SelectRows(SalesTable, each [OrderDate] >= #date(2023,1,1)),
    GroupedRows = Table.Group(FilteredRows, {"ProductID"}, {{"TotalSales", each List.Sum([Amount]), type number}})
in
    GroupedRows
```
Question 8hardmultiple choice
Full question →

You are a Power BI data analyst at a university. You import a table named Enrollments from an on-premises SQL Server database. The table contains a column named StudentEmail that is stored as text and sometimes has leading or trailing spaces. You need to remove these spaces so that the column can be used to create a relationship with a Students table that also has a StudentEmail column. You must perform this cleanup in Power Query, and the transformation must apply to the entire column without creating a new column. Which transformation should you use?

Question 9hardmultiple choice
Full question →

You are designing a report for executives. The report contains a matrix visual with many rows and columns. Users complain that the visual is slow to render. Which design change would most improve performance?

Question 10hardmultiple choice
Full question →

A company wants to create a Power BI report that shows sales performance by region. The data contains a table 'Sales' with columns: Date, Amount, RegionID, and ProductID. They also have a 'Regions' table with RegionID and RegionName. They want to display a matrix visual with RegionName on rows and Year on columns, with the sum of Amount as values. However, the report displays only 'RegionID' instead of 'RegionName'. What is the most likely cause?

Question 11hardmultiple choice
Full question →

Refer to the exhibit. You have defined row-level security (RLS) in a Power BI semantic model using Role-level security. The JSON shows three rules for the 'Sales' and 'Targets' tables. The user 'john@contoso.com' belongs to this role. John's manager column in the Sales table has the value 'john@contoso.com'. What data will John see when he queries the model?

Exhibit

Refer to the exhibit.
```
{
  "rules": [
    {
      "table": "Sales",
      "filter": "Sales[Region] = 'West'"
    },
    {
      "table": "Sales",
      "filter": "Sales[Manager] = USERNAME()"
    },
    {
      "table": "Targets",
      "filter": "Targets[Region] = 'West'"
    }
  ]
}
```
Question 12hardmultiple choice
Full question →

Refer to the exhibit. You have the above Power Query M expression. You notice that the query is taking a long time to load. You suspect that query folding is not occurring for the filter on the Year column. What is the most likely reason?

Exhibit

let
    Source = Sql.Database("sqlserver01", "SalesDB"),
    dbo_Sales = Source{[Schema="dbo",Item="Sales"]}[Data],
    #"Filtered Rows" = Table.SelectRows(dbo_Sales, each [Year] >= 2020)
in
    #"Filtered Rows"
Question 13hardmultiple choice
Full question →

A Power BI developer is troubleshooting a report that uses a calculated table. The calculated table is defined as: 'Sales Summary = SUMMARIZE(Sales, Sales[ProductID], "Total Sales", SUM(Sales[Amount]))'. Users report that the 'Total Sales' column shows incorrect values when slicers are applied to the report. What is the most likely cause?

Question 14hardmultiple choice
Full question →

You are a data analyst for a global retail company. The company uses Power BI Premium capacity. You are building a dataset that combines sales data from three sources: 1. An Azure SQL Database that stores transactional sales data (10 million rows per day, retained for 5 years). 2. A SharePoint Online folder containing monthly Excel reports from regional offices (each report has a different structure). 3. A Dataverse table that contains customer feedback scores.

Requirements: - The dataset must support near real-time reporting for the current month's sales (maximum 15-minute latency). - Historical sales data (older than current month) can be refreshed daily. - Customer feedback scores should be updated every hour. - The Excel reports from SharePoint must be combined into a single table with consistent columns. - The final dataset should be optimized for fast query performance.

You need to design the data preparation strategy. What should you do?

Question 15hardmultiple choice
Full question →

You are designing a Power BI report for a sales team. The team needs to see revenue by product category, but also want to view daily trends for a selected product. The data has over 10 million rows. What visual design approach minimizes report load time?

Question 16hardmultiple choice
Full question →

You are a Power BI data analyst for a subscription software company. You import a table named Subscriptions from an OData feed. The table contains a column named BillingPeriod that stores values such as 'Monthly', 'Annual', and 'Quarterly'. A report author needs a numeric column that converts each value to the number of months in the billing period (1, 12, and 3 respectively) so that revenue can be normalized. You must add this column in Power Query without changing the source system. What should you do?

Question 17hardmultiple choice
Full question →

You are a Power BI data analyst at a bank. You import a table named Transactions from a SQL Server database. The table has a column named Amount stored as a decimal number and a column named TransactionDate stored as a date. You need to create a new column that contains the cumulative running total of Amount ordered by TransactionDate. The running total must reset for each AccountID. You want to implement this in Power Query without writing any custom M code. Which approach should you use?

Question 18hardmultiple choice
Full question →

You are creating a Power BI report that includes a matrix visual showing sales by country and product category. Users need to be able to drill down from country to city, and then to store. They also want to see the data at all levels simultaneously. Which configuration should you apply?

Question 19hardmultiple choice
Full question →

You are modeling a Power BI semantic model for a financial services company. The model contains a fact table 'Transactions' with columns: TransactionID, AccountID, TransactionDate, Amount, and TransactionType. You need to create a measure that calculates the running total of Amount for each account over time, resetting at the beginning of each year. Which DAX pattern should you use?

Question 20hardmultiple choice
Full question →

You are modeling data for a subscription business in Power BI Desktop. The Subscriptions table has StartDate and EndDate columns, and the Dates table is marked as the official date table. Analysts need a measure that counts subscriptions that were active on any given day selected in a slicer from Dates, and the relationship between Subscriptions and Dates must remain inactive to avoid ambiguity. Which approach should you use?

These PL-300 practice questions are part of Courseiva's free Microsoft certification practice question bank. Courseiva provides original exam-style PL-300 questions with detailed explanations, topic-based practice, mock exams, readiness tracking, and study analytics.