PL-300 Model the data Practice Question
Exhibit
Refer to the exhibit.
```json
{
"name": "RLS Sales",
"rules": [
{
"table": "Sales",
"filterExpression": "[Region] = USERPRINCIPALNAME()"
}
]
}
```
You apply the above RLS rule to a semantic model. The rule is intended to restrict sales data by the user's region, which is stored in the user's email domain (e.g., user@west.contoso.com). However, the rule does not filter any rows. What is the most likely issue?Refer to the exhibit. You apply the above RLS rule to a semantic model. The rule is intended to restrict sales data by the user's region, which is stored in the user's email domain (e.g., user@west.contoso.com). However, the rule does not filter any rows. What is the most likely issue?
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
The filter expression compares the full UPN to the Region column, which likely contains only the region name.
The correct answer is C: the filter expression compares the full UPN to the Region column, which likely contains only the region name. USERPRINCIPALNAME() returns the entire sign-in name such as user@west.contoso.com, so an equality test against a Region value like "West" will never match and no rows are filtered. The rule should instead extract the subdomain or use a mapping table (for example, using SEARCH or PATHITEM-style parsing) to derive the region before comparing. Option A is unlikely because the scenario states the rule is intended to restrict by region and the failure is that it filters nothing, which points to a value mismatch rather than a missing column. Option B is false because USERPRINCIPALNAME() is supported in Power BI for RLS. Option D is incorrect because if the rule were not applied at all, that would be a deployment issue, but the question focuses on the rule's expression logic.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
The Sales table does not have a Region column.
Why it's wrong here
If the Sales table were missing the Region column, the DAX expression would fail validation when the RLS rule is saved or when a query executes, producing an error rather than an empty result set. Since the symptom is an empty table—not an error—the column must exist. The cause lies in the value comparison, not in schema issues.
- ✗
USERPRINCIPALNAME() is not available in the current Power BI version.
Why it's wrong here
USERPRINCIPALNAME() is a fully supported DAX function in Power BI Desktop and the Power BI service, specifically designed for use in RLS rules. It returns the current user's UPN, such as user@contoso.com, and has been available since early Power BI versions. The problem is not the function's availability but how its output is compared to the Region column.
- ✓
The filter expression compares the full UPN to the Region column, which likely contains only the region name.
Why this is correct
The RLS predicate uses USERPRINCIPALNAME(), which returns the complete user principal name including the domain suffix, for example alice@west.contoso.com. If the Region column stores only simple region values such as 'West' or 'Central', a direct equality comparison will never match because 'West' is not equal to 'alice@west.contoso.com'. Therefore, every row is filtered out and the table appears empty.
- ✗
The RLS rule is not applied to the semantic model.
Why it's wrong here
The rule is definitely applied; Power BI enforces RLS by automatically appending the filter predicate to every query against the semantic model. A rule can be active yet return zero rows if its predicate evaluates FALSE for every row in the table. The absence of data does not mean the rule was ignored—it means the filter logic itself is the problem.
Go deeper
Related to this question
About these practice questions
This PL-300 question is part of Courseiva's 524-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This PL-300 practice question is part of Courseiva's free Microsoft certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the PL-300 exam.