PL-300 · Domain 1: Prepare the data · 28% of the exam
Task 1.1: Get or connect to data
Connecting to data sources or a shared semantic model, data source settings such as credentials and privacy levels, choosing between Direct Lake, DirectQuery and Import, and query parameters.
Study it
Connecting to data sources and shared semantic models
Try each one before opening the answer. Every option is explained, with the Microsoft documentation page that proves it.
Question 1 · choose 1
Finance publishes a certified Sales semantic model to a shared workspace, and you have Build permission on it. You need a Power BI report that compares its Revenue measure with monthly targets kept in an Excel workbook that only your team maintains. The Sales model must remain the single source of sales data, with no copy of its data in your file. What should you do?
AKeep a live connection to the Sales model and type the targets into a new table with Enter data
BDownload the Sales model's .pbix file, import the Excel targets into it, and publish it to your own workspace
CConnect to the Sales model, select Make changes to this model, and then import the Excel targets
DOpen the Sales model with Analyze in Excel and add the targets to that workbook
Show the answer and why
AKeep a live connection to the Sales model and type the targets into a new table with Enter data
Incorrect
A live connection can't add new tables to the model, whether they come from Enter data or from Excel.
BDownload the Sales model's .pbix file, import the Excel targets into it, and publish it to your own workspace
Incorrect
The downloaded file carries its own copy of the sales data, so the Sales model would no longer be the single source.
CConnect to the Sales model, select Make changes to this model, and then import the Excel targets
Correct
This converts the live connection to a DirectQuery connection to the Sales model, so its data stays remote while you add the imported Excel table.
DOpen the Sales model with Analyze in Excel and add the targets to that workbook
Incorrect
Analyze in Excel produces an Excel workbook connected to the model, not the Power BI report you need.
In a live connection you can't add tables from other sources. Selecting Make changes to this model turns the live connection into DirectQuery for Power BI semantic models: Power BI Desktop creates a local model whose remote tables stay in DirectQuery, and you can add imported or DirectQuery tables from other sources. Creating that connection requires Build permission on the source model.
A Power Query query combines an HR database that holds salary data with a departments workbook and a public holiday feed. Power Query must never send the HR data to another source while it combines them, not even to other sources that are themselves classified as sensitive. Which privacy level should you set on the HR database?
APrivate
BOrganizational
CPublic
DNone
Show the answer and why
APrivate
Correct
Data from a Private source can't fold into any other source, including other Private sources.
BOrganizational
Incorrect
Organizational data can fold into Private and other Organizational sources, which the requirement forbids.
CPublic
Incorrect
Public data can fold into any other source, the opposite of what's needed.
DNone
Incorrect
None applies no privacy settings at all and is meant for controlled test environments.
Power Query classifies each source as None, Private, Organizational or Public. Private is for highly sensitive data: it can't fold into any other source, not even another Private one. Organizational data can fold into Private and other Organizational sources but not into Public ones, and Public data can fold anywhere.
A sales report reads a 20-million-row table in an Azure SQL database. During the day, store managers need figures that are no more than 15 minutes old. The workspace uses Power BI Pro licenses only, with no Premium, PPU or Fabric capacity, and none will be bought. Which storage mode should the sales table use?
AImport, with scheduled refresh every 15 minutes
BDirectQuery
CImport with an incremental refresh policy that adds a real-time DirectQuery partition
DDirect Lake over the Azure SQL database tables
Show the answer and why
AImport, with scheduled refresh every 15 minutes
Incorrect
Pro allows up to 8 scheduled refreshes a day; even PPU and capacities stop at 48, about one every 30 minutes.
BDirectQuery
Correct
Each visual sends its query to the Azure SQL database, so results reflect the data at query time on any license.
CImport with an incremental refresh policy that adds a real-time DirectQuery partition
Incorrect
Getting the latest data in real time with DirectQuery is supported only for Premium, PPU and Embedded models.
DDirect Lake over the Azure SQL database tables
Incorrect
Direct Lake reads Delta tables in OneLake and needs a Fabric capacity; the source here is an Azure SQL database.
Import data is only as fresh as the last refresh, and a Pro semantic model can have at most 8 scheduled refreshes a day (48 on PPU or a capacity). DirectQuery queries the source for each visual, so it meets a 15-minute freshness target without any capacity. Incremental refresh is available on Pro, but its real-time DirectQuery partition isn't, and Direct Lake requires a Fabric capacity and OneLake Delta tables.
A model in a Pro workspace imports five years of orders from an Azure SQL database. Each night only the last three days should be reloaded, and older rows should stay as they are. Before you define the incremental refresh policy on the Orders table, which two things must the Orders query have? (Choose TWO.)
AA move of the workspace to Premium Per User licensing
BTwo date/time parameters named RangeStart and RangeEnd
CA filter step on the order date column that uses both parameters
DTwo date parameters named StartDate and EndDate
EA real-time DirectQuery partition for the current day
Show the answer and why
AA move of the workspace to Premium Per User licensing
Incorrect
Incremental refresh is supported on Pro; only the real-time DirectQuery partition needs Premium or PPU.
BTwo date/time parameters named RangeStart and RangeEnd
Correct
Incremental refresh uses these reserved, case-sensitive parameter names, and both must be the date/time type.
CA filter step on the order date column that uses both parameters
Correct
The policy's partitions are loaded through this filter, so the query must filter on the two parameters.
DTwo date parameters named StartDate and EndDate
Incorrect
The names are reserved and case-sensitive, and the type must be date/time, so these parameters aren't recognized.
EA real-time DirectQuery partition for the current day
Incorrect
The requirement is a nightly reload, and the real-time partition isn't available on Pro anyway.
Incremental refresh is supported for Pro, PPU, Premium and Embedded models. You first create date/time parameters with the reserved names RangeStart and RangeEnd and use them to filter the table's date column; the policy then defines which periods are stored and which are refreshed. The filter should fold to the source so that only each period's rows are read.
A report uses DirectQuery against an Azure Data Explorer function that takes a customer ID as an argument. When a reader picks a customer in a slicer, that value must be passed into the function's argument when the visual queries the source. What should you configure?
AA Power Query parameter that a table column is bound to in Model view
BA what-if parameter with a slicer on its generated table
CA field parameter that lists the customer ID column
DA query parameter whose suggested values list every customer ID from the source
Show the answer and why
AA Power Query parameter that a table column is bound to in Model view
Correct
Binding a field to an M parameter is how a dynamic M query parameter passes the reader's selection into the source query.
BA what-if parameter with a slicer on its generated table
Incorrect
A what-if parameter adds a DAX table and measure; its value never reaches the M query.
CA field parameter that lists the customer ID column
Incorrect
A field parameter doesn't pass a selected value into the source query.
DA query parameter whose suggested values list every customer ID from the source
Incorrect
Without binding, a query parameter keeps the value set by the author or in settings, not the reader's slicer choice.
Dynamic M query parameters let a slicer or filter selection flow into an M parameter that the source query references. You create the parameter in Power Query, reference it in the query, and then bind a column to it with Bind to parameter in the column's advanced properties. Binding is available only for supported DirectQuery sources.
A published model has a ServerName query parameter that switches between test and production SQL Server instances. In the service, the parameter appears grayed out under the semantic model's settings, so the data owner can't change it there. The parameter was created with its type left as Any. What should you do?
AGive the data owner the Admin role in the workspace
BChange the server under Data source credentials in the semantic model settings
CIn Power BI Desktop, change the parameter's type to Text and publish the model again
DRe-create the parameter in the semantic model settings with the Text type
Show the answer and why
AGive the data owner the Admin role in the workspace
Incorrect
The field is unavailable because of the parameter's type, not because of the owner's workspace role.
BChange the server under Data source credentials in the semantic model settings
Incorrect
That section stores sign-in details for each source; it doesn't change which server the query connects to.
CIn Power BI Desktop, change the parameter's type to Text and publish the model again
Correct
The service doesn't support Any or Binary parameters, so a typed Text parameter becomes editable after publishing.
DRe-create the parameter in the semantic model settings with the Text type
Incorrect
The service lets you review and edit parameters that come from Desktop, but not create new ones.
Parameters defined in Power BI Desktop travel with the published model, and you can review and edit their values in the service, but you can't create new ones there. Any and Binary type parameters work in Power BI Desktop, but the service doesn't support them for security reasons, so they show as grayed out.
A query reads a country population table from a public Wikipedia page and merges it with an internal sales database. Which privacy level fits the Wikipedia source?
APrivate, because it is combined with internal data
BPublic, because anyone can see the page's data
COrganizational, because the merged result is internal
DNone, because the page is public and needs no credentials
Show the answer and why
APrivate, because it is combined with internal data
Incorrect
Private is for sensitive or confidential data; what a source is merged with doesn't make it private.
BPublic, because anyone can see the page's data
Correct
Public suits data that everyone can see, such as a Wikipedia page or free marketplace data.
COrganizational, because the merged result is internal
Incorrect
The level describes the source's own data, and this page isn't limited to a trusted group.
DNone, because the page is public and needs no credentials
Incorrect
None means no privacy settings at all and is meant for a controlled development environment.
Each source gets its own privacy level according to its own data: Public for files, internet sources and workbook data that anyone can see, such as a Wikipedia page; Organizational for sources visible to a trusted group; and Private for sensitive or confidential data. Power Query uses the levels to decide whether data can flow between sources when it combines them.
Your report has a live connection to a certified semantic model. You need one extra measure, Margin %, for your own report, and nothing else in the model needs to change. What's the simplest way to add it?
ACreate a measure in your live-connected report
BAdd a custom column in Power Query Editor
CExport the live report's data to Excel and calculate it there
DBuild a new import model, then add the measure to its report
Show the answer and why
ACreate a measure in your live-connected report
Correct
In a live connection you can still create report measures, which are saved with your report.
BAdd a custom column in Power Query Editor
Incorrect
Power Query isn't available for a live-connected model, and a column isn't a measure.
CExport the live report's data to Excel and calculate it there
Incorrect
That leaves Power BI and copies the data instead of adding a measure to the report.
DBuild a new import model, then add the measure to its report
Incorrect
Rebuilding the model duplicates the certified one just to add a measure.
A live connection uses a published semantic model without building one in your file. You can't change the model itself or add data from other sources, but you can create report measures and visual calculations that are stored in your report.
In Power BI Desktop, you want to check whether the Customer table is in Import, DirectQuery or Dual mode and change it if needed. Where do you find the setting?
APower Query Editor, in the table's Applied Steps list
BReport view, in a visual's Format pane
CModel view, Properties pane, Advanced section
DFile > Options, under Data Load
Show the answer and why
APower Query Editor, in the table's Applied Steps list
Incorrect
Applied Steps lists transformations; the storage mode is a property of the model table.
BReport view, in a visual's Format pane
Incorrect
The Format pane styles a visual; it doesn't hold table properties.
CModel view, Properties pane, Advanced section
Correct
The Storage mode list is in the Advanced section of the table's properties.
DFile > Options, under Data Load
Incorrect
Data Load options are file and global settings, not one table's storage mode.
Each table in a model has a storage mode. In Model view, select the table, and in the Properties pane expand Advanced to see and change the Storage mode setting. A DirectQuery table can be changed to Import or Dual.
A network share holds 40 CSV files with the same columns, one per store. You want one query that combines all of them. Which connector should you start with?
AText/CSV
BWeb
CJSON
DFolder
Show the answer and why
AText/CSV
Incorrect
The Text/CSV connector loads one file; for many files, the documentation points to a folder connector.
BWeb
Incorrect
The Web connector reads a page or file by URL, not every file on a network share.
CJSON
Incorrect
The JSON connector reads JSON files, not CSV files.
DFolder
Correct
The Folder connector lists the files in a folder so you can combine them in one query.
To import many files at once, use a multi-file connector such as Folder, and then combine the files. The Text/CSV connector is for a single file.