Microsoft Power BI Data Analyst PL-300 (PL-300) — Questions 175

966 questions total · 13pages · All types, answers revealed

Page 1 of 13

Page 2
1
MCQhard

You are designing a Power BI solution for a retail company. The data includes point-of-sale transactions with columns: TransactionID, StoreID, ProductID, Quantity, SalesAmount, TransactionDate. The company wants to analyze sales by hour of day. What is the best way to prepare the time dimension?

A.Add a calculated column extracting hour from TransactionDate in the fact table
B.Create a date dimension only and ignore time
C.Use DAX measures to extract hour on the fly
D.Create a separate Time dimension table with a one-to-many relationship to the fact table
AnswerD

A time dimension allows consistent time analysis.

Why this answer

Option D is correct because creating a separate Time dimension table with a one-to-many relationship to the fact table follows the star schema best practice for Power BI. This approach allows efficient filtering and grouping by hour without bloating the fact table with calculated columns, and it supports time-based analysis across multiple fact tables if needed. The Time dimension can include columns like Hour, HourBucket, or PeriodOfDay, enabling intuitive slicers and drill-downs.

Exam trap

The trap here is that candidates often think extracting the hour via a calculated column (Option A) is simpler and sufficient, but they overlook the performance and scalability benefits of a proper star schema with a separate Time dimension, which is a core concept tested in PL-300.

How to eliminate wrong answers

Option A is wrong because adding a calculated column to the fact table to extract hour increases storage and processing overhead, and it violates star schema principles by mixing dimensions into the fact table. Option B is wrong because ignoring time entirely fails to meet the requirement to analyze sales by hour of day, as a date-only dimension cannot support hourly granularity. Option C is wrong because using DAX measures to extract hour on the fly is inefficient for repeated calculations in visuals, can degrade performance with large datasets, and prevents the use of time-based hierarchies or slicers.

2
MCQeasy

You have a Power BI dataset that uses Import mode and refreshes daily. The source data includes a column 'LastModifiedDate'. You want to reduce the amount of data loaded during each refresh by only loading rows that have changed since the last refresh. Which feature should you configure?

A.Enable query folding in Power Query.
B.Use the 'Reduce data' option in Power Query Editor.
C.Change the storage mode to DirectQuery.
D.Configure incremental refresh on the table using the 'LastModifiedDate' column.
AnswerD

Incremental refresh partitions the table and only refreshes partitions that have changed, based on a date/time column.

Why this answer

Incremental refresh in Power BI allows you to filter data by a date/time column (such as 'LastModifiedDate') so that only rows that have changed since the last refresh are loaded. This reduces refresh time and data volume while still using Import mode. The feature requires a date/time column and a properly configured policy in the Power Query Editor.

Exam trap

The trap here is that candidates often confuse incremental refresh with query folding or 'Reduce data' options, not realizing that incremental refresh is the only feature designed to load only changed rows in Import mode while keeping the dataset in Import mode.

How to eliminate wrong answers

Option A is wrong because query folding pushes transformations back to the source database, but it does not selectively load only changed rows; it still processes the entire dataset. Option B is wrong because 'Reduce data' is not a built-in Power Query Editor feature; the correct option for reducing loaded data is incremental refresh. Option C is wrong because changing storage mode to DirectQuery avoids importing data entirely, but the question specifies Import mode and wants to reduce data loaded during refresh, not switch to a live query mode.

3
Multi-Selecteasy

A Power BI administrator wants to allow users to create dashboards and reports, but prevent them from sharing content outside the organization. Which two settings should be configured in the Power BI admin portal? (Choose two.)

Select 2 answers
A.Disable 'Create workspaces' in the tenant settings.
B.Disable 'Export data' in the tenant settings.
C.Disable 'Featured tables' in the tenant settings.
D.Disable 'Share content with external users' in the tenant settings.
E.Disable 'Publish to web' in the tenant settings.
AnswersD, E

This setting prevents users from sharing reports and dashboards with external email addresses.

Why this answer

Option A (control 'Share content with external users') and Option D (disable 'Publish to web') are correct. Option A directly blocks sharing with external users. Option D prevents public sharing via embed codes.

Option B (create workspaces) is irrelevant to sharing. Option C (export data) is about exporting, not sharing. Option E (featured tables) is unrelated.

4
MCQeasy

A company has a fact table with sales data and multiple dimension tables. They want to create a measure that calculates the total sales amount for the current year, but the measure returns incorrect results when used in a visual with a date hierarchy. What is the most likely cause?

A.The date table is not marked as a date table in Power BI.
B.The fact table is not in a star schema; it is snowflaked.
C.The relationship between the date table and the fact table is inactive.
D.The relationship between the date table and the fact table is set to bidirectional cross-filtering.
AnswerC

If the relationship is inactive, it must be activated using USERELATIONSHIP in the measure; otherwise, the measure will not filter correctly by date.

Why this answer

Option C is correct because if the relationship between the date table and the fact table is inactive, measures that rely on time intelligence functions (like TOTALYTD, SAMEPERIODLASTYEAR, or a simple SUM with date filtering) will not automatically propagate filters from the date hierarchy to the fact table. In Power BI, only one active relationship can exist between two tables; inactive relationships require explicit activation via USERELATIONSHIP in DAX. Without that, the measure ignores the date filter and returns incorrect or blank results.

Exam trap

The trap here is that candidates often assume any relationship between tables will automatically filter, but Power BI requires exactly one active relationship per pair of tables, and inactive relationships are ignored unless explicitly activated in DAX.

How to eliminate wrong answers

Option A is wrong because marking a table as a date table is not required for basic time intelligence; it only enables automatic date hierarchy creation and certain time intelligence functions to work correctly, but it does not cause incorrect results in a visual with a date hierarchy if the relationship is active. Option B is wrong because a snowflake schema does not inherently break time intelligence; it may affect performance or model complexity, but it does not cause a measure to return incorrect results due to filter propagation. Option D is wrong because bidirectional cross-filtering would actually strengthen filter propagation, not cause incorrect results; it might lead to ambiguity or unexpected filtering, but it would not cause the measure to ignore the date filter entirely.

5
Multi-Selectmedium

Which TWO DAX functions can be used to create a calculated table in Power BI?

Select 2 answers
A.SELECTEDVALUE
B.FILTER
C.CALCULATE
D.SUMMARIZECOLUMNS
E.SUMX
AnswersB, D

FILTER returns a table.

Why this answer

Options A and C are correct. SUMMARIZECOLUMNS and FILTER return tables. Option B is wrong because SUMX returns a scalar.

Option D is wrong because SELECTEDVALUE returns a scalar. Option E is wrong because CALCULATE returns a scalar.

6
Multi-Selectmedium

You are transforming a table that contains a 'Date' column in text format (e.g., '2026-01-15'). You need to create separate columns for Year, Month, and Day. Which THREE Power Query transformations can you use? (Choose three.)

Select 3 answers
A.Unpivot the Date column.
B.Split Column by Delimiter using '-' as the delimiter.
C.Use the Date.Year, Date.Month, Date.Day functions in a custom column.
D.Merge the Date column with itself.
E.Use the Extract feature to extract first 4 characters for Year, then subsequent characters.
AnswersB, C, E

This will split the date into three columns: Year, Month, Day.

Why this answer

Option B is correct because splitting the 'Date' column by the '-' delimiter in Power Query separates the text into individual components (Year, Month, Day) in one step. This is a direct transformation for extracting parts from a date string in a standard format like 'YYYY-MM-DD'.

Exam trap

Microsoft often tests the distinction between splitting a column by delimiter versus using date functions, where candidates may incorrectly choose Unpivot (Option A) thinking it 'unpacks' data, but it actually normalizes columns into rows.

7
MCQhard

Refer to the exhibit. You are reviewing a Power Query script. The script fails with a 'DataSource.Error: Microsoft SQL: Login failed for user' error. Which step should you check first?

A.The column name in #"Removed Columns".
B.The data type transformation in #"Changed Type".
C.The filter condition in #"Filtered Rows".
D.The credentials used in the Source step.
AnswerD

Login failed indicates the credentials are incorrect or insufficient.

Why this answer

The error 'DataSource.Error: Microsoft SQL: Login failed for user' indicates an authentication failure when connecting to the SQL Server database. This occurs at the Source step, where Power Query first attempts to establish a connection using the provided credentials. Checking and correcting the credentials in the Source step is the logical first step because no subsequent data transformations (like removing columns, changing types, or filtering rows) can execute if the initial data source connection fails.

Exam trap

The trap here is that candidates may focus on data transformation steps (like removing columns or changing types) because they appear later in the query, but the error originates at the very first step—the Source step—where authentication is validated before any data is retrieved.

How to eliminate wrong answers

Option A is wrong because the 'Removed Columns' step operates on columns that already exist in the data; a login failure prevents any data from being loaded, so column removal is irrelevant. Option B is wrong because 'Changed Type' transforms data types after data is successfully loaded; it cannot cause a connection-level authentication error. Option C is wrong because 'Filtered Rows' applies row-level filtering on existing data; it has no effect on the database connection or authentication process.

8
MCQeasy

You are a Power BI report creator for a non-profit organization. You have a semantic model with a 'Donations' fact table (columns: 'DonationID', 'DonorID', 'Date', 'Amount', 'CampaignID') and a 'Donors' dimension table (columns: 'DonorID', 'DonorName', 'City', 'DonorType' (Individual/Corporate)). You need to create a report page that shows a scatter chart with 'Total Donation Amount' on the X-axis and 'Number of Donations' on the Y-axis, with each point representing a donor type. You also want to add a trend line to show the correlation. When you create the scatter chart, only one point appears (for all donors combined), instead of separate points for Individual and Corporate. What is the most likely cause?

A.The relationship between Donations and Donors is inactive.
B.The DonorType field is placed in the 'Values' well instead of the 'Legend' well.
C.The measures are incorrectly defined; they should use SUM and COUNT respectively.
D.The scatter chart does not support multiple categories; you need to use a small multiples chart.
AnswerB

To get separate points for each donor type, DonorType must be in the Legend or Details well.

Why this answer

In a scatter chart, you need to place the category field in the 'Legend' or 'Details' well to get separate points. If you put the field in the 'Values' well, it will be aggregated. Option A is correct.

Option B is incorrect because the measures are fine. Option C is incorrect because relationship is fine. Option D is incorrect because small multiples are for separate charts.

9
MCQhard

Your organization uses Power BI and has implemented Microsoft Defender for Cloud Apps (formerly Microsoft Cloud App Security). A user reports that they are unable to export data from a Power BI report. The Power BI tenant settings allow export. What could be the cause?

A.The 'Export to Excel' setting is disabled in the Power BI admin portal.
B.A sensitivity label with high classification is applied to the report, automatically blocking export.
C.The user is an external guest user.
D.A Microsoft Defender for Cloud Apps session policy is blocking the export based on the user's risk level or the report's sensitivity.
AnswerD

Defender for Cloud Apps can enforce real-time session controls that block downloads.

Why this answer

Option D is correct because Defender for Cloud Apps can create session policies that block downloads based on risk or sensitivity. Option A is wrong because the tenant setting allows export. Option B is wrong because the user is not a guest.

Option C is wrong because sensitivity labels alone do not block export; they need DLP policies.

10
MCQhard

A Power BI administrator needs to ensure that reports containing sensitive financial data are only accessible to users who have completed mandatory training and are using compliant devices. The organization uses Microsoft Entra ID and Microsoft Intune. Which feature should the administrator configure?

A.Deploy Microsoft Purview to scan the reports and enforce access policies
B.Use row-level security (RLS) to filter data based on user training status
C.Create a Conditional Access policy that requires device compliance and a specific group membership for training completion
D.Apply sensitivity labels to the reports and require MFA
AnswerC

Conditional Access can enforce device compliance and user attributes like group membership.

Why this answer

Option B is correct because Conditional Access policies in Microsoft Entra ID can enforce access controls based on device compliance (Intune) and training completion (custom attribute or group membership). Option A is wrong because sensitivity labels classify and protect data, but do not enforce device compliance or training. Option C is wrong because RLS restricts data within a report, not access to the report itself.

Option D is wrong because Microsoft Purview is for data governance, not access policies.

11
Multi-Selecthard

Which THREE actions in Power Query Editor can improve the performance of data refresh? (Select three.)

Select 3 answers
A.Sort data in ascending order to improve compression.
B.Merge queries before filtering.
C.Remove columns that are not used in the report.
D.Disable the 'Enable load' option for intermediate tables that are not needed in the model.
E.Filter rows as early as possible in the query.
AnswersC, D, E

Reduces data size.

Why this answer

Option C is correct because removing unused columns reduces the amount of data loaded into the Power Query engine and the data model, directly decreasing memory usage and refresh time. Power Query processes all columns in a query step, so eliminating unnecessary columns early minimizes the data footprint for subsequent transformations and the final load.

Exam trap

The trap here is that candidates often think sorting improves compression (a common misconception from database indexing), but in Power BI, compression is handled by the VertiPaq engine and is not influenced by the order of data in Power Query.

12
MCQeasy

You have a Power BI report that uses a calculated column to categorize sales as 'High', 'Medium', or 'Low'. You notice the column is not being refreshed when the underlying data changes. What is the most likely reason?

A.The column is defined as a measure instead of a calculated column.
B.Calculated columns are only refreshed when the dataset is refreshed.
C.The DAX syntax for the calculated column is incorrect.
D.The calculated column uses a function that does not support dynamic updates.
AnswerB

Calculated columns are computed during refresh.

Why this answer

Option C is correct because calculated columns are computed during data refresh and are static until the next refresh. Option A is wrong because changes to data do not trigger recalculation of calculated columns. Option B is wrong because the column is not a measure.

Option D is wrong because the column is correctly defined.

13
Multi-Selecthard

You are developing a Power BI semantic model that uses a large fact table from Azure Synapse Analytics. You need to optimize the model for performance. Which THREE actions should you take?

Select 3 answers
A.Disable auto-date/time feature for the model.
B.Use integer surrogate keys instead of string keys for dimensions.
C.Combine the fact table with dimension tables into a single wide table.
D.Create calculated columns in the fact table instead of in Power Query.
E.Remove unnecessary columns from the fact table.
AnswersA, B, E

Auto-date/time creates hidden date tables for each date column, increasing model size. Disabling it reduces overhead.

Why this answer

Option A is correct because disabling the auto-date/time feature prevents Power BI from automatically creating hidden date tables for each date column, which can significantly increase model size and processing time. This is especially important when working with large fact tables from Azure Synapse Analytics, as it reduces memory consumption and improves query performance by eliminating unnecessary overhead.

Exam trap

The trap here is that candidates often think combining tables into a wide table simplifies the model, but this actually degrades performance by breaking star schema design principles, which are critical for efficient query processing in Power BI.

14
Multi-Selectmedium

You are creating a Power BI report from a SQL Server database that contains a table Orders with columns: OrderDate, CustomerID, ProductID, Quantity, UnitPrice. You need to build a star schema. Which THREE tables should you create? (Choose three.)

Select 3 answers
A.OrderDetails table with line items.
B.Date dimension table with date attributes.
C.Product dimension table with product attributes.
D.Customer dimension table with customer attributes.
E.Sales fact table with measures.
AnswersB, C, D

Essential for time intelligence.

Why this answer

In a star schema, dimension tables contain descriptive attributes (e.g., dates, products, customers) and are connected to a central fact table. For the Orders table, a Date dimension (B) is essential for time-based analysis, a Product dimension (C) provides product details, and a Customer dimension (D) stores customer attributes. These three dimensions normalize the data and enable efficient slicing and dicing in Power BI.

Exam trap

The trap here is that candidates often confuse dimension tables with fact tables or think that line-item details (Option A) should be a separate dimension, when in fact they belong in the fact table to maintain a star schema's simplicity and performance.

15
MCQeasy

You have a Power BI dataset that uses data from Microsoft Excel files stored in SharePoint Online. Users report that the data is not refreshing as scheduled. You verify that the gateway is installed and running. What is the most likely cause of the refresh failure?

A.The gateway is not running.
B.The gateway does not support SharePoint Online data sources.
C.The gateway is not configured to use the on-premises data source type.
D.The data source credentials are not provided in the gateway.
AnswerD

Even though the gateway is running, the credentials for the SharePoint Online data source must be configured in the gateway settings.

Why this answer

Option D is correct because even when the gateway is installed and running, it must have valid data source credentials configured for the SharePoint Online Excel files. Without these credentials, the gateway cannot authenticate to SharePoint Online to retrieve the data, causing the scheduled refresh to fail. The gateway uses the stored credentials to connect to the data source during each refresh cycle.

Exam trap

The trap here is that candidates assume a running gateway automatically handles all data sources, but the gateway requires explicit credential configuration for each data source, including cloud-based ones like SharePoint Online.

How to eliminate wrong answers

Option A is wrong because the question explicitly states that the gateway is installed and running, so this cannot be the cause. Option B is wrong because the on-premises data gateway fully supports SharePoint Online as a data source when configured correctly, as it can connect to cloud services via the gateway's cloud-to-on-premises bridging. Option C is wrong because SharePoint Online is a cloud-based data source, not an on-premises data source type; the gateway handles cloud data sources like SharePoint Online through its standard cloud connector configuration, not through an on-premises data source type.

16
Multi-Selecthard

Which TWO of the following are required to use Copilot in Power BI? (Select two.)

Select 2 answers
A.A dataset created from scratch in Power BI Desktop.
B.Power BI Desktop only (service not supported).
C.A report with at least one visual using a custom visual.
D.A Power BI Premium capacity (PPU or Premium Gen2).
E.A Fabric license (F64 or higher).
AnswersD, E

Correct. Premium capacity is required.

Why this answer

Option A is correct because Copilot requires a Premium capacity (Premium Per User or Premium Gen2). Option D is correct because Copilot requires a Fabric license (F64 or higher). Option B is wrong because Copilot is available in service as well.

Option C is wrong because Copilot works with existing datasets. Option E is wrong because Copilot does not require a specific report theme.

17
MCQhard

Refer to the exhibit. The JSON policy shows configuration for an incremental refresh dataflow. You notice that the dataflow refresh takes longer than expected. Which setting should you adjust to potentially improve performance?

A.Change jobType to 'FullRefresh' only
B.Increase maxParallelism to 20
C.Reduce the pollingInterval to 15
D.Increase retryCount to 5
AnswerB

More parallelism can process partitions faster.

Why this answer

Increasing maxParallelism to 20 allows the dataflow engine to process more partitions concurrently during an incremental refresh, reducing overall execution time. The default parallelism is often too low for large datasets, and raising this value can significantly improve throughput by utilizing available compute resources more efficiently.

Exam trap

The trap here is that candidates confuse pollingInterval or retryCount with performance-tuning settings, when in fact they are related to monitoring and reliability, not throughput.

How to eliminate wrong answers

Option A is wrong because changing jobType to 'FullRefresh' would refresh the entire dataset instead of only new or changed rows, which would likely increase refresh time and negate the benefits of incremental refresh. Option C is wrong because reducing pollingInterval to 15 affects how often the system checks for refresh status, not the actual data processing speed, and has no impact on refresh duration. Option D is wrong because increasing retryCount to 5 only affects fault tolerance by retrying failed operations, not the performance of a successful refresh.

18
MCQmedium

Refer to the exhibit. A Power BI administrator reviews a row-level security (RLS) policy for the Sales dataset. The SalesManager role should see all sales above $10,000, and the SalesRep role should see all sales above $0. However, users in the SalesRep role report that they cannot see any data when they open the report. What is the most likely issue?

A.The SalesRep role is not assigned to any users
B.The column name in the filter expression does not match the actual column name in the dataset
C.The filter expression uses a comparison operator that is not supported in RLS
D.The RLS role uses a filter on a measure, not a column
AnswerB

Mismatched column names cause RLS to not apply, resulting in no data.

Why this answer

Option C is correct because the filter expression uses the column name 'SalesAmount' but the actual column may be named differently (e.g., 'Amount'). RLS filters must match the exact column name in the dataset. Option A is wrong because RLS can filter on any numeric column.

Option B is wrong because if the role is assigned, users would see data based on the filter. Option D is wrong because the '>' operator is valid.

19
MCQhard

You have a Power BI dataset with a fact table and multiple dimension tables. You need to ensure that when a user filters by a dimension, the filter propagates correctly to the fact table. What type of relationship should you use?

A.Many-to-one from fact to dimension.
B.One-to-many from dimension to fact.
C.One-to-one between dimension and fact.
D.Many-to-many between dimension and fact.
AnswerB

This is the standard star schema relationship.

Why this answer

Option A is correct because a one-to-many relationship from dimension to fact is standard for star schemas. Option B is wrong because many-to-many can cause ambiguous filtering. Option C is wrong because one-to-one is rare and not typical.

Option D is wrong because many-to-one from fact to dimension is not correct direction.

20
MCQmedium

You have the DAX expression shown. It is intended to sum sales for the West region using an inactive relationship. However, the result is incorrect. What is the issue?

A.The USERELATIONSHIP function syntax is incorrect.
B.There may be multiple inactive relationships between Sales and Date, causing ambiguity.
C.The filter on Region should be in a separate CALCULATE.
D.The column names are case-sensitive and don't match.
AnswerB

USERELATIONSHIP needs a single, clear path.

Why this answer

Option B is correct because USERELATIONSHIP activates a relationship, but if there are multiple inactive relationships between the same tables, it might not pick the intended one. Option A is wrong because the syntax is correct. Option C is wrong because the filter is applied correctly.

Option D is wrong because there is no ambiguity in the filter.

21
MCQmedium

Your Power BI model includes a calculated column that concatenates first and last name. Users report that the column shows blank for some rows. The data source has no nulls. What is the most likely cause?

A.Data type mismatch between the two columns
B.The columns are from different tables without a relationship
C.The relationship between tables is set to single direction
D.One of the columns contains only spaces
AnswerD

Spaces are not null, but concatenating with space results in blank if TRIM not used.

Why this answer

Option C is correct: Leading or trailing spaces in name columns can cause concatenation to appear blank if one column is empty after trimming. Option A is wrong because data type mismatch would likely cause error, not blank. Option B is wrong because if source has no nulls, that's not the issue.

Option D is wrong because relationship direction doesn't affect calculated columns.

22
MCQeasy

You are building a Power BI report to display sales data. You want to ensure that when users export the report data to Excel, the exported data respects the current filters and slicers applied in the report. What should you do?

A.Apply row-level security (RLS) to the dataset.
B.Set the report to 'Read only' mode.
C.Use the 'Export data' option from the visual's context menu.
D.Use the 'Analyze in Excel' feature.
AnswerC

Export data automatically exports the filtered data as seen in the visual.

Why this answer

Option D is correct because the 'Export data' feature in Power BI respects the current filters and slicers by default. Options A and B are about underlying data permissions, not export filtering. Option C is about preventing export, not filtering behavior.

23
Multi-Selecteasy

Which TWO of the following are valid ways to create a calculated table in Power BI? (Select two.)

Select 2 answers
A.Using the CALENDAR function to generate a date table.
B.Using DAX expressions like SUMMARIZE or ADDCOLUMNS.
C.Using the 'New Table' button under the 'Modeling' tab and writing a Power Query expression.
D.Using M language in Power Query Editor.
E.By right-clicking a table in the Fields pane and selecting 'New calculated table'.
AnswersA, B

Correct. CALENDAR is a DAX function for calculated tables.

Why this answer

Option A is correct because you can use DAX expressions like SUMMARIZE. Option D is correct because you can use CALENDAR to create a date table. Option B is wrong because calculated tables are defined in DAX, not M.

Option C is wrong because Power Query creates tables, but not calculated tables. Option E is wrong because calculated tables are not created in the model view right-click.

24
Matchingmedium

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

Why these pairings

Security features control who can see what data.

25
MCQeasy

A Power BI report includes a bar chart showing total sales by product category. The report designer wants to add a trend line to the chart to show the overall sales trend over time. Which type of visual should be used instead?

A.Stacked bar chart
B.Line chart
C.Scatter chart
D.Pie chart
AnswerB

A line chart is the standard visual for showing trends over time, and it supports adding a trend line.

Why this answer

A line chart is the correct visual to show a trend over time because it plots data points connected by straight lines, making it easy to see the overall direction and pattern of total sales across a continuous time axis. Bar charts, including stacked variants, are designed for comparing discrete categories, not for displaying continuous trends.

Exam trap

The trap here is that candidates may think a bar chart with a trend line added via the analytics pane is acceptable, but the question asks which visual should be used instead, implying the bar chart is not the optimal choice for showing a trend over time.

How to eliminate wrong answers

Option A is wrong because a stacked bar chart is used to show the composition of a total across categories over time or groups, not to display a single trend line for total sales. Option C is wrong because a scatter chart is used to show the relationship between two numerical variables, not to display a single metric's trend over time. Option D is wrong because a pie chart shows proportions of a whole at a single point in time and cannot represent trends over time.

26
MCQmedium

A data analyst publishes a Power BI dataset to a Premium workspace and grants 'Build' permission to a group of report creators. One report creator complains that they cannot see certain tables in the dataset when building a new report. What is the most likely cause?

A.The user lacks direct query permissions to the underlying data source.
B.The user does not have 'Build' permission on the dataset.
C.The dataset is configured with service principal authentication, and the user is not using a service principal.
D.Row-level security (RLS) is configured on the dataset, hiding some tables.
AnswerD

RLS can restrict visibility of table rows, but not tables; however, if RLS roles are misconfigured, certain tables may appear empty, but the user still sees the table structure.

Why this answer

Option C is correct. Row-level security (RLS) filters the data a user can see, but it does not hide tables from the data model view. Option A is wrong because 'Build' permission allows users to build reports from the dataset.

Option B is wrong because data source credentials are managed at the dataset level, not per user. Option D is wrong because the dataset is in a Premium workspace; service principal access is not required for report creation.

27
MCQhard

You are reviewing the deployment configuration for a Power BI dataset. The exhibit shows a JSON snippet of the dataset settings. You need to ensure that data is refreshed twice a day at 6:00 AM and 6:00 PM UTC. However, the refresh fails at both scheduled times. What is the most likely cause?

A.The data source uses Integrated Security (SSPI) which is not supported for scheduled refresh.
B.The refresh schedule uses UTC but the data source is in a different time zone.
C.The dataset has DirectQuery enabled, which prevents Import mode refresh.
D.The gateway ID is incorrect.
AnswerA

SSPI requires the user's context; stored credentials cannot be used with SSPI.

Why this answer

Option A is correct because scheduled refresh in Power BI requires a gateway to connect to on-premises data sources, and when the data source uses Integrated Security (SSPI), the gateway cannot delegate credentials for scheduled refresh. SSPI relies on the user's interactive Windows authentication context, which is not available during unattended scheduled refresh operations. This causes the refresh to fail at both scheduled times.

Exam trap

The trap here is that candidates often assume time zone mismatches or DirectQuery settings cause refresh failures, but the real issue is that Integrated Security (SSPI) requires interactive user context and is not supported for unattended scheduled refresh without proper delegation configuration.

How to eliminate wrong answers

Option B is wrong because time zone differences do not cause refresh failures; the refresh schedule simply runs at the specified UTC times regardless of the data source's time zone. Option C is wrong because DirectQuery does not prevent Import mode refresh; a dataset can have both DirectQuery and Import partitions, and scheduled refresh applies only to Import mode tables. Option D is wrong because an incorrect gateway ID would cause a connection error at the time of refresh, but the question states the refresh fails at both scheduled times, which is consistent with a credential delegation issue rather than a gateway misconfiguration.

28
MCQhard

You are a data modeler for a logistics company. The company uses Power BI to analyze shipment data. The source system is a SQL Server database with tables: Shipments (ShipmentID, ShipDate, CustomerID, Weight, Cost, CarrierID), Customers (CustomerID, CustomerName, Region), Carriers (CarrierID, CarrierName, Mode). The database is updated in real-time. You need to build a semantic model that supports near real-time reporting with maximum data freshness while maintaining good query performance. The model should allow users to filter by customer region and carrier mode, and calculate total cost and weight per month. What is the best approach?

A.Import the three tables into Power BI and create a star schema with relationships.
B.Create a single view in SQL Server that joins all tables and use DirectQuery on that view.
C.Use DirectQuery on the three tables and create a date table in the model.
D.Use a composite model: import Customers and Carriers, and use DirectQuery on Shipments.
AnswerC

DirectQuery provides real-time data and the date table enables time intelligence.

Why this answer

Option C is correct because using DirectQuery (or dual storage) with a date table allows real-time data access and supports time intelligence. Option A is wrong because DirectQuery on a single flat table loses relationships. Option B is wrong because importing into a star schema does not support real-time.

Option D is wrong because composite model is not needed for this scenario.

29
MCQmedium

You have a Power BI dataset that includes a 'Sales' table and a 'Calendar' table. You need to create a measure that calculates the running total of sales over the last 12 months, ending on the last date in the current filter context. Which DAX function should you use?

A.DATEADD
B.PREVIOUSMONTH
C.DATESBETWEEN
D.DATESINPERIOD
AnswerD

DATESINPERIOD returns a set of dates in a period from the last date going back a specified interval.

Why this answer

Option B is correct because DATESINPERIOD returns a set of dates from the last date in the current context going back 12 months, which is ideal for a rolling 12-month total. Option A is wrong because DATEADD shifts dates but does not automatically give a period. Option C is wrong because DATESBETWEEN requires explicit start and end dates.

Option D is wrong because PREVIOUSMONTH only gives one month.

30
MCQmedium

Refer to the exhibit. You have a Power BI dataset configured with the refresh schedule shown. On Monday at 04:00 UTC, you check the refresh history and see the refresh failed. What is the most likely cause?

A.The on-premises data gateway is not installed.
B.The refresh time is set to 03:00 UTC, but the dataset is in a different time zone.
C.The refresh schedule only runs on weekdays, but Monday is considered a weekend in some regions.
D.The service principal used for authentication has expired or lacks permissions.
AnswerD

Service principal authentication requires valid credentials and permissions.

Why this answer

The connection string uses 'ActiveDirectoryServicePrincipal' which requires a service principal to be registered in Microsoft Entra ID. If the service principal does not have the correct permissions or the secret expired, the refresh will fail. Option B is correct.

Option A is wrong because the gateway is not needed for Azure SQL. Option C is wrong because the refresh time is on the hour. Option D is wrong because the refresh schedule is set only on weekdays, but Monday is a weekday, so that's fine.

31
MCQhard

Refer to the exhibit. The DAX query is executed in DAX Studio. It returns a table with Category and Total Sales. However, the total sales values are incorrect because they include all categories regardless of context. What is the most likely issue?

A.The query does not filter by any specific context, so it returns grand total for each category
B.The SUMMARIZE function syntax is incorrect
C.The relationship between Sales and Product is inactive
D.The GROUP BY column should be from the Sales table
AnswerA

Without additional filters, SUMMARIZE returns all rows with the same grand total.

Why this answer

Option C is correct because SUMMARIZE does not automatically apply filter context from the report; it evaluates in the current filter context of the query. Option A is wrong because the relationship exists. Option B is wrong because the syntax is valid.

Option D is wrong because the grouping is correct.

32
Multi-Selectmedium

You are importing data from a SQL Server database. The source table has a column 'ModifiedDate' of type datetime2. In Power Query, you want to ensure that only rows modified within the last 7 days are loaded. Which THREE steps should you take?

Select 3 answers
A.Load all rows and then use a DAX filter in the data model.
B.Use a parameter for the date range and reference it in the filter.
C.Split the column into date and time and then filter on the date part.
D.In Power Query, add a filter step using a custom column or the filter row feature.
E.Use a native SQL query with a WHERE clause to filter at the source.
AnswersB, D, E

Parameters allow dynamic filtering.

Why this answer

Option B is correct because using a parameter for the date range and referencing it in the filter allows for dynamic, maintainable filtering in Power Query. This approach leverages Power Query's M language to apply a filter step that can be easily updated without modifying the query logic, ensuring only rows from the last 7 days are loaded during data refresh.

Exam trap

The trap here is that candidates often think splitting a datetime column is necessary for date-based filtering, but Power Query's native filter on datetime2 works correctly and is more efficient, while loading all rows and using DAX is a common anti-pattern that wastes resources.

33
MCQeasy

You have a Power BI report that uses a DirectQuery connection to a SQL Server database. You need to improve the performance of a visual that shows a large number of data points. What is the best action to take?

A.Increase the number of data points displayed in the visual.
B.Add a slicer to limit the data range.
C.Change the storage mode to Import.
D.Disable the 'cross-filter' interaction between visuals.
AnswerB

Slicers filter the data, reducing the amount retrieved from the source.

Why this answer

Option B is correct because filtering reduces the amount of data queried from the source, improving performance. Option A is wrong because increasing the number of data points worsens performance. Option C is wrong because disabling cross-filtering does not reduce the data volume.

Option D is wrong because changing to Import would require a full data load, which may not be feasible for large data.

34
MCQmedium

You are a Power BI report creator for a university. You have a semantic model with a table named Enrollments with columns: EnrollmentID, StudentID, CourseID, EnrollmentDate, and Grade. You also have tables: Students (StudentID, StudentName, Major) and Courses (CourseID, CourseName, Department). You need to create a measure that counts the number of students who have enrolled in at least one course in the 'Science' department. The measure should be efficient and respect any filters on the report. Which DAX expression should you use?

A.Students in Science = CALCULATE(DISTINCTCOUNT(Enrollments[StudentID]), FILTER(Enrollments, RELATED(Courses[Department]) = "Science"))
B.Students in Science = CALCULATE(DISTINCTCOUNT(Enrollments[StudentID]), FILTER(Courses, Courses[Department] = "Science"))
C.Students in Science = DISTINCTCOUNT(Enrollments[StudentID])
D.Students in Science = COUNTROWS(Enrollments)
AnswerB

This counts distinct students enrolled in courses where the department is Science.

Why this answer

Option A is correct: CALCULATE with DISTINCTCOUNT and a FILTER on the related Courses table ensures only students with Science courses are counted. Option B counts enrollments, not students. Option C is incorrect because FILTER does not return a table of courses.

Option D is incorrect syntax.

35
MCQmedium

You have a Power BI semantic model that uses DirectQuery to an Azure Synapse Analytics dedicated SQL pool. The model is used by a real-time dashboard. Users report that the dashboard is slow. You need to improve query performance without changing the source system. Which action should you take?

A.Create aggregations on the fact table
B.Reduce the number of visuals on the dashboard and apply page-level filters
C.Enable dual storage mode for all tables
D.Disable the 'Reduce queries' option in Power BI Desktop
AnswerB

Fewer visuals and filters reduce the number of queries sent to the source.

Why this answer

Option B is correct because reducing the number of visuals and applying page-level filters directly reduces the number of queries sent to the Azure Synapse Analytics dedicated SQL pool via DirectQuery. Since the source system cannot be changed, the only way to improve performance is to minimize the query load from the dashboard. Page-level filters ensure that only relevant data is queried, and fewer visuals mean fewer separate queries, which collectively reduces latency.

Exam trap

The trap here is that candidates often assume performance improvements must come from data modeling changes (like aggregations or storage modes), but the question explicitly forbids changing the source system, so the only viable approach is to reduce the query load from the client side.

How to eliminate wrong answers

Option A is wrong because creating aggregations on the fact table would require modifying the source system (the Azure Synapse Analytics dedicated SQL pool), which is explicitly prohibited by the question. Option C is wrong because enabling dual storage mode for all tables would force some tables to import data into memory, which changes the storage mode and violates the constraint of not changing the source system; moreover, dual storage mode can increase complexity and may not improve performance for DirectQuery models. Option D is wrong because disabling the 'Reduce queries' option in Power BI Desktop would actually increase the number of queries sent to the source, worsening performance; this option is designed to reduce query redundancy, so disabling it is counterproductive.

36
MCQhard

You have a Power BI report with a page that contains a matrix visual showing sales by year and quarter. Users want to be able to drill down from year to quarter and then drill up again. The matrix currently shows only year. What should you configure?

A.Add a hierarchy to the matrix columns.
B.Enable the drill-down mode on the matrix visual.
C.Add both Year and Quarter fields to the matrix rows and enable drill-down mode.
D.Add a drillthrough page that filters by year.
AnswerC

Multiple levels in rows with drill-down enabled allows drilling up/down.

Why this answer

Option C is correct because enabling the drill-down mode and adding both Year and Quarter to the matrix rows allows users to drill down and up. Option A is wrong because enabling drill-down without adding Quarter to the rows won't allow drill-down. Option B is wrong because adding a drillthrough page is for navigating to a detail page, not for drilling down in the same visual.

Option D is wrong because adding a hierarchy to the columns would affect column drill-down, not row drill-down.

37
MCQhard

Refer to the exhibit. You have a DAX measure that calculates customer lifetime value (CLV) as total revenue divided by distinct customer count. When you use this measure in a visual with Product category, you notice that the CLV values are higher than expected. What is the most likely reason?

A.The measure does not filter out returns
B.The measure counts customers per category, but customers who buy multiple categories are counted in each category, reducing the denominator
C.The measure should use COUNTROWS instead of DISTINCTCOUNT
D.The measure is dividing by zero for categories with no customers
AnswerB

This inflates CLV per category.

Why this answer

Option C is correct because DISTINCTCOUNT(Sales[CustomerID]) counts customers who purchased any product in that category, but if a customer bought multiple products in the same category, they are counted once. However, the issue is that the denominator is smaller because customers who bought multiple categories are counted in each category, leading to higher CLV. Option A is wrong because DIVIDE handles zeros.

Option B is wrong because the measure is correct syntactically. Option D is wrong because the measure doesn't consider customer-level profitability.

38
MCQeasy

You are connecting to an Azure SQL Database from Power BI Desktop. The database contains a view that returns thousands of rows. You only need the last 100 rows for analysis. What is the most efficient way to reduce the data loaded?

A.Write a native SQL query with a WHERE clause to limit rows
B.Use DirectQuery mode and add a filter in the report
C.Import all rows and then remove rows in Power Query
D.Use the 'Keep Top Rows' transformation in Power Query after applying a sort
AnswerD

Power Query can push the top N query to the source, reducing data transfer.

Why this answer

Option B is correct because using the 'Top N' filter in Power Query pushes the filter to the source if supported, reducing data transfer. Option A is wrong because it loads all rows. Option C is wrong because DirectQuery does not reduce the load; it queries the source each time.

Option D is wrong because native SQL query may still load all rows unless filtered.

39
MCQhard

You have a Power BI semantic model that uses Import mode with a SQL Server data source. The refresh takes over two hours. You need to reduce the refresh time while keeping data up-to-date. What is the best strategy?

A.Switch the data source to DirectQuery mode.
B.Remove unnecessary columns and rows from the query.
C.Configure incremental refresh policy on the fact table.
D.Reduce the scheduled refresh frequency to once a day.
AnswerC

Incremental refresh loads only new and updated rows, reducing the amount of data loaded each refresh.

Why this answer

Option C is correct because incremental refresh policy allows you to refresh only the most recent data (e.g., last 5 days) while keeping historical partitions unchanged, drastically reducing the amount of data loaded during each refresh. This is the most effective way to reduce refresh time in Import mode while maintaining data freshness, as it avoids re-querying the entire fact table from SQL Server.

Exam trap

The trap here is that candidates often confuse reducing refresh frequency (Option D) with reducing refresh time, or they think DirectQuery (Option A) is a universal performance fix, when in fact it shifts the performance burden to query time and sacrifices Import mode capabilities.

How to eliminate wrong answers

Option A is wrong because switching to DirectQuery mode would eliminate the import process but would introduce query-time performance issues and remove the ability to use many Power BI features (e.g., time intelligence, calculated tables); it does not reduce refresh time but changes the data access model entirely. Option B is wrong because removing unnecessary columns and rows is a general optimization that can help, but it does not address the core issue of a large fact table that takes over two hours to refresh; the primary bottleneck is the volume of historical data, not just extraneous fields. Option D is wrong because reducing scheduled refresh frequency to once a day would not reduce the refresh time itself; it only makes the data less current, which contradicts the requirement to keep data up-to-date.

40
MCQhard

You are designing a Power BI report for executives. The dataset contains sales data with a many-to-many relationship between 'Sales' and 'Product' tables via a 'ProductSales' bridge table. Users complain that some measures return incorrect totals when using multiple related fields. What is the most likely cause?

A.The many-to-many relationship is causing ambiguity in measure evaluation
B.Data type mismatches between key columns
C.The cross-filter direction is set to single instead of both
D.Row-level security (RLS) is filtering out some rows
AnswerA

Many-to-many relationships can lead to ambiguous filter propagation, causing incorrect totals.

Why this answer

Option D is correct because many-to-many relationships in Power BI can cause ambiguity in measure evaluation, leading to incorrect totals. Option A is wrong because row-level security is not directly related to many-to-many relationships. Option B is wrong because cross-filter direction does not typically cause this issue.

Option C is wrong because data types are not the root cause.

41
MCQmedium

You are a Power BI administrator. A user reports that their scheduled data refresh fails with error 'The data source credentials are no longer valid.' The dataset uses a SQL Server database with Windows authentication. What should you do first to resolve the issue?

A.Reinstall the on-premises data gateway on the server.
B.Reassign the dataset to a different Premium capacity.
C.Modify the dataset to use 'Impersonate the authenticated user' for data sources.
D.Ask the user to update the data source credentials in the Power BI service dataset settings.
AnswerD

Windows credentials may expire; updating them in the service resolves the error.

Why this answer

Option C is correct because the most common cause for Windows authentication failures is a password change; the user can update credentials in the dataset settings. Option A is wrong because the on-premises gateway is not necessarily the issue. Option B is wrong because impersonation does not apply to Windows credentials.

Option D is wrong because capacity reassignment does not fix credential issues.

42
MCQmedium

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?

A.CALCULATE(SUM(Sales[Amount]), DATESBETWEEN('Date'[Date], MAX('Date'[Date]) - 365, MAX('Date'[Date])))
B.CALCULATE(SUM(Sales[Amount]), DATESINPERIOD('Date'[Date], MAX('Date'[Date]), -12, MONTH))
C.TOTALMTD(SUM(Sales[Amount]), 'Date'[Date])
D.CALCULATE(SUM(Sales[Amount]), DATESYTD('Date'[Date]))
AnswerA

DATESBETWEEN with MAX date minus 365 days approximates the last 12 months, but this may not account for leap years; however, among the options, this is the most appropriate for a running 12-month total. A more precise method would use DATESINPERIOD, but that is not listed.

Why this answer

Option A is correct because it uses DATESBETWEEN to define a custom date range from 365 days before the last date in the current filter context (MAX('Date'[Date])) up to that last date, effectively creating a rolling 12-month window. This approach works with a continuous date table and respects the filter context, ensuring the running total is calculated dynamically based on the latest visible date.

Exam trap

The trap here is that candidates often choose DATESINPERIOD (Option B) because it seems intuitive for monthly periods, but they overlook that it can include extra days due to month boundaries, whereas DATESBETWEEN with a 365-day offset provides a precise 12-month window.

How to eliminate wrong answers

Option B is wrong because DATESINPERIOD with -12 and MONTH shifts the window back 12 months from the end date, but it includes the entire month of the start date, which can result in a 13-month window if the last date is not the end of a month, thus not guaranteeing exactly 12 months. Option C is wrong because TOTALMTD calculates a month-to-date total, not a running total over the last 12 months. Option D is wrong because DATESYTD calculates a year-to-date total from the start of the calendar year, not a rolling 12-month window ending on the last date in the filter context.

43
MCQeasy

You need to ensure that only the Finance team can access a specific Power BI dashboard. What is the most efficient way to accomplish this?

A.Create a new workspace, add the Finance team as Members, and move the dashboard to that workspace.
B.Share the dashboard directly with the Finance team security group, granting only 'View' permissions.
C.Add the Finance team as Admins of the workspace containing the dashboard.
D.Publish the dashboard as an app and assign the Finance team as the audience.
AnswerB

Direct sharing is quick and allows granular access.

Why this answer

Option A is correct because sharing the dashboard directly with the Finance team security group is the simplest and most efficient method. Option B is wrong because it would require moving the dashboard. Option C is wrong because apps are for distributing multiple items.

Option D is wrong because it would affect all content in the workspace.

44
MCQeasy

You have developed a Power BI report that uses a live connection to an Azure Analysis Services (AAS) model. The AAS model is deployed in a different Azure region. Users report that the report loads slowly, sometimes taking over 30 seconds to render a single visual. You need to improve performance without changing the data model or the report structure. What should you do?

A.Enable the 'Reduce data shown in visuals' option in Power BI Desktop.
B.Implement row-level security (RLS) in the Azure Analysis Services model.
C.Deploy the Azure Analysis Services model to the same region as the Power BI workspace.
D.Convert the report to import mode and schedule a refresh.
AnswerC

Reducing network latency between the data source and Power BI improves query response times.

Why this answer

Option C is correct because deploying the Azure Analysis Services model to the same Azure region as the Power BI workspace minimizes network latency between the live connection client (Power BI) and the tabular model server. A live connection sends DAX queries over the XMLA protocol, and cross-region traffic introduces significant round-trip delays, which directly causes slow visual rendering. By co-locating the AAS server and the Power BI service in the same region, you reduce the physical distance and network hops, improving query response time without altering the model or report.

Exam trap

The trap here is that candidates often confuse client-side optimization settings (like reducing data shown) with server-side performance fixes, or they incorrectly assume that adding RLS or switching to import mode are acceptable solutions when the question explicitly prohibits changing the data model or report structure.

How to eliminate wrong answers

Option A is wrong because 'Reduce data shown in visuals' is a Power BI Desktop setting that limits the number of data points displayed in a visual (e.g., top N), which does not reduce the underlying query workload or network latency for a live connection to AAS; it only affects client-side rendering. Option B is wrong because implementing row-level security (RLS) in the AAS model adds additional DAX evaluation overhead for each query, which would likely worsen performance rather than improve it, and it does not address the cross-region latency issue. Option D is wrong because converting the report to import mode would require changing the data model (from live to import) and would break the live connection requirement; it also introduces a scheduled refresh dependency, which contradicts the constraint of not changing the data model or report structure.

45
MCQhard

You are reviewing a Power Query M script used to create a table in Power BI. The script imports data from SQL Server, filters for orders in 2022, groups by ProductID to sum revenue, sorts descending, and takes the top 10. However, the table loads slowly. You need to improve performance. Which change should you make?

A.Add a Table.Buffer step before the filter to speed up subsequent operations.
B.Remove the sorting step because it is unnecessary for the final table.
C.Modify the script to use a native SQL query that performs the filtering and aggregation on the server side.
D.Combine the filter, group, and sort into a single step using Table.Buffer.
AnswerC

This enables query folding and reduces data transfer.

Why this answer

Option C is correct because pushing filtering, grouping, and aggregation to SQL Server via a native query reduces the volume of data transferred to Power BI and leverages the database engine's optimized execution. This minimizes memory and processing overhead in Power Query, directly addressing the slow load time caused by performing these operations on imported data.

Exam trap

The trap here is that candidates often assume buffering (Table.Buffer) or combining steps improves performance, when in reality the key performance gain comes from pushing transformations to the source database (query folding) to minimize data movement.

How to eliminate wrong answers

Option A is wrong because Table.Buffer only caches data in memory after it has already been loaded from SQL Server, which does not reduce data transfer or improve the initial load performance; it may even increase memory pressure. Option B is wrong because removing the sort step would change the result (top 10 requires sorted order), and sorting is not the primary cause of slowness; the bottleneck is the volume of data processed client-side. Option D is wrong because combining steps with Table.Buffer does not reduce the amount of data imported; it still requires all rows to be loaded into Power Query memory before any transformation, and buffering does not push computation to the server.

46
MCQmedium

You are reviewing a Power BI model definition. The Sales table has a partition with an M expression. You need to ensure that the table can be refreshed incrementally. Which additional property must be set?

A.Add an annotation to enable incremental refresh
B.Change the data type of OrderDate to Date
C.Add more partitions to the table
D.Set the 'Mode' property of the table to 'Import' and define a range partition
AnswerD

Incremental refresh requires import mode and range partitions.

Why this answer

For incremental refresh, the table must have range partitions defined, and the partition source must be configured with a range start and end. Option B is correct. Option A is wrong because the table already has one partition.

Option C is wrong because data type conversion is not needed. Option D is wrong because annotations are optional.

47
Multi-Selectmedium

Which TWO actions should you take to improve the performance of a DirectQuery model in Power BI? (Select two.)

Select 2 answers
A.Limit the columns selected to only those needed in the report.
B.Use calculated columns instead of measures to precompute values.
C.Push filters to the source database as much as possible.
D.Create aggregations on the imported tables.
E.Implement row-level security filters on the fact table.
AnswersA, C

Fewer columns mean less data transferred.

Why this answer

Options A and D are correct. Reducing the number of columns queried and applying filters early minimize data transfer. Option B is wrong because calculated columns in DirectQuery are pushed to the source and can degrade performance.

Option C is wrong because increasing row-level security complexity adds overhead. Option E is wrong because aggregations are not supported in DirectQuery mode.

48
MCQmedium

A Power BI developer writes the Power Query M code shown in the exhibit. The code runs successfully but returns an error when the user selects a year from a slicer in the report. The error states: 'Expression.Error: The key did not match any rows in the table.' Which is the most likely cause?

A.The table name Sales does not exist in the database
B.The code hardcodes the year 2021, but the slicer passes a different year, causing the M code to fail when the source is queried
C.The ProductID column has duplicate values
D.The data type of the Year column is text instead of number
AnswerB

The M code is static and doesn't respond to slicer changes, leading to an error if the source doesn't have that year.

Why this answer

Option B is correct because the error 'The key did not match any rows in the table' occurs when a Power Query M query uses a hardcoded value (e.g., 2021) in a filter or lookup step, but the slicer passes a different year value to the report. When the slicer changes the parameter, the M code tries to retrieve data for that year, but the hardcoded key does not exist in the source table, causing the key lookup to fail. This is a classic parameterization issue where the M code should use a dynamic reference to the slicer value instead of a literal.

Exam trap

The trap here is that candidates often confuse a key-not-found error with a data type mismatch or missing table error, but the specific phrasing 'key did not match any rows' points to a lookup or filter operation where the key value is not present in the source, not a structural or type issue.

How to eliminate wrong answers

Option A is wrong because if the table name Sales did not exist in the database, the error would be 'DataSource.Error: The table 'Sales' does not exist' or a similar connection error, not a key matching error. Option C is wrong because duplicate values in the ProductID column would cause a different error, such as 'Expression.Error: Duplicate keys' when using Table.Join or Merge operations, not a key-not-found error. Option D is wrong because a data type mismatch between the Year column (text) and the slicer value (number) would cause a type conversion error or filter failure, not a key matching error; the error message specifically mentions 'key did not match any rows', which indicates a lookup operation on a key column.

49
MCQhard

You have a Power BI dataset that uses DirectQuery to an Azure SQL Database. Users complain that reports take too long to load. You suspect that the database is overwhelmed by queries. What should you do to improve performance while keeping DirectQuery?

A.Reduce the number of visuals per page and apply slicers to limit data.
B.Increase the Power BI Premium capacity size.
C.Create aggregations in the dataset.
D.Change the storage mode to Import.
AnswerA

Fewer visuals and slicers reduce the query load.

Why this answer

Option A is correct because reducing the number of visuals per page and applying slicers to limit data reduces the number of DAX queries sent to the Azure SQL Database via DirectQuery. Each visual generates at least one query, so fewer visuals mean fewer concurrent queries, and slicers add WHERE clauses that reduce the result set size, lowering the load on the database.

Exam trap

The trap here is that candidates often assume scaling up the Power BI service (Option B) will fix database performance issues, but DirectQuery performance is fundamentally limited by the source database's ability to handle queries, not by Power BI's compute capacity.

How to eliminate wrong answers

Option B is wrong because increasing Power BI Premium capacity size only provides more memory and CPU for the Power BI service, but does not reduce the number or complexity of queries sent to the Azure SQL Database; the database remains the bottleneck. Option C is wrong because aggregations in DirectQuery mode are not supported; aggregations require Import or Dual storage modes to pre-aggregate data locally. Option D is wrong because changing the storage mode to Import would break the requirement to keep DirectQuery; Import mode loads data into the Power BI engine, which changes the data freshness and storage model entirely.

50
MCQeasy

You have a Power BI report that shows sales by region. The map visual displays regions with incorrect boundaries. What is the most likely cause?

A.The map visual is not the best choice for the data.
B.The data source is not refreshed.
C.The map labels are overlapping.
D.Bing Maps geocoding inaccuracies.
AnswerD

Map visuals rely on Bing Maps, which can have boundary errors.

Why this answer

Option B is correct because map visuals in Power BI use Bing Maps, which may have inaccurate or outdated geographic data. Option A is wrong because data source refresh does not affect map boundaries. Option C is wrong because the issue is not related to visual type selection.

Option D is wrong because map labels do not affect boundaries.

51
Multi-Selecthard

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

Select 2 answers
A.To handle large data volumes that exceed dataset limits
B.To reuse the same transformed data across multiple datasets
C.To avoid using an on-premises data gateway
D.To achieve real-time data refresh
E.To automatically enforce data lineage
AnswersA, B

Dataflows can process large data.

Why this answer

Option A is correct because dataflows in Power BI allow you to ingest and transform large volumes of data using the Power Query engine running in the cloud, which can handle datasets that exceed the 1 GB per dataset limit in shared capacity or the 10 GB limit in Premium capacities. By storing the transformed data in Azure Data Lake Storage Gen2, dataflows enable you to work with larger data volumes without being constrained by dataset size limits.

Exam trap

The trap here is that candidates often confuse dataflows with streaming datasets or assume that cloud-based dataflows bypass all gateway requirements, but in reality, on-premises data sources still need a gateway, and dataflows do not support real-time refresh.

52
MCQmedium

You are using Power Query to combine data from multiple Excel files stored in a SharePoint Online document library. Each file has the same structure. You need to ensure that the query automatically includes new files added to the library without manual updates. Which approach should you use?

A.Use 'Get Data from Excel' and specify each file path manually.
B.Use 'Get Data from SQL Server' and write a query to read files.
C.Use 'Get Data from SharePoint Online Folder' and then combine files using 'Combine & Transform Data'.
D.Use 'Get Data from SharePoint Online List' and then expand the file content.
AnswerC

This approach dynamically lists all files and can be refreshed to include new files.

Why this answer

Option C is correct because the 'Get Data from SharePoint Online Folder' connector in Power Query retrieves metadata for all files in the folder, and the 'Combine & Transform Data' action automatically applies a sample file transformation to all files. When new files are added to the library, refreshing the query will include them without manual intervention, as the connector dynamically reads the folder contents.

Exam trap

The trap here is that candidates confuse 'SharePoint Online Folder' with 'SharePoint Online List', thinking that a list can also combine files, but lists store metadata and require additional expansion steps that do not automatically handle new files with the same structure.

How to eliminate wrong answers

Option A is wrong because manually specifying each file path requires updating the query whenever a new file is added, which violates the requirement for automatic inclusion. Option B is wrong because SQL Server is a relational database, not a file storage system; it cannot directly read Excel files from SharePoint Online, and writing a query to read files is not a supported approach. Option D is wrong because 'Get Data from SharePoint Online List' retrieves list items (metadata), not the actual file content; expanding file content from a list requires additional steps and does not natively support combining multiple Excel files with the same structure.

53
MCQmedium

You are designing a data model for a sales analysis report. The source data includes a table named 'Sales' with columns: OrderDate, CustomerID, ProductID, Quantity, and SalesAmount. You need to create a date table to support time intelligence calculations. Which approach should you use?

A.Create a date table using CALENDAR function with a continuous date range covering all possible dates, then use Mark as Date Table in the model view
B.Use the CALENDARAUTO function to automatically generate dates and rely on auto date/time
C.Use the DISTINCT function on Sales[OrderDate] to create a date table
D.Create a date table using CALENDAR function with start date = MIN(Sales[OrderDate]) and end date = MAX(Sales[OrderDate])
AnswerA

This ensures a continuous date range and proper recognition by time intelligence functions.

Why this answer

Option C is correct because creating a separate date table with a continuous date range and marking it as a date table using the Mark as Date Table feature allows DAX time intelligence functions like TOTALYTD and SAMEPERIODLASTYEAR to work correctly. Option A is wrong because generating dates from the earliest to latest order dates may miss dates with no sales, causing gaps. Option B is wrong because using only distinct order dates from Sales table does not create a continuous date range.

Option D is wrong because using DAX CALENDARAUTO without marking as date table may not be recognized by time intelligence functions.

54
MCQhard

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?

A.Import the entire table and apply a date filter in Power Query Editor.
B.Enable incremental refresh policy with a filter on the date column.
C.Use DirectQuery mode and apply a date filter in the report.
D.Use a Native Query that selects only the last 30 days of data.
AnswerD

This pushes the filter to the source, reducing data volume.

Why this answer

Option D is correct because using a Native Query that selects only the last 30 days of data pushes the filtering logic to the Azure SQL Database, reducing the amount of data transferred over the network and imported into Power BI. This minimizes load time by avoiding the import of all 10 million rows, while still ensuring only the required 30-day window is brought into the data model.

Exam trap

The trap here is that candidates often confuse incremental refresh (Option B) with a one-time filter, not realizing that incremental refresh requires a pre-configured policy and is meant for ongoing refreshes, not for reducing initial import size.

How to eliminate wrong answers

Option A is wrong because importing the entire 10 million rows and then filtering in Power Query Editor still requires the full data transfer and processing overhead, defeating the goal of minimizing load time. Option B is wrong because incremental refresh policy is designed for scheduled refreshes over time, not for a one-time import of the most recent 30 days; it requires a pre-existing date-range partition and does not reduce the initial load. Option C is wrong because DirectQuery mode does not import data but queries the source live, which can cause performance issues with large tables and does not meet the requirement to import data (the question specifies 'imported').

55
Multi-Selectmedium

Which THREE actions can you take to improve the performance of a slow Power BI report that uses multiple visuals on a single page?

Select 3 answers
A.Increase the frequency of data refreshes to reduce data latency.
B.Use the Performance Analyzer to identify and optimize the slowest visuals.
C.Add more calculated measures to precompute aggregations.
D.Reduce the number of fields used in each visual to only those necessary.
E.Reduce the number of visual interactions by disabling cross-filtering between unrelated visuals.
AnswersB, D, E

Helps pinpoint bottlenecks.

Why this answer

Options A, C, and E are correct. Reducing query reduction by turning off cross-filtering interactions (A) reduces query load. Reducing the number of fields in a visual (C) reduces data retrieval.

Using performance analyzer to identify slow visuals (E) is a best practice. Option B is wrong because increasing data refresh frequency does not improve report rendering performance. Option D is wrong because adding more measures increases calculation load.

56
Multi-Selectmedium

Which TWO of the following are best practices when designing star schemas in Power BI? (Select two.)

Select 2 answers
A.Store numeric measures in fact tables.
B.Use calculated columns in fact tables for row-level security.
C.Place descriptive attributes in dimension tables.
D.Include many columns in fact tables for filtering.
E.Normalize dimension tables to reduce redundancy.
AnswersA, C

Fact tables contain the measurements.

Why this answer

Option A is correct because fact tables in a star schema are designed to store quantitative, numeric measures (e.g., sales amount, quantity) that can be aggregated. This aligns with the star schema principle of separating measures (facts) from descriptive context (dimensions), enabling efficient compression and fast aggregations in Power BI's VertiPaq engine.

Exam trap

The trap here is that candidates often confuse normalization (Option E) as a best practice from transactional databases, but Power BI star schemas require denormalized dimensions for optimal performance, and they may also mistakenly think calculated columns in fact tables (Option B) are acceptable for RLS, ignoring the performance and design implications.

57
Multi-Selecthard

Which THREE factors should you consider when designing an incremental refresh policy for a large fact table in Power BI?

Select 3 answers
A.The table must be configured for DirectQuery mode
B.The source data must be stored in a cloud database
C.The refresh policy must consider the data warehouse's maintenance windows
D.The table must be partitioned in the Power BI model
E.The source table must include a date or datetime column for filtering
AnswersC, D, E

Scheduling refreshes during maintenance windows can avoid conflicts.

Why this answer

Option C is correct because incremental refresh policies must be aligned with the data warehouse's maintenance windows to avoid conflicts, such as attempting to refresh data while the source is being updated or backed up. This ensures data consistency and prevents refresh failures due to locked tables or incomplete data loads. Power BI's incremental refresh relies on the source being available and stable during the refresh window.

Exam trap

The trap here is that candidates often assume incremental refresh requires a cloud source or DirectQuery mode, but Power BI's incremental refresh is designed for Import mode and works with any supported data source that provides a date/time column for filtering.

58
MCQmedium

You manage a Power BI environment. A user wants to share a dashboard with an external partner. You need to ensure the partner cannot export data or share the dashboard further. What should you do?

A.Create a composite model on top of the dataset and share the report as an app.
B.Create a new workspace and add the partner as a Viewer.
C.Add the partner as a guest user in Microsoft Entra ID and share the dashboard directly, ensuring the 'Allow recipients to share' and 'Allow users to export data' options are unchecked.
D.Publish the dashboard to a public website using 'Publish to web'.
AnswerC

Direct sharing with a guest allows granular permission control.

Why this answer

Option C is correct because sharing with an external user as a guest restricts them based on their guest permissions; you can disable export and resharing in the sharing dialog. Option A is wrong because Publish to web makes it public. Option B is wrong because building a composite model is not a sharing method.

Option D is wrong because the partner would need to be a guest anyway.

59
MCQhard

You have a Power BI report with the DAX measure shown in the exhibit. Users report that the measure returns blank for some months even though sales data exists for both current and previous years. What is the most likely cause?

A.The measure uses SUM instead of SUMX.
B.The 'Date' table is not marked as a date table or is missing dates.
C.The DIVIDE function is incorrectly handling division by zero.
D.The relationship between 'Sales' and 'Date' is set to cross-filter direction single.
AnswerB

SAMEPERIODLASTYEAR requires a proper date table with continuous dates.

Why this answer

Option A is correct because SAMEPERIODLASTYEAR requires a contiguous date table marked as a date table; if the date table does not cover all dates, it may return blank. Option B is wrong because DIVIDE handles division by zero gracefully. Option C is wrong because the measure uses SUM which aggregates correctly.

Option D is wrong because relationship direction affects filtering but not SAMEPERIODLASTYEAR's ability to shift dates.

60
MCQmedium

You are designing a Power BI data model that includes a Sales table and a Product table. The Product table contains a column 'Category' with values like 'Electronics', 'Clothing', etc. You need to create a measure that calculates the total sales amount for the 'Electronics' category only. Which DAX expression should you use?

A.SUM(Sales[Amount])
B.SUMX(FILTER(Sales, RELATED(Product[Category]) = 'Electronics'), Sales[Amount])
C.CALCULATE(SUM(Sales[Amount]), FILTER(Product, Product[Category] = 'Electronics'))
D.CALCULATE(SUM(Sales[Amount]), Product[Category] = 'Electronics')
AnswerD

Direct filter in CALCULATE is efficient and correct.

Why this answer

Option D is correct. CALCULATE modifies filter context, and here it applies a filter on Product[Category] = 'Electronics'. Option A sums all sales without filter.

Option B uses SUMX with a filter but is less efficient. Option C uses CALCULATE with FILTER, which is redundant.

61
MCQeasy

You need to create a relationship between two tables in Power BI. Table A has a column 'ProductID' with unique values. Table B has a column 'ProductID' with duplicate values. Which relationship cardinality should you choose?

A.Many-to-one (Table A to Table B)
B.One-to-many (Table A to Table B)
C.One-to-one
D.Many-to-many
AnswerB

Table A is the dimension, Table B is the fact.

Why this answer

Option A is correct. Since Table A has unique values and Table B has duplicates, the relationship is one-to-many (Table A to Table B). Option B is wrong because many-to-one would imply Table A has duplicates.

Option C is wrong because one-to-one requires uniqueness on both sides. Option D is wrong because many-to-many requires a junction table.

62
MCQhard

You are reviewing a Power BI data source configuration in the data source settings. The exhibit shows the JSON representation of a data source. Which issue might arise from this configuration?

A.The server name contains a hyphen, which is invalid in SQL Server connection strings.
B.The CommandTimeout value is too low and may cause queries to time out.
C.The option 'CreateNavigationProperties' is set to false, which may prevent relationships from being created.
D.The authentication kind 'Key' is not supported for Azure SQL Database, causing connection failure.
AnswerD

'Key' is not a valid authentication method for SQL Server; it should be 'UsernamePassword' or 'ServicePrincipal'.

Why this answer

Option D is correct because Azure SQL Database does not support the 'Key' authentication kind in Power BI data source settings. Azure SQL Database requires either Windows authentication, database credentials (Username/Password), or Azure AD-based authentication (such as OAuth2 or Service Principal). The 'Key' authentication kind is typically used for Azure Storage or Cosmos DB, not for Azure SQL Database, so this configuration will cause a connection failure.

Exam trap

The trap here is that candidates may assume 'Key' authentication is valid for any Azure service, but Microsoft restricts authentication methods per data source type, and Azure SQL Database explicitly does not support key-based authentication.

How to eliminate wrong answers

Option A is wrong because hyphens are perfectly valid in SQL Server connection strings; the server name can contain hyphens without any issue. Option B is wrong because the CommandTimeout value shown in the exhibit is not specified as too low; the default is 10 minutes, and the exhibit does not indicate an unusually low value that would cause timeouts. Option C is wrong because 'CreateNavigationProperties' set to false only affects whether Power BI automatically creates relationships in the data model based on foreign keys; it does not prevent relationships from being created manually, and it does not cause a connection failure.

63
Multi-Selectmedium

Which TWO actions should a Power BI admin take to ensure compliance with data residency requirements? (Choose two.)

Select 2 answers
A.Configure the default storage location in the Power BI admin portal.
B.Enable 'Data residency' settings in the admin portal.
C.Use Power BI Report Server for on-premises data.
D.Store datasets in Azure Data Lake Storage.
E.Assign workspaces to Premium capacities in specific regions using Multi-Geo.
AnswersA, E

Default storage location can be set at tenant creation.

Why this answer

Options A and D are correct because data residency can be controlled by choosing the region where the tenant is created and by using Multi-Geo capabilities for Premium capacities. Option B is wrong because data is stored in the region of the capacity. Option C is wrong because the admin portal does not allow users to choose residency.

Option E is wrong because Azure Data Lake is not a storage for Power BI data.

64
MCQhard

You are a Power BI analyst for a multinational retail company. The company's sales data is stored in an Azure SQL Database with tables: Sales (SalesID, Date, ProductID, Quantity, Amount), Products (ProductID, ProductName, Category), and Calendar (Date, Year, Month, Day). The Sales table contains 500 million rows. You are creating a Power BI report to analyze daily sales trends over the past 5 years. The report must allow users to drill from year to month to day using a hierarchy. The performance of the report is critical; users expect visuals to load within 5 seconds. The current model imports all tables without any optimization, and the date hierarchy visual takes over 30 seconds to render. You need to redesign the data model to meet the performance requirement. What should you do?

A.Create an aggregated table in Power Query that groups sales by date, and create a date hierarchy in the Calendar table.
B.Add calculated columns for Year, Month, and Day in the Sales table to avoid using the Calendar table.
C.Switch the import mode to DirectQuery to avoid loading all data into memory.
D.Implement incremental refresh policy on the Sales table to reduce the amount of data loaded.
AnswerA

Pre-aggregation reduces rows and improves query speed; hierarchy enables drill-down.

Why this answer

Option B is correct because reducing the granularity of the Sales table by pre-aggregating daily sales reduces the number of rows drastically, improving query performance. Creating a date hierarchy in the Calendar table allows drill-down. Option A is wrong because DirectQuery may still be slow over 500 million rows without aggregation.

Option C is wrong because incremental refresh only affects data load time, not query performance. Option D is wrong because calculated columns add to model size and do not help with aggregation.

65
MCQmedium

Your Power BI report uses a custom visual that is not rendering in the Power BI service. The visual works correctly in Power BI Desktop. What is the most likely cause?

A.The custom visual is not certified by Microsoft
B.The data source is not supported in the service
C.The visual was not imported into the report
D.The browser needs to be refreshed
AnswerA

Admin settings may block non-certified custom visuals.

Why this answer

Custom visuals from AppSource require approval; if not certified, they may be blocked by admin policies. The data source is irrelevant, and all visuals need to be loaded. Refreshing the browser rarely helps.

66
MCQmedium

You are a Power BI developer for a retail company. You have a semantic model that includes a 'Sales' fact table with columns: 'Date', 'ProductID', 'StoreID', 'Quantity', 'UnitPrice'. The 'Product' dimension table includes 'ProductID', 'ProductName', 'Category', 'SubCategory'. The 'Store' dimension table includes 'StoreID', 'StoreName', 'Region', 'District'. You need to create a report page that allows users to analyze sales performance by product category and store region. The report must include a matrix visual with: - Rows: Product Category - Columns: Store Region - Values: Total Sales Amount (Quantity * UnitPrice) Additionally, users must be able to drill down from category to subcategory in the rows, and from region to district in the columns. You also need to ensure that when a user selects a specific store region, the matrix only shows data for that region and its districts. You have created the measures and the matrix visual. However, when you test the drill down, the hierarchy does not work as expected: clicking the expand icon on a category does not show subcategories. What is the most likely cause?

A.The Total Sales measure is incorrectly defined, causing blank values for subcategories.
B.A slicer for Store Region is interfering with the matrix drill down behavior.
C.The matrix rows do not have a hierarchy defined; Category and SubCategory are separate fields.
D.The relationship between Sales and Product is set to single direction, preventing drill through.
AnswerC

To enable drill down, you need to create a hierarchy (Category > SubCategory) in the Product table.

Why this answer

For drill down to work in a matrix, the fields must be in a hierarchy. The correct approach is to use a hierarchy in the rows and columns. If the fields are simply placed as separate rows/columns, drill down won't work.

Option A is correct because without a hierarchy, the expand button will not drill down. Option B is incorrect because the measure is defined correctly. Option C is incorrect because cross-filter direction doesn't affect drill down.

Option D is incorrect because slicer interaction is not the issue.

67
MCQeasy

A data analyst needs to ensure that a Power BI dataset used in a shared workspace is refreshed daily at 6 AM. The data source is an Azure SQL Database. The analyst's account has database permissions. What should the analyst configure?

A.Enable XMLA endpoints for the workspace.
B.Configure scheduled refresh in the dataset settings.
C.Install an on-premises data gateway.
D.Configure refresh in the report settings.
AnswerB

Scheduled refresh allows setting a daily refresh at a specific time.

Why this answer

Option B is correct because a scheduled refresh in the dataset settings allows configuring refresh frequency and time. Option A is wrong because Gateway is needed only for on-premises sources. Option C is wrong because XMLA endpoints are for advanced management, not scheduling refresh.

Option D is wrong because the refresh is scheduled on the dataset, not the report.

68
Multi-Selecthard

Which THREE features can be used to create custom narratives in Power BI? (Choose three.)

Select 3 answers
A.Calculated columns
B.DAX measures
C.Custom visuals from AppSource
D.Smart Narratives visual
E.Bookmarks
AnswersA, B, C

Columns can provide context for narratives.

Why this answer

Calculated columns are correct because they allow you to create custom text fields by combining or transforming existing data using DAX formulas, which can then be used in visuals or as part of a narrative. For example, you can concatenate product names and sales figures into a single string that serves as a custom narrative in a table or card visual.

Exam trap

The trap here is that candidates often confuse the Smart Narratives visual (which is automated) with a feature for creating custom narratives, or they mistakenly think bookmarks can contain narrative text, when in fact bookmarks only store report state and require separate visuals to display text.

69
MCQhard

Refer to the exhibit. A Power BI administrator runs a PowerShell script to get an access token for the Power BI API. The output shows a token with claims. Based on the token, which authentication method was used?

A.Multi-factor authentication (MFA)
B.Device code flow
C.Password-based authentication
D.Certificate-based authentication
AnswerC

Correct. The 'pwd' claim indicates password.

Why this answer

Option B is correct because the 'amr' claim contains 'pwd', which indicates password-based authentication. Option A is wrong because MFA would show 'mfa' in amr. Option C is wrong because certificate-based authentication would show 'cert'.

Option D is wrong because device code flow would show 'device_authentication'.

70
MCQeasy

You are a data analyst for a university. You need to build a Power BI report to analyze student enrollment by program and year. Data sources: a CSV file with student enrollment records (StudentID, Program, EnrollmentYear, Status) and an Excel file with program details (ProgramCode, ProgramName, Faculty). The CSV file contains 1 million rows. The report must allow users to filter by faculty and program, and see a bar chart of enrollment counts by year. You need to design the data model. What should you do?

A.Import the CSV file only and use DirectQuery for the Excel file to save memory.
B.Import both tables but do not create relationships; use visual-level filters to synchronize selections.
C.Merge the two tables in Power Query into a single table to simplify the model.
D.Import both tables into Power BI, create a relationship between Enrollment[Program] and Programs[ProgramCode], use Star schema design.
AnswerD

Best practice for modeling; allows filtering by program attributes.

Why this answer

Option A is correct: Import both tables, create relationships, and use a star schema. Option B is wrong because DirectQuery on a CSV is not supported. Option C is wrong because having no relationships prevents filtering.

Option D is wrong because merging loses granularity and may cause duplication.

71
MCQmedium

Your organization uses Power BI Premium per user. You need to ensure that a specific report is only accessible via a Power BI app and not directly in the workspace. What should you do?

A.In the workspace settings, set 'Allow users to access the workspace content directly' to disabled.
B.Remove the users from the workspace role.
C.Publish the report to a different workspace.
D.Share the report only with the app users.
AnswerA

This forces app-only access.

Why this answer

Option D is correct because hiding the report from users in the workspace forces access via the app only. Option A is wrong because sharing still gives direct access. Option B is wrong because removing access entirely prevents app access too.

Option C is wrong because it doesn't restrict.

72
MCQmedium

You are building a Power BI data model with a sales table containing millions of rows. You need to design a date dimension table to support time intelligence calculations. What is the best practice for creating the date table?

A.Use the date column from the sales table as the primary date dimension
B.Create a date table using DAX CALENDARAUTO function
C.Import a date table from an Excel file
D.Create a date table using Power Query M language
AnswerB

CALENDARAUTO automatically generates dates covering the entire model's date range.

Why this answer

Option C is correct because using DAX CALENDARAUTO ensures a contiguous set of dates covering all dates in the data model, which is essential for accurate time intelligence. Option A is wrong because importing from Excel may introduce gaps. Option B is wrong because Power Query M language can also create date tables, but DAX is typically more efficient for this purpose.

Option D is wrong because using a date column directly from the fact table without a separate date table limits time intelligence functions.

73
Multi-Selectmedium

You are preparing data for a star schema. Which THREE types of tables are typically included in a star schema?

Select 3 answers
A.Staging tables
B.Bridge tables
C.Dimension tables
D.Date tables
E.Fact tables
AnswersC, D, E

Store descriptive attributes.

Why this answer

In a star schema, dimension tables (C) provide descriptive attributes for the measures stored in fact tables. They are denormalized to optimize query performance in tools like Power BI, enabling fast slicing and dicing of data without complex joins.

Exam trap

The trap here is that candidates may confuse staging tables or bridge tables as core star schema components, but Microsoft explicitly tests that only fact, dimension, and date tables are the three standard table types in a star schema.

74
MCQhard

Refer to the exhibit. The Power Query M code connects to a SQL database and groups sales data. You notice the query is slow. Which change would most likely improve performance?

A.Remove the GroupedRows step to simplify
B.Push the Year filter into the SQL query using a native query
C.Remove the filter on Year to process all data
D.Perform grouping in SQL instead of Power Query
AnswerB

Filtering at source reduces data transferred.

Why this answer

Option B is correct because pushing the Year filter into the SQL query via a native query reduces the amount of data transferred from SQL Server to Power Query. By filtering at the source, Power Query only loads the relevant rows, which minimizes memory usage and processing time. This leverages query folding, which is the most efficient way to handle large datasets in Power Query.

Exam trap

The trap here is that candidates often assume removing steps or performing grouping in Power Query is always faster, but they overlook the critical concept of query folding and the performance gain from pushing filters to the source database.

How to eliminate wrong answers

Option A is wrong because removing the GroupedRows step would eliminate the aggregation, but the query would still load all unfiltered data from SQL Server, which does not address the root cause of slow performance (data volume). Option C is wrong because removing the filter on Year would load even more data, making the query slower, not faster. Option D is wrong because performing grouping in SQL instead of Power Query is essentially the same as pushing the filter (Option B), but the question specifically asks for the change that would 'most likely improve performance' given the existing M code; Option D is a valid alternative but not the best answer because the exhibit shows a filter step already present, and pushing that filter is the most direct improvement, whereas grouping in SQL would require rewriting the query and may not be necessary if the bottleneck is the filter.

75
Multi-Selecteasy

Which TWO are valid methods to secure access to a Power BI dataset? (Select exactly two.)

Select 2 answers
A.Row-level security (RLS)
B.Column-level security (CLS)
C.Object-level security (OLS)
D.App permissions
E.Data encryption at rest
AnswersA, C

Filters rows based on user.

Why this answer

Row-level security (RLS) and object-level security (OLS) are the two primary methods. Option A is correct, Option B is correct. Option C is wrong because column-level security is not a separate feature; it's OLS.

Option D is wrong because app permissions control access to the app, not the dataset directly. Option E is wrong because data encryption is not a dataset-level access control.

Page 1 of 13

Page 2