Courseiva
Model the data →hardMultiple Choice

PL-300 Model the data Practice Question

You are a Power BI data analyst for a financial services company. Your semantic model contains a fact table named Transactions with columns TransactionID, AccountID, TransactionDate, and Amount. You also have a dimension table named Accounts with AccountID, AccountType, and OpeningDate. You need to create a calculated column in the Transactions table that returns the account type for each transaction. Which DAX function should you use?

⚠ Common exam trap

The trap here is choosing LOOKUPVALUE because it seems straightforward, but it ignores the existing relationship that RELATED can leverage more efficiently and with less code.

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

✓

RELATED(Accounts[AccountType])

RELATED is the correct function to retrieve a value from the one side of a relationship in a calculated column on the many side. It uses the existing relationship between Transactions and Accounts to return the account type for each transaction. LOOKUPVALUE is a fallback when no relationship exists, while CALCULATE and USERELATIONSHIP serve different purposes.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • ✗

    LOOKUPVALUE(Accounts[AccountType], Accounts[AccountID], Transactions[AccountID])

    Why it's wrong here

    LOOKUPVALUE can retrieve a value from another table based on matching criteria, but it is unnecessary when a relationship exists. It is slower because it scans the table for each row. RELATED is optimized for relationship-based lookups and should be used instead. LOOKUPVALUE is better when no relationship exists or when multiple criteria are needed.

  • ✓

    RELATED(Accounts[AccountType])

    Why this is correct

    RELATED is used in a calculated column on the many side of a relationship to fetch a value from the related table on the one side. Since Transactions is related to Accounts via AccountID, RELATED(Accounts[AccountType]) returns the account type for each transaction. This function leverages the existing relationship and is efficient for row-level lookups.

  • ✗

    USERELATIONSHIP(Accounts[AccountID], Transactions[AccountID])

    Why it's wrong here

    USERELATIONSHIP is used within CALCULATE to activate an inactive relationship for a measure calculation. It does not return a value by itself and is not applicable in a calculated column for row-level lookups. It is meant for scenarios where multiple relationships exist between tables and you need to specify which one to use in a measure.

  • ✗

    CALCULATE(MAX(Accounts[AccountType]), RELATEDTABLE(Accounts))

    Why it's wrong here

    CALCULATE with RELATEDTABLE is used in measures to modify filter context, not for simple row-level lookups in calculated columns. RELATEDTABLE returns a table of related rows, and MAX would attempt to aggregate a text column, which is invalid. This approach is overly complex and incorrect for retrieving a single related value.

About these practice questions

Courseiva writes every PL-300 question from scratch — 524 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written and reviewed by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

Last reviewed September 2026 · checked against the official Microsoft exam blueprint

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.