Bird
Raised Fist0
Power BIbi_tool~10 mins

Data model best practices in Power BI - Cell-by-Cell Formula Trace

Choose your learning style10 modes available
Sample Data

Sample data showing Products and Sales tables with keys to demonstrate data model relationships.

CellValue
A1ProductID
B1ProductName
C1CategoryID
D1CategoryName
E1SalesID
F1ProductID
G1Quantity
H1SalesDate
A2101
B2Apple
C21
D2Fruits
E25001
F2101
G210
H22024-06-01
A3102
B3Banana
C31
D3Fruits
E35002
F3102
G35
H32024-06-02
A4201
B4Carrot
C42
D4Vegetables
E45003
F4201
G47
H42024-06-01
Formula Trace
SUMX(RELATEDTABLE(Sales), Sales[Quantity])
Step 1: RELATEDTABLE(Sales) for ProductID 101
Step 2: SUMX(related sales rows, Sales[Quantity])
Step 3: RELATEDTABLE(Sales) for ProductID 102
Step 4: SUMX(related sales rows, Sales[Quantity])
Step 5: RELATEDTABLE(Sales) for ProductID 201
Step 6: SUMX(related sales rows, Sales[Quantity])
Cell Reference Map
Products Table       Sales Table
+----+------------+    +-------+----------+----------+------------+
| A1 | B1         |    | E1    | F1       | G1       | H1         |
|----|------------|    |-------|----------|----------|------------|
| 101| Apple      |    | 5001  | 101      | 10       | 2024-06-01 |
| 102| Banana     |    | 5002  | 102      | 5        | 2024-06-02 |
| 201| Carrot     |    | 5003  | 201      | 7        | 2024-06-01 |
+----+------------+    +-------+----------+----------+------------+
The Products table has ProductID as key. The Sales table references ProductID to link sales to products. The formula uses this relationship.
Result
+------------+----------------+---------------------+
| ProductID  | ProductName    | Total Quantity Sold  |
|------------|----------------|---------------------|
| 101        | Apple          | 10                  |
| 102        | Banana         | 5                   |
| 201        | Carrot         | 7                   |
+------------+----------------+---------------------+
The result shows total quantity sold per product by summing related sales quantities using the data model relationship.
Sheet Trace Quiz - 3 Questions
Test your understanding
What does RELATEDTABLE(Sales) do in the formula?
AFinds all sales rows matching the current product's ProductID
BSums all sales quantities in the Sales table
CFilters products by category
DReturns the product name for each sale
Key Result
Use RELATEDTABLE to get related rows from another table, then SUMX to sum values over those rows.

Practice

(1/5)
1. What is the main reason to use a star schema in Power BI data modeling?
easy
A. It hides data from users to improve security.
B. It allows storing all data in one big table.
C. It automatically creates relationships without keys.
D. It simplifies analysis by separating facts and dimensions clearly.

Solution

  1. Step 1: Understand star schema purpose

    A star schema organizes data into fact tables (measures) and dimension tables (descriptions) for clarity.
  2. Step 2: Recognize benefits in Power BI

    This separation makes analysis easier and faster by simplifying relationships and queries.
  3. Final Answer:

    It simplifies analysis by separating facts and dimensions clearly. -> Option D
  4. Quick Check:

    Star schema = clear fact and dimension tables [OK]
Hint: Star schema means clear fact and dimension tables [OK]
Common Mistakes:
  • Thinking all data should be in one table
  • Believing relationships form without keys
  • Confusing star schema with security features
2. Which of the following is the correct way to create a one-to-many relationship in Power BI?
easy
A. Link the primary key in the dimension table to the foreign key in the fact table.
B. Link the foreign key in the dimension table to the primary key in the fact table.
C. Create a many-to-many relationship between two fact tables.
D. Use a calculated column to join unrelated tables.

Solution

  1. Step 1: Identify keys in tables

    The dimension table has a primary key; the fact table has a foreign key referencing it.
  2. Step 2: Create relationship direction

    One-to-many means one dimension row links to many fact rows, so connect primary key (dimension) to foreign key (fact).
  3. Final Answer:

    Link the primary key in the dimension table to the foreign key in the fact table. -> Option A
  4. Quick Check:

    One-to-many = primary key to foreign key [OK]
Hint: Primary key (dimension) links to foreign key (fact) [OK]
Common Mistakes:
  • Reversing keys in relationship
  • Using many-to-many where one-to-many is needed
  • Trying to join unrelated tables with calculated columns
3. Given a data model with a Sales fact table and a Product dimension table linked by ProductID, what happens if you add a relationship from Sales[ProductID] to Product[ProductID] but the Product table has duplicate ProductIDs?
medium
A. Power BI will create a one-to-many relationship and filter correctly.
B. Power BI will show an error and not allow the relationship.
C. Power BI will create a many-to-many relationship automatically.
D. Power BI will ignore duplicates and create the relationship anyway.

Solution

  1. Step 1: Understand relationship requirements

    One-to-many relationships require the 'one' side (Product) to have unique keys.
  2. Step 2: Check effect of duplicates

    Duplicates in Product[ProductID] break uniqueness, so Power BI blocks the relationship creation.
  3. Final Answer:

    Power BI will show an error and not allow the relationship. -> Option B
  4. Quick Check:

    Unique keys required on 'one' side [OK]
Hint: One side keys must be unique to create relationship [OK]
Common Mistakes:
  • Assuming duplicates are ignored
  • Expecting automatic many-to-many creation
  • Thinking relationship will still filter correctly
4. You created a relationship between Customer[CustomerID] and Sales[CustomerID], but your report shows incorrect totals. Which of the following is the most likely cause?
medium
A. The Sales table is missing CustomerID values.
B. CustomerID has duplicates in the Customer table.
C. The relationship is inactive and needs to be activated.
D. The relationship is many-to-many instead of one-to-many.

Solution

  1. Step 1: Check relationship status

    Inactive relationships do not filter data automatically, causing wrong totals.
  2. Step 2: Confirm activation needed

    Activating the relationship or using DAX USERELATIONSHIP fixes filtering issues.
  3. Final Answer:

    The relationship is inactive and needs to be activated. -> Option C
  4. Quick Check:

    Inactive relationship causes wrong totals [OK]
Hint: Inactive relationships block filtering; activate them [OK]
Common Mistakes:
  • Ignoring inactive relationship status
  • Assuming duplicates always cause wrong totals
  • Thinking missing values break relationships
5. You have a complex data model with multiple fact tables and dimension tables. To improve performance and clarity, which best practice should you apply?
hard
A. Use a star schema with clear one-to-many relationships and avoid circular dependencies.
B. Combine all tables into one large table to reduce relationships.
C. Create many-to-many relationships between all tables for flexibility.
D. Use calculated columns to join tables instead of relationships.

Solution

  1. Step 1: Identify best modeling approach

    Star schema organizes data clearly with fact and dimension tables linked by one-to-many relationships.
  2. Step 2: Avoid common pitfalls

    Combining tables or many-to-many relationships can cause confusion and slow performance; calculated columns for joins are inefficient.
  3. Final Answer:

    Use a star schema with clear one-to-many relationships and avoid circular dependencies. -> Option A
  4. Quick Check:

    Star schema + one-to-many + no circular dependencies [OK]
Hint: Star schema and one-to-many improve clarity and speed [OK]
Common Mistakes:
  • Merging all tables into one
  • Using many-to-many everywhere
  • Relying on calculated columns for joins
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