Bird
Raised Fist0
Tableaubi_tool~10 mins

Data model best practices in Tableau - Interactive Code Practice

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to create a relationship between two tables in Tableau.

Tableau
CREATE RELATIONSHIP BETWEEN [1] AND Customers ON CustomerID
Drag options to blanks, or click blank then click option'
AProducts
BSales
COrders
DEmployees
Attempts:
3 left
💡 Hint
Common Mistakes
Choosing a table that does not have CustomerID.
Confusing joins with relationships.
2fill in blank
medium

Complete the code to define a star schema in Tableau data model.

Tableau
FactTable [1] DimensionTable ON KeyField
Drag options to blanks, or click blank then click option'
AUNION
BRELATE
CJOIN
DMERGE
Attempts:
3 left
💡 Hint
Common Mistakes
Using JOIN which physically combines tables and can cause data duplication.
Using UNION which stacks tables vertically.
3fill in blank
hard

Fix the error in the Tableau data model expression to avoid data duplication.

Tableau
SELECT * FROM Sales [1] Customers ON Sales.CustomerID = Customers.CustomerID
Drag options to blanks, or click blank then click option'
ARIGHT JOIN
BLEFT JOIN
CINNER JOIN
DRELATIONSHIP
Attempts:
3 left
💡 Hint
Common Mistakes
Using INNER JOIN or LEFT JOIN causing duplicated rows.
Confusing SQL join syntax with Tableau relationships.
4fill in blank
hard

Fill in the blank to create a calculated field that counts unique customers in Tableau.

Tableau
COUNTD([1])
Drag options to blanks, or click blank then click option'
ACustomerID
BProductID
CSalesAmount
DOrderID
Attempts:
3 left
💡 Hint
Common Mistakes
Using COUNT instead of COUNTD which counts duplicates.
Using OrderID which counts orders, not customers.
5fill in blank
hard

Fill both blanks to write a Tableau LOD expression that calculates total sales per region.

Tableau
{ FIXED [1] : SUM([2]) }
Drag options to blanks, or click blank then click option'
ARegion
BSales
CCustomerID
DOrderDate
Attempts:
3 left
💡 Hint
Common Mistakes
Using CustomerID or OrderDate which do not aggregate sales.
Not fixing the calculation at the correct level.

Practice

(1/5)
1. Which data model structure is recommended in Tableau for better performance and clarity?
easy
A. Randomly joined tables without keys
B. Flat table with all data combined
C. Snowflake schema with many nested joins
D. Star schema with clear fact and dimension tables

Solution

  1. Step 1: Understand common data model types

    Star schema organizes data into fact and dimension tables, simplifying relationships.
  2. Step 2: Identify best practice for Tableau

    Tableau performs best with star schema due to clear joins and simpler queries.
  3. Final Answer:

    Star schema with clear fact and dimension tables -> Option D
  4. Quick Check:

    Star schema = Best practice [OK]
Hint: Choose star schema for clear, fast Tableau models [OK]
Common Mistakes:
  • Confusing snowflake schema as better
  • Using flat tables causing slow performance
  • Ignoring relationship clarity
2. Which of the following is the correct way to define a relationship between tables in Tableau's data model?
easy
A. Using a calculated field to join unrelated columns
B. Joining tables without any common columns
C. Creating a relationship on matching key columns
D. Using multiple joins on non-key columns

Solution

  1. Step 1: Identify how relationships work in Tableau

    Relationships require matching key columns to link tables logically.
  2. Step 2: Evaluate options for correct syntax

    Only creating relationships on matching keys ensures correct data blending and filtering.
  3. Final Answer:

    Creating a relationship on matching key columns -> Option C
  4. Quick Check:

    Relationships need matching keys [OK]
Hint: Always link tables on matching keys [OK]
Common Mistakes:
  • Joining on unrelated columns
  • Using calculated fields as join keys
  • Ignoring key columns in relationships
3. Given a star schema with a fact table 'Sales' and dimension table 'Products', what happens if you join them on a non-unique column in 'Products'?
medium
A. The join filters out unmatched sales rows
B. The join duplicates sales rows, inflating totals
C. The join returns only unique sales rows
D. The join causes a syntax error in Tableau

Solution

  1. Step 1: Understand join behavior with non-unique keys

    Joining on non-unique keys duplicates fact rows for each matching dimension row.
  2. Step 2: Predict impact on sales totals

    Duplicated rows inflate aggregated sales, causing incorrect totals.
  3. Final Answer:

    The join duplicates sales rows, inflating totals -> Option B
  4. Quick Check:

    Non-unique join keys cause duplicates [OK]
Hint: Check uniqueness of join keys to avoid duplicates [OK]
Common Mistakes:
  • Assuming join filters data instead of duplicating
  • Thinking Tableau throws errors on such joins
  • Believing totals remain accurate despite duplicates
4. You created a relationship between 'Orders' and 'Customers' tables in Tableau, but your report shows incorrect totals. What is the most likely cause?
medium
A. The relationship uses non-matching key columns
B. The data source is missing required columns
C. The relationship is set as a join instead of a relationship
D. The tables have no data at all

Solution

  1. Step 1: Analyze relationship setup

    Incorrect totals often result from relationships on columns that don't match properly.
  2. Step 2: Check relationship keys

    If keys don't match, Tableau can't correctly link data, causing wrong aggregations.
  3. Final Answer:

    The relationship uses non-matching key columns -> Option A
  4. Quick Check:

    Non-matching keys cause incorrect totals [OK]
Hint: Verify keys match exactly in relationships [OK]
Common Mistakes:
  • Confusing joins with relationships
  • Ignoring missing columns
  • Assuming empty tables cause totals errors
5. You have a complex data model with multiple fact tables and dimension tables. To improve performance and clarity in Tableau, what is the best approach?
hard
A. Create a star schema by consolidating facts and linking dimensions clearly
B. Join all tables into one large flat table
C. Use multiple snowflake schemas with deep nested joins
D. Avoid relationships and use calculated fields to combine data

Solution

  1. Step 1: Assess complex data model issues

    Multiple fact tables and complex joins slow performance and confuse users.
  2. Step 2: Apply best practice for simplification

    Consolidating facts and using star schema with clear dimension links improves speed and clarity.
  3. Step 3: Avoid approaches that increase complexity

    Flat tables or snowflake schemas with deep joins reduce performance and maintainability.
  4. Final Answer:

    Create a star schema by consolidating facts and linking dimensions clearly -> Option A
  5. Quick Check:

    Star schema consolidation = Best for complex models [OK]
Hint: Simplify complex models into star schema for best results [OK]
Common Mistakes:
  • Flattening all tables causing slow queries
  • Using deep nested joins increasing complexity
  • Relying on calculated fields instead of relationships