Bird
Raised Fist0
Power BIbi_tool~15 mins

RELATED for cross-table values in Power BI - Real Business Scenario

Choose your learning style10 modes available
Scenario Mode
👤 Your Role: You are a sales analyst at a retail company.
📋 Request: Your manager wants a report showing each sales transaction with the product name and category included, even though this information is in a separate product table.
📊 Data: You have two tables: Sales with columns TransactionID, ProductID, Quantity, and SalesAmount; and Products with columns ProductID, ProductName, and Category.
🎯 Deliverable: Create a report table that lists each transaction with ProductName and Category shown by using the RELATED function to bring product details into the Sales table.
Progress0 / 4 steps
Sample Data
Sales TableProducts Table
TransactionIDProductIDQuantitySalesAmountProductIDProductNameCategory
1001101240101NotebookStationery
1002102115102PenStationery
1003103390103MugKitchen
1004101120104PlateKitchen
1005104480
1
Step 1: Ensure the Sales and Products tables are loaded into Power BI and related by ProductID.
In Power BI Model view, create a relationship: Sales[ProductID] (many) to Products[ProductID] (one).
Expected Result
A one-to-many relationship is established between Products and Sales tables on ProductID.
2
Step 2: Create a new calculated column in the Sales table to get the ProductName from the Products table using RELATED.
ProductName = RELATED(Products[ProductName])
Expected Result
Sales table now has a ProductName column showing the correct product name for each transaction.
3
Step 3: Create another calculated column in the Sales table to get the Category from the Products table using RELATED.
Category = RELATED(Products[Category])
Expected Result
Sales table now has a Category column showing the correct category for each transaction.
4
Step 4: Build a table visual in Power BI report view with columns: TransactionID, ProductName, Category, Quantity, SalesAmount.
Add fields from Sales table: TransactionID, ProductName, Category, Quantity, SalesAmount to the table visual.
Expected Result
The report table shows each transaction with product name and category alongside quantity and sales amount.
Final Result
TransactionID | ProductName | Category   | Quantity | SalesAmount
-------------------------------------------------------------
1001          | Notebook    | Stationery | 2        | 40
1002          | Pen         | Stationery | 1        | 15
1003          | Mug         | Kitchen    | 3        | 90
1004          | Notebook    | Stationery | 1        | 20
1005          | Plate       | Kitchen    | 4        | 80
✓RELATED function successfully brings product details into the Sales table.
✓Each sales transaction now clearly shows product name and category.
✓This helps the manager understand sales by product and category without duplicating data.
Bonus Challenge

Create a measure to calculate total sales amount by category using the RELATED function in combination with aggregation.

Show Hint
Use SUMX over Sales table and RELATED to access category, then group by category in a visual.

Practice

(1/5)
1. What does the RELATED function do in Power BI?
easy
A. It creates a new relationship between two tables.
B. It fetches a value from a related table based on existing relationships.
C. It deletes rows from a related table.
D. It aggregates data within the same table.

Solution

  1. Step 1: Understand the purpose of RELATED

    The RELATED function is designed to retrieve a value from another table that is connected through a relationship in the data model.
  2. Step 2: Differentiate from other functions

    RELATED does not create relationships or delete data; it only fetches values from an existing related table.
  3. Final Answer:

    It fetches a value from a related table based on existing relationships. -> Option B
  4. Quick Check:

    RELATED fetches related values = A [OK]
Hint: RELATED pulls data from linked tables only [OK]
Common Mistakes:
  • Thinking RELATED creates relationships
  • Assuming RELATED works without a relationship
  • Confusing RELATED with aggregation functions
2. Which of the following is the correct syntax to use RELATED in a calculated column to get the 'CategoryName' from a related 'Product Categories' table?
easy
A. RELATED('Product Categories'[CategoryName])
B. RELATED(Product Categories[CategoryName])
C. RELATED Product Categories[CategoryName]
D. RELATED[Product Categories.CategoryName]

Solution

  1. Step 1: Recall correct RELATED syntax

    The RELATED function requires the table name in single quotes if it contains spaces or special characters, followed by the column name in square brackets.
  2. Step 2: Check each option

    RELATED('Product Categories'[CategoryName]) uses the correct syntax. Without quotes around the table name with space it fails, missing parentheses fails, and bracket notation is invalid.
  3. Final Answer:

    RELATED('Product Categories'[CategoryName]) -> Option A
  4. Quick Check:

    RELATED syntax with quotes = B [OK]
Hint: Use single quotes around table names with spaces [OK]
Common Mistakes:
  • Omitting quotes around table names
  • Using dot notation inside RELATED
  • Missing parentheses after RELATED
3. Given two tables: Orders with columns OrderID, ProductID, and Quantity, and Products with columns ProductID and Price. There is a relationship between Orders[ProductID] and Products[ProductID]. What will the following calculated column in Orders return?
OrderValue = Orders[Quantity] * RELATED(Products[Price])
medium
A. The total price for each order line by multiplying quantity with product price.
B. The sum of all product prices in the Products table.
C. The quantity multiplied by the total number of products.
D. An error because RELATED cannot be used in calculated columns.

Solution

  1. Step 1: Understand the relationship and calculation

    RELATED fetches the price of the product for each order line by matching ProductID. Multiplying by Quantity gives the total value for that order line.
  2. Step 2: Trace the calculation

    The formula computes the total price for each order line row-by-row by multiplying Quantity with the RELATED product Price. It does not aggregate or error out.
  3. Final Answer:

    The total price for each order line by multiplying quantity with product price. -> Option A
  4. Quick Check:

    Quantity * RELATED(Price) = line total = C [OK]
Hint: RELATED pulls matching row value for each row [OK]
Common Mistakes:
  • Thinking RELATED aggregates values
  • Assuming RELATED cannot be used in calculated columns
  • Confusing multiplication with aggregation
4. You wrote this calculated column in the Sales table:
ProductCategory = RELATED(Product[Category])

But you get an error saying "The column 'Category' either doesn't exist or is not related." What is the most likely cause?
medium
A. The Sales table has duplicate rows causing RELATED to fail.
B. The RELATED function cannot be used in calculated columns.
C. There is no relationship between Sales and Product tables on the relevant keys.
D. The column name 'Category' is misspelled in the Product table.

Solution

  1. Step 1: Analyze the error message

    The error indicates that RELATED cannot find a related row, usually because the tables are not connected by a relationship.
  2. Step 2: Check other possibilities

    RELATED can be used in calculated columns. Misspelling would cause a different error, and duplicates don't cause this error.
  3. Final Answer:

    There is no relationship between Sales and Product tables on the relevant keys. -> Option C
  4. Quick Check:

    RELATED needs relationships = D [OK]
Hint: Check relationships if RELATED gives column not found error [OK]
Common Mistakes:
  • Assuming RELATED works without relationships
  • Ignoring spelling errors in column names
  • Blaming data duplicates for RELATED errors
5. You have three tables: Sales (with ProductID and Quantity), Products (with ProductID, CategoryID, and CategoryName), and Categories (with CategoryID and CategoryName).

You want to create a calculated column in Sales that shows the CategoryName for each sale. Which DAX formula correctly uses RELATED to get this value?
hard
A. RELATED(Categories[CategoryName])
B. RELATED(RELATED(Categories[CategoryName]))
C. RELATED(Products[CategoryID]) & RELATED(Categories[CategoryName])
D. RELATED(Products[CategoryName])

Solution

  1. Step 1: Understand the relationships

    Sales is related to Products by ProductID, and Products is related to Categories by CategoryID. Products contains CategoryName (likely via its own RELATED to Categories).
  2. Step 2: Use RELATED with the correct direct relationship

    RELATED(Products[CategoryName]) fetches from the directly related Products table.
  3. Step 3: Rule out others

    A targets an indirectly related table, C uses invalid concatenation on unrelated data, D has invalid syntax.
  4. Final Answer:

    RELATED(Products[CategoryName]) -> Option D
  5. Quick Check:

    RELATED fetches from directly related table = B [OK]
Hint: RELATED only fetches from directly related tables [OK]
Common Mistakes:
  • Trying to chain RELATED calls
  • Using RELATED on unrelated tables
  • Assuming RELATED can fetch through multiple tables automatically
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard