00:20:00

Microsoft Power BI Data Analyst Practice Test

Use the form below to configure your Microsoft Power BI Data Analyst Practice Test. The practice test can be configured to only include certain exam objectives and domains. You can choose between 5-100 questions and set a time limit.

Logo for Microsoft Power BI Data Analyst
Questions
Number of questions in the practice test
Free users are limited to 20 questions, upgrade to unlimited
Seconds Per Question
Determines how long you have to finish the practice test
Exam Objectives
Which exam objectives should be included in the practice test

Microsoft Power BI Data Analyst Information

The Microsoft Certified: Power BI Data Analyst Associate certification (via exam PL-300) validates your ability to turn raw data into meaningful business insights using Microsoft Power BI. As a Power BI Data Analyst, you’ll work with stakeholders to gather requirements and translate them into visual reports, dashboards, and data models. You’ll collaborate with data and analytics engineers to acquire data, transform it, and present it powerfully. Core tools include Power Query (data preparation), DAX (data modeling and calculations), and the Power BI service (deployment and sharing).

The exam assesses skills across four major domains: Prepare the data, Model the data, Visualize and analyze the data, and Manage and secure Power BI. You’ll be tested on connecting to data sources, cleaning and transforming data, designing relationships and semantic models, creating reports and dashboards, applying DAX calculations, optimizing model performance, and securing Power BI assets via roles and row-level security.

Earning this certification shows employers you know how to use Power BI end-to-end — from data ingestion to sharing interactive insights. It’s ideal for roles such as Business Intelligence Analyst, Reporting Analyst, or Power BI Specialist. With this credential, you can confidently engage with stakeholders, build scalable data models, and implement visual analytics solutions in real-world business settings.

Microsoft Power BI Data Analyst Logo
  • Free Microsoft Power BI Data Analyst Practice Test

  • 20 Questions
  • Unlimited
  • Prepare the data
    Model the Data
    Visualize and Analyze the Data
    Manage and secure Power BI
Question 1 of 20

You add two calculation groups to a Power BI Desktop model. The Currency group (precedence = 5) returns dynamic formats by using SELECTEDMEASUREFORMATSTRING(). The Time Intelligence group (precedence = 15) defines items such as YTD that wrap SELECTEDMEASURE() in CALCULATE. A matrix visual shows the explicit measure [Sales], and slicers activate both the USD item from Currency and the YTD item from Time Intelligence. When DAX resolves the measure, which calculation group is evaluated first, and why?

  • The group executed first depends on which slicer the user changed most recently; Precedence is ignored.

  • Currency is applied first because calculation groups execute in ascending order of the Precedence value.

  • Time Intelligence is applied first because calculation groups execute in descending order of the Precedence value.

  • Currency is applied first because format-string expressions are always processed before value expressions.

Question 2 of 20

Auditors need to analyze an existing semantic model from Excel by creating PivotTables connected to that model. They must not edit, publish, or delete any content in the workspace that hosts the model, and they should not be able to reshare items with others. Which action should you take to meet these requirements?

  • Assign the auditors to the workspace Viewer role only.

  • Assign the auditors to the workspace Member role and enable Reshare permission on the semantic model.

  • Assign the auditors to the workspace Contributor role only.

  • Assign the auditors to the workspace Viewer role and grant them Build permission on the semantic model.

Question 3 of 20

You are optimizing a Power BI data model that currently occupies 1.2 GB in memory and performs sluggishly when users interact with visuals. Profiling shows that the FactSales table contains 50 million rows and three columns (RowGuid, ETLLoadDate, Comments) that are never referenced in reports, calculated columns, or measures. Which action will most directly reduce memory usage and improve query performance without affecting existing reports?

  • Set the summarization option of the three columns to "Do not summarize" in the properties pane.

  • Hide the three columns in Model view so that report authors cannot select them.

  • Disable the Auto Date/Time option for new files in the Power BI Desktop global settings.

  • Use Power Query to remove the RowGuid, ETLLoadDate, and Comments columns and then refresh the dataset.

Question 4 of 20

You built a Power BI Desktop report that loads order data from a SQL Server database and enrichment data from a local CSV file. Because the CSV source is marked Private, cross-source query folding is blocked and refresh is slow. You must change the CSV privacy level to Organizational and have the change persist for any future reports that use the same file path. Which action should you take?

  • In Power Query Editor, use Advanced Editor to add the parameter PrivacyLevel=Organizational to the Source step.

  • Publish the report, then in the Power BI service dataset settings set the gateway Privacy Level Mapping for the CSV data source to Organizational.

  • On the Home tab of Power Query Editor, select Transform > Data source settings and change the privacy level for the current file only.

  • Open File > Options and settings > Data source settings, select the CSV path under Global permissions, choose Edit Permissions, and set the Privacy Level to Organizational.

Question 5 of 20

You have a table that records monthly revenue and expense totals for five departments. Stakeholders want a visual that highlights the month-to-month net change in company profit and shows how each department drives that change. Which built-in Power BI visual best satisfies this requirement?

  • Stacked column chart

  • Funnel chart

  • Line and stacked area chart

  • Waterfall chart

Question 6 of 20

Your Product dimension uses a natural composite key: ProductCode (text) and CountryCode (2-letter ISO). The Sales fact table stores both columns. In Power BI Desktop you attempt to create a relationship but discover you can select only one column. Without altering the source systems, how can you create a single active one-to-many relationship between Product and Sales?

  • Create two separate relationships, one on ProductCode and one on CountryCode, and set both to active.

  • Enable bidirectional cross-filtering between ProductCode and CountryCode so Power BI treats the two columns as a composite key automatically.

  • Generate a surrogate integer key in the Sales fact table by hashing ProductCode and CountryCode and relate it to the original columns in the Product table.

  • Add a calculated column to both tables that concatenates ProductCode and CountryCode, then create a one-to-many relationship on that new column.

Question 7 of 20

You connect to an Azure SQL Database named SalesDev from Power BI Desktop. Before publishing the report, you create a text parameter called DatabaseName whose default value is "SalesDev" so the same file can later point to the production database "SalesProd". To ensure that changing the parameter in the Power BI service actually redirects the connection to SalesProd, which additional action must you take in Power Query Editor before publishing?

  • Mark the parameter as Required and read-only so that it cannot be left blank when the dataset is published.

  • Change the parameter's privacy level to Organizational to make it visible through the on-premises data gateway.

  • Set Suggested Values for the parameter to Query so it retrieves the list of databases from the server.

  • Edit the Source step so the Sql.Database function uses the DatabaseName parameter instead of the hard-coded database name.

Question 8 of 20

You import a CSV file into Power Query. After automatic type detection, the OrderDate column displays the value Error for many rows and dataset refresh fails with the message: DataFormat.Error: We couldn't parse the value "31/12/2024" as type Date. The file stores dates in the dd/MM/yyyy format, but the computer's regional settings are en-US. Which action in Power Query resolves the import error while keeping OrderDate as a Date column?

  • Rename the OrderDate column before the Changed Type step to prevent schema conflicts.

  • Change the OrderDate column type by selecting Use locale, choose Date as the data type, and select a locale that uses the dd/MM/yyyy pattern such as English (United Kingdom).

  • Change the OrderDate column type to Text so the values are not parsed as dates.

  • Use Replace Errors to change all Error values in OrderDate to null.

Question 9 of 20

You are modeling a sales dataset in Power BI. The Sales fact table contains three date columns: OrderDate, ShipDate, and ReturnDate. Report creators must be able to build slicers and visuals for each of these dates without writing any DAX or switching relationships manually. To implement a role-playing date dimension while keeping refresh time and storage use low, what should you do?

  • Create one Date table and set up three relationships to the Sales table, leaving two inactive; instruct authors to use the USERELATIONSHIP function in their measures.

  • Add three reference copies of the Date table in Power Query, name them Order Date, Ship Date, and Return Date, and link each copy with an active relationship to its corresponding date column in Sales.

  • Create one Date table and manually change which relationship is active before authors build each report.

  • Keep a single Date table and create a calculation group to let authors switch the date context between Order, Ship, and Return roles.

Question 10 of 20

You are designing a report page that will be embedded in an internal portal inside a fixed-size 1920 × 1080 iframe. Users might open the portal on monitors with different resolutions, but the business wants the entire report to appear without any scrollbars or zooming. Which combination of canvas settings should you apply in Power BI Desktop before publishing the page?

  • Set Page size to Custom (1920 × 1080) and change Page view to Actual size

  • Set Page size to 16:9 and change Page view to Fit to page

  • Set Page size to Cortana and change Page view to Fit to width

  • Set Page size to Letter and change Page view to Fit to width

Question 11 of 20

You are a data analyst with a Power BI data model that includes a 'Sales' table with a [SalesAmount] column and a 'Product' table with [Category], [Subcategory], and [Color] columns. You need to create a measure that calculates the total sales specifically for the 'Bikes' category. This calculation must ignore any user-applied filters on the [Subcategory] and [Color] columns from the 'Product' table, while still respecting filters from other tables. Which DAX formula correctly implements this requirement?

  • CALCULATE(SUM(Sales[SalesAmount]), Product[Category] = "Bikes", ALL(Product))

  • CALCULATE(SUM(Sales[SalesAmount]), KEEPFILTERS(Product[Category] = "Bikes"))

  • CALCULATE(SUM(Sales[SalesAmount]), Product[Category] = "Bikes", REMOVEFILTERS(Product[Subcategory], Product[Color]))

  • SUMX(FILTER(Sales, RELATED(Product[Category]) = "Bikes"), Sales[SalesAmount])

Question 12 of 20

You are designing a clustered bar chart that shows a measure named SalesAmount by ProductSubcategory. The chart can be affected by page-level filters, report-level filters, and slicers (for example, a ProductCategory slicer). You need a data label that displays each subcategory's percentage contribution to the total sales after any of those filters are applied, but regardless of the filter coming from the visual's category axis. Which DAX expression should you use for the Subcategory % of Total measure?

  • DIVIDE ( [SalesAmount], CALCULATE ( [SalesAmount], ALLSELECTED ( 'Product' ) ) )

  • DIVIDE ( [SalesAmount], CALCULATE ( [SalesAmount], ALL ( 'Product' ) ) )

  • DIVIDE ( [SalesAmount], CALCULATE ( [SalesAmount], ALLEXCEPT ( 'Product', 'Product'[ProductSubcategory] ) ) )

  • DIVIDE ( [SalesAmount], CALCULATE ( [SalesAmount], REMOVEFILTERS () ) )

Question 13 of 20

You are preparing data in Power Query for a Power BI report. The query named Sales contains 75 000 transaction rows with a CustomerID column. Another query named Customers contains one row per customer with the same CustomerID key and several demographic columns. You need a single result that preserves the 75 000 sales rows while adding the demographic columns from Customers to each matching transaction. Which action should you perform?

  • Merge Customers with Sales by CustomerID using a Right Anti join.

  • Append the Sales query to Customers and then remove duplicates on CustomerID.

  • Merge Sales with Customers by CustomerID using a Left Outer join.

  • Append the Customers query to the Sales query.

Question 14 of 20

You build a Power BI report that contains a summary page and a detailed "Order Details" page. On the summary page, users can select a calendar year in a slicer and then right-click a bar in a Sales by Region chart to open the "Order Details" page through drill-through. The drill-through correctly filters by the selected region, but the Year slicer selection is lost and the detailed page shows data for all years. You need to make sure the Year filter is preserved whenever users drill through.

Which action should you perform on the "Order Details" page?

  • Add the Year field to the tooltip of the Sales by Region visual.

  • Enable Sync slicers for the Year slicer between the two pages.

  • Turn on the Keep all filters toggle in the page's Drill-through settings.

  • Enable Cross-report drill-through for the report in Power BI Desktop.

Question 15 of 20

You apply a Microsoft Purview Information Protection sensitivity label named "Highly Confidential" to a Power BI semantic model in a workspace. A report author then creates a new report by connecting to the semantic model and saves it to the same workspace without explicitly setting a label. Later, the author exports the report to a PowerPoint file.

Which sensitivity label will be applied to the exported PowerPoint file, assuming no tenant-level settings are modified after the report is created?

  • No label; exported files are unlabeled unless the tenant default is enforced

  • "Public", because export operations always downgrade to the least restrictive label

  • "Highly Confidential", inherited from the report and semantic model

  • The tenant's default sensitivity label for Office files

Question 16 of 20

You are building a multi-page Power BI report that includes a main landing page. You need to provide a navigation menu on the landing page that allows users to move to other report pages. A key requirement is that the navigation menu must update automatically whenever pages are added, removed, or renamed. Which is the most efficient method to meet this requirement?

  • Add the Bookmark navigator visual and create a bookmark for each page.

  • Add the Page navigator visual from the Insert menu.

  • Configure automatic page refresh from the formatting pane.

  • Create an individual button for each report page and configure the 'Page navigation' action.

Question 17 of 20

While creating a new workspace in the Power BI service, you are asked to ensure that any content published to the workspace uses dedicated capacity so it does not compete for shared resources and can host paginated reports. Which configuration must you set before saving the workspace?

  • Add all users to the workspace with the Viewer role.

  • Assign the workspace to a Premium capacity in the Advanced settings.

  • Enable Build permission on the workspace's semantic models.

  • Specify a OneDrive location for workspace files.

Question 18 of 20

You are a data analyst cleaning sales data in the Power Query Editor. You have a column named 'OrderCode' that contains concatenated values in the format 'Region-ProductID-Date', such as 'NA-P45821-20250115'. You need to create a new column that contains only the 'ProductID' (e.g., 'P45821') from the middle of the string. Which of the following transformations is the most direct and appropriate method to accomplish this task?

  • Use the 'Split Column by Delimiter' transformation.

  • Use the 'Conditional Column' feature to create logic that extracts the text.

  • Use the 'Replace Values' transformation to remove the region and date codes.

  • Use the 'Unpivot Columns' transformation on the 'OrderCode' column.

Question 19 of 20

You have a workspace named SalesAnalytics that contains a semantic model called "Sales Model" and a report named "Executive Summary". User Ann Adams is assigned the Viewer role for the workspace. Ann needs to create her own reports in a different workspace by connecting to Sales Model. She must not be able to modify the original semantic model or share it with others. Which item-level permission should you grant to Ann on Sales Model to meet the requirements?

  • Grant Reshare permission on the Sales Model semantic model.

  • Grant Read permission on the Sales Model semantic model.

  • Grant Write permission on the Sales Model semantic model.

  • Grant Build permission on the Sales Model semantic model.

Question 20 of 20

You manage a Power BI workspace that uses the new workspace experience. A semantic model named SalesModel in the workspace has row-level security (RLS) roles that restrict data by region. Users in the NorthAmericaSales Azure AD security group are assigned the Member workspace role so they can build their own reports. When they connect to SalesModel from Excel by using Analyze in Excel, they can see data for all regions.

You must ensure that RLS filters are enforced for these users while still allowing them to create new reports that use SalesModel. What should you do?

  • Add the NorthAmericaSales group to the existing RLS role for SalesModel.

  • Publish SalesModel to a new workspace and share it by using an app.

  • Remove the Build permission on SalesModel from the NorthAmericaSales group.

  • Change the group's workspace role to Viewer and grant (or keep) Build permission on SalesModel.