Reinforce PL-300 concepts with active-recall study cards covering all 5 blueprint domains. Each card shows the question on the front and the correct answer with a full explanation on the back.
Flashcards work through active recall — the process of retrieving information from memory rather than passively re-reading it. Research consistently shows that active recall produces stronger, longer-lasting memory than re-reading study guides. For PL-300 preparation, this means flashcards are one of the highest-return study tools available.
Attempt recall first
Read the PL-300 question on each card, pause, and attempt to formulate the answer in your own words before revealing. This retrieval attempt — even if wrong — dramatically strengthens memory compared to immediately reading the answer.
Review wrong cards again
When you get a card wrong, note it and add it back to your review pile. Spaced repetition — seeing difficult cards more frequently — is the mechanism that makes flashcard study far more efficient than linear reading.
Study by domain
Group your PL-300 flashcard sessions by domain for the first 3–4 weeks. Master one domain before moving to the next. In the final week, shuffle all cards together to test cross-domain recall — which is what the real PL-300 exam requires.
Short sessions beat marathon reviews
20–30 flashcard cards per session, done daily, produces better retention than a single 200-card marathon session. Five short daily sessions per week over 4 weeks gives you over 400 total card reviews — enough to reliably pass PL-300.
Sample cards from the PL-300 flashcard bank. Read the question, think of the answer, then read the explanation below.
A company uses Power BI to analyze sales data from a SQL Server database. The database contains a table 'Sales' with 10 million rows. The business analysts need to create daily reports that aggregate sales by region and product category. To optimize report performance, which data preparation technique should be applied?
Perform aggregation in SQL before importing.
Option D is correct because performing aggregation in SQL before importing reduces the data volume from 10 million rows to a much smaller aggregated result set. This minimizes memory consumption and speeds up report rendering in Power BI, as the heavy lifting is done on the SQL Server engine rather than in Power Query or the Power BI data model.
You manage a Power BI workspace that contains a dataset refreshed daily from an on-premises SQL Server. Users report that the report shows data from two days ago. You verify that the scheduled refresh ran successfully this morning. What is the most likely cause?
The gateway is using a cached version of the data due to a misconfigured data source.
Option A is correct because the most likely cause is that the on-premises data gateway is using a cached version of the data due to a misconfigured data source. When the data source is misconfigured (e.g., incorrect credentials or connection string), the gateway may fall back to a previously cached dataset, causing the report to show stale data even though the scheduled refresh appears to have run successfully. This explains why users see data from two days ago despite a successful refresh this morning.
A company has a Power BI dataset that contains a date table with columns: Date, Year, Month, Quarter, Day. The data model also includes a sales fact table with a SalesDate column. To enable time intelligence functions like TOTALYTD, what is the minimum requirement for the relationship between these tables?
Create a one-to-many relationship from the date table to the sales table and mark the date table as a date table.
Option B is correct because time intelligence functions like TOTALYTD require a properly configured date table marked as a date table, with a one-to-many relationship from the date table to the sales fact table. This ensures that the date table provides a continuous, unique set of dates that Power BI can use for time-based calculations, and marking it as a date table enables the engine to recognize it as the primary date dimension for time intelligence.
A Power BI report uses a measure that calculates Year-over-Year sales growth. Users report that the measure shows incorrect values for January 2024 when compared to January 2023. The data model contains a Date table with a continuous date range from January 1, 2020 to December 31, 2024. Which DAX function is most likely causing the issue?
SAMEPERIODLASTYEAR
SAMEPERIODLASTYEAR returns the exact same dates from the previous year as the current filter context. For January 2024, it returns all days in January 2023. However, if the report is run during January 2024 (a partial month), the filter context includes only the days up to the current date. SAMEPERIODLASTYEAR still returns the entire month of January 2023, causing a comparison between a partial and a full month. This leads to incorrect Year-over-Year growth values. The other functions (PARALLELPERIOD, DATEADD, PREVIOUSYEAR) also shift dates but behave differently; SAMEPERIODLASTYEAR is the most likely cause because it is specifically designed for YoY comparisons and is often misused without considering partial periods.
You are a Power BI administrator. A user reports that a shared dashboard shows 'Sensitive data detected' for certain visualizations, but the dashboard is configured with row-level security (RLS). What is the most likely cause of this issue?
A Microsoft Purview sensitivity label is applied to the dataset or report.
The most likely cause is that a Microsoft Purview sensitivity label is applied to the dataset or report. Sensitivity labels classify data and can trigger warnings like 'Sensitive data detected' regardless of RLS. RLS only controls which rows a user can see; it does not prevent sensitivity labels from being detected. Option A is incorrect because 'Build' permission is about creating reports, not suppressing sensitivity labels. Option B is incorrect because misconfigured RLS would cause incorrect data access, not the specific warning. Option D is incorrect because the label is detected server-side, not dependent on browser capabilities.
You are a Power BI developer for a financial services company. The company has a large transactional database in Azure Synapse Analytics. The database contains a table 'Transactions' with 2 billion rows. The table includes columns: TransactionID, AccountID, TransactionDate, Amount, Type (Deposit/Withdrawal), Status (Pending/Completed). You need to build a Power BI semantic model that allows executives to analyze monthly trends of completed deposit amounts by account type (e.g., Savings, Checking). The account type is in a separate 'Accounts' table (1 million rows) with columns: AccountID, AccountType, CustomerID. The model must refresh within 2 hours. Due to the large data volume, you cannot import the entire Transactions table. What should you do?
Create an aggregated table in Synapse that pre-aggregates data at the month and account type level, then use DirectQuery on the aggregated table, and use a composite model with the detail table for drill-through.
Option D is correct because creating an aggregated table in Azure Synapse that pre-aggregates data at the month and account type level drastically reduces the data volume. Using DirectQuery on this aggregated table allows fast querying, and a composite model with the detail table enables drill-through to individual transactions when needed. This approach meets the refresh time constraint and handles large data efficiently. Option A is incorrect because incremental refresh with DirectQuery for older data does not solve the initial load issue and can be complex. Option B is incorrect because Power BI aggregations still require the base data to be imported, which is not feasible with 2 billion rows. Option C is incorrect because DirectQuery on the full table would be too slow for analysis.
A company has a Power BI report that uses a DirectQuery dataset from an Azure SQL Database. Users report that the report is slow when filtering by date. Which action should you take to improve performance?
Create a separate date dimension table and relate it to the fact table
Creating a separate date dimension table and relating it to the fact table improves performance by enabling star schema design, which optimizes DirectQuery queries. Without a dedicated date table, Power BI may generate inefficient queries that scan the entire fact table for date filtering. A date dimension also supports time intelligence functions and reduces query complexity by allowing the database to use indexes on the date key.
A Power BI report contains a table visual that displays employee names and their total sales. The data model includes an Employee table with columns: EmployeeID, Name, Department, and HireDate. The Sales table has columns: SaleID, EmployeeID, Amount, and SaleDate. The relationship between Employee and Sales is one-to-many. The user wants to see only employees who have made at least one sale. However, the table shows all employees, including those with no sales (blank Amount). What is the most likely reason?
There is no visual-level filter to exclude blank values.
Option D is correct because the table visual is showing all employees due to the absence of a visual-level filter to exclude blank or zero sales amounts. In Power BI, a one-to-many relationship between Employee and Sales means that employees without sales will still appear in the visual unless explicitly filtered out, as the relationship does not automatically suppress rows from the 'one' side when there are no matching rows on the 'many' side.
You are preparing a Power BI dataset from a SQL Server data source. The source table has a datetime column 'OrderDate' that you need to use for time intelligence calculations. However, you notice that the data contains dates in multiple formats (e.g., '2024-01-15 14:30:00' and '01/15/2024 2:30 PM'). What is the best practice to ensure consistent date handling in Power Query?
Use the 'Detect Data Type' function in Power Query to automatically identify and convert the column.
Option B is correct because the 'Detect Data Type' function in Power Query analyzes the column values and uses the system locale settings to parse dates in mixed formats, such as '2024-01-15 14:30:00' and '01/15/2024 2:30 PM', converting them to a consistent datetime type. This is the recommended first step for data type detection and ensures that time intelligence calculations in Power BI can rely on a uniform date/time column.
You are a Power BI data analyst at a financial services company. You have created a Power BI dataset that uses a live connection to an Azure Analysis Services (AAS) tabular model. The AAS model contains sensitive financial data. You need to implement row-level security (RLS) such that each user can only see data for their assigned region. The user's region is stored in a SQL Server database table called 'UserRegion' that maps user principal names (UPNs) to region IDs. The AAS model already has a 'Region' dimension table with a 'RegionID' column. You are not allowed to modify the AAS model. What should you do?
In Power BI Desktop, import the 'UserRegion' table from SQL Server and define an RLS role that filters the 'Region' table using the USERPRINCIPALNAME() function.
Option C is correct. With a live connection to AAS, you cannot modify the AAS model, but you can implement RLS in Power BI Desktop by importing the 'UserRegion' table and defining an RLS role that uses the USERPRINCIPALNAME() function to filter the 'Region' table. Option A is wrong because Power Query runs at refresh time and cannot dynamically filter based on the current user with a live connection. Option B is wrong because you are not allowed to modify the AAS model. Option D is wrong because it also requires modifying the AAS model.
A data analyst creates a Power BI report that uses a date table with a continuous date range. They want to calculate the running total of sales over the last 12 months, ending on the last date in the current filter context. Which DAX expression should they use?
CALCULATE(SUM(Sales[Amount]), DATESINPERIOD('Date'[Date], MAX('Date'[Date]), -12, MONTH))
Option B is correct because DATESINPERIOD('Date'[Date], MAX('Date'[Date]), -12, MONTH) returns a contiguous set of dates from 12 months before the last date in the current filter context up to that last date, providing an exact 12-month window. This function handles month boundaries correctly and is the standard way to calculate rolling 12-month totals in DAX. Option A uses 365 days, which can be imprecise due to leap years.
A user reports that a Power BI report is not refreshing data from a SQL Server database. The dataset uses Import mode. The gateway cluster shows all gateways are online. What is the most likely cause?
The data source credentials are incorrect or expired.
Option D is correct because in Import mode, Power BI caches data and refreshes it on a schedule using stored credentials. If those credentials expire or become invalid, the refresh fails even though the gateway cluster shows as online. The gateway being online only indicates network connectivity, not that the stored credentials are still valid for the SQL Server database.
You need to deploy a Power BI report from a development workspace to a production workspace. You want to ensure that the report uses the production dataset connection string without manual changes. What should you use?
Configure a deployment pipeline with parameter rules to override the data source.
Option C is correct because deployment pipelines in Power BI allow you to define parameter rules that automatically override data source connection strings when content is deployed from development to production. This ensures the report uses the production dataset without any manual post-deployment changes, maintaining consistency and reducing human error.
You manage a Power BI deployment that uses deployment pipelines. After promoting content from Development to Test, you notice that the Test workspace dataset uses a different data source than expected. What is the most likely reason?
The dataset parameters were not configured in the deployment pipeline rules.
Option C is correct because deployment pipeline rules allow you to configure dataset parameters (such as data source paths) to differ between pipeline stages. If these rules are not set, the dataset retains the data source configuration from the source stage (Development), causing the Test workspace to use an unexpected data source. The pipeline deploys the dataset artifact, but without parameter overrides, the data source connection string remains unchanged.
You are deploying a Power BI solution to a customer. The customer requires that all report access be controlled via Azure Active Directory (Azure AD) groups. You have a single workspace with multiple reports. What is the best practice for managing permissions?
Add an Azure AD group to the workspace role.
Option D is correct because using an Azure AD group to manage workspace roles aligns with the customer's requirement for centralized access control via Azure AD. This approach simplifies permission management by allowing group membership changes in Azure AD to automatically propagate to Power BI workspace access, ensuring consistency and reducing administrative overhead.
You manage a Power BI workspace that contains a dataset refreshed daily from an on-premises SQL Server. Users report that the report shows data from two days ago. You verify that the scheduled refresh ran successfully this morning. What is the most likely cause?
The gateway is using a cached version of the data due to a misconfigured data source.
Option A is correct because the most likely cause is that the on-premises data gateway is using a cached version of the data due to a misconfigured data source. When the data source is misconfigured (e.g., incorrect credentials or connection string), the gateway may fall back to a previously cached dataset, causing the report to show stale data even though the scheduled refresh appears to have run successfully. This explains why users see data from two days ago despite a successful refresh this morning.
Your Power BI dataset uses DirectQuery to an Azure SQL Database. Users complain that the report is slow. You need to improve query performance without changing the data source. What should you do?
Reduce the number of columns and rows retrieved by the report visuals.
Option A is correct because reducing the number of columns and rows retrieved by report visuals directly minimizes the amount of data sent from Azure SQL Database to Power BI via DirectQuery. Since DirectQuery sends native queries to the source for each visual interaction, fewer columns and rows mean smaller, faster queries, which reduces overall latency without altering the underlying data source.
You deploy a Power BI app to a workspace with an app-only license (Premium Per User). Users report that they can access the app but cannot see any visuals in the reports. The dataset uses Import mode. What is the most likely issue?
The users do not have a Premium Per User license assigned.
The workspace uses a Premium Per User (PPU) license, which requires each user accessing content in that workspace to have a PPU license assigned. Without it, users can see the app in the list but cannot render visuals because the dataset (Import mode) is processed on PPU-capacity nodes that enforce license checks. This is the most likely cause given the symptom of empty visuals.
You review the dataset refresh history. The second refresh took 30 minutes and failed. What is the most likely reason for the failure?
The refresh exceeded the timeout limit set in the gateway.
The second refresh took 30 minutes and failed, which strongly indicates the refresh exceeded the default 30-minute timeout limit configured in the on-premises data gateway. When a dataset refresh operation in Power BI runs longer than the gateway's timeout setting, the gateway terminates the connection, causing the refresh to fail. This is a common issue when refreshing large datasets or complex queries through a gateway.
You need to ensure that a Power BI report uses the latest data from a cloud-based Azure SQL Database. The report is configured with scheduled refresh. What is the minimum required license for the dataset owner to configure a scheduled refresh?
Power BI Pro
Option D is correct because Power BI Pro is the minimum license required for a dataset owner to configure a scheduled refresh against a cloud-based Azure SQL Database. Scheduled refresh is a premium feature that is not available with a Power BI Free license, and while Power BI Premium capacity or Premium Per User can also support scheduled refresh, they are not the minimum requirement. The dataset owner must have a Pro license to schedule refreshes for datasets hosted in shared capacity.
You manage a Power BI workspace used by the sales team. After updating a dataset with new columns, some users report that their reports show old data. You verify that the scheduled refresh completed successfully. What should you do first?
Open the report in Power BI Desktop, refresh the dataset, and republish.
Option A is correct because when a dataset is updated with new columns in Power BI Desktop, the report's underlying data model must be refreshed and republished to the Power BI service. Even if the scheduled refresh completes successfully, it only refreshes the existing data structure; it does not automatically incorporate schema changes like new columns. Republishing the .pbix file ensures the service has the updated metadata and data.
You are troubleshooting connectivity to a Power BI Premium dataset via the XMLA endpoint. A user reports that they cannot connect using SQL Server Management Studio (SSMS) but can view reports in the Power BI service. The user's email is user3@contoso.com. What is the most likely cause?
The user is not in the allowedUsers list for the XMLA endpoint.
Option C is correct because the XMLA endpoint for Power BI Premium datasets requires explicit user membership in the allowedUsers list (or allowedGroups) to enable client tools like SSMS to connect. The user can view reports in the Power BI service, which uses a different permission model (workspace roles), but SSMS connectivity via XMLA is gated by this separate list. Since the user is not in the allowedUsers list, the connection fails even though they have report viewing access.
You receive the above JSON policy for a Power BI dataset. You need to add a relationship between the 'Sales' table and a 'Calendar' table in the same dataset. What must you modify in the JSON?
Add an object to the 'relationships' array.
Option A is correct because relationships in a Power BI dataset are defined in the 'relationships' array within the JSON structure. Option B is incorrect because the 'tables' array holds table definitions, not relationships. Option C is incorrect because changing the 'version' field does not add a relationship. Option D is incorrect because adding a measure does not create a relationship between tables.
The PL-300 flashcard bank covers all 5 official blueprint domains published by Microsoft. Cards are distributed proportionally, so domains with higher exam weight have more cards.
Domain Coverage
Prepare the data
Deploy and maintain assets
Model the data
Visualize and analyze the data
Manage and secure Power BI
Both flashcards and practice questions are evidence-based study tools. The difference is in what they train:
Flashcards — concept retention
Best for memorising definitions, acronyms, protocol behaviours, command syntax, and conceptual distinctions. Use flashcards to build the foundational vocabulary that PL-300 questions assume you know.
Best in: weeks 1–3
Practice tests — application
Best for applying concepts to realistic scenarios, eliminating distractors, and building exam stamina.PL-300 questions test scenario reasoning — not just recall — so practice tests are essential.
Best in: weeks 3–6
The most effective PL-300 study plan combines both: use flashcards for the first 2–3 weeks to build conceptual foundations, then shift to practice tests and mock exams in the final 2–3 weeks to apply and benchmark that knowledge. Most candidates who pass on their first attempt use both tools.
Yes. Courseiva provides free PL-300 flashcards across all official exam domains. Every card includes the correct answer and a full explanation of why it is right and why the distractors are wrong. The platform also includes topic-based practice, mock exams, and readiness tracking — no account required.
Courseiva has 966+ original PL-300 flashcards across all 5 exam blueprint domains. New cards are added regularly as the question bank grows. All cards are written by certified engineers against the official Microsoft exam objectives.
Courseiva flashcards are purpose-built for IT certification exams. Unlike generic flashcard platforms where content quality varies, every Courseiva card is mapped to the official PL-300 exam blueprint, written by engineers who hold the certification, and includes a full explanation of the correct answer and why the distractors are wrong. This explanation quality is what separates genuine learning from rote memorisation.
Courseiva is a web platform — an internet connection is required. For offline study, we recommend creating free Courseiva account, using the platform in your browser, and using your device's offline capabilities if your browser supports offline web apps.
Save your results, see which domains need more work, and get spaced repetition recommendations — all free.
Sign Up FreeFree forever · Every certification included