Loading
Feature Disruption - Service Cloud VoiceRead More
Feature degradation | Gmail Email delivery failureRead More

LOD Calculation Returns Unexpected NULLs or Missing Data in Relationship Data Source When Data Source Filter is Applied

Publish Date: May 8, 2026
Description

In a data source using Relationships (Logical Layer), FIXED LOD calculations may return unexpected NULL values or missing data when the following conditions are met:

  • A Data Source Filter (or Context Filter) is applied to one logical table (e.g., Table A).

  • A FIXED LOD expression is performing a calculation on a different logical table (e.g., Table B).

  • The issue may not occur when the tables are viewed independently, but arises when fields from both tables are used in the same view or calculation.

Resolution

To avoid unexpected Inner Joins and maintain a Left Join-like behavior, consider the following approaches:

Option 1: Move the Filter to the Workbook Level

Instead of a Data Source Filter, use a standard Dimension Filter. Since Dimension Filters are executed after FIXED LODs in the Order of Operations, Tableau can calculate the LOD independently on the target table before the filter is applied, preventing the forced Inner Join.

Option 2: Use Physical Joins

If a specific join type (e.g., Left Join) must be strictly maintained regardless of the filters used, define the tables using Physical Joins within a single Logical Table rather than using Relationships. This allows you to explicitly set the join type.

Option 3: Align the Filter and LOD Target

If possible, apply the filter to the same table that the FIXED LOD is targeting, or ensure that the join keys between the two tables have 100% referential integrity (matching rows) for the filtered criteria.

Additional Resources

This behavior is a result of the Tableau Order of Operations and the query optimization logic for Relationships.

  1. Order of Operations: Data Source Filters are executed before FIXED LOD calculations.

  2. Filter Scope: To ensure the FIXED LOD calculation respects the Data Source Filter applied to a different table, Tableau must associate the two tables before performing the aggregation.

  3. Forced Inner Join: Because the filter is higher in the priority chain, Tableau's query engine automatically generates an Internal Inner Join between the filtered table (Table A) and the LOD target table (Table B) to ensure only valid, filtered rows are included in the result.

If there are no matching records between the two tables for certain dimensions due to the filter criteria, the Inner Join will exclude those rows entirely, resulting in NULLs for the LOD calculation.

 

Tableau's Order of Operations

How Relationships Affect Analysis

Knowledge Article Number

005321784

Attachments

Relationship_LOD_DSFilter_NULL_Fix.twbx

70 KB

 
Loading
Salesforce Help | Article