3.3 Managing Slowly Changing Dimensions & Data Quality Warnings

Key Takeaways

  • Slowly Changing Dimensions (SCD) define how historical data warehouses manage changes to dimensional attributes over time.
  • SCD Type 1 overwrites old values with new values (erasing history), while SCD Type 2 preserves historical accuracy by appending new rows with effective date ranges and current status flags.
  • To perform 'as-was' point-in-time reporting with SCD Type 2, fact tables must join on dimension effective date ranges; 'as-is' current reporting requires filtering on the current record flag.
  • Data Quality Warnings (DQWs) in Tableau Catalog inform users of asset conditions (Deprecated, Stale Data, Under Maintenance, Info) with high-visibility banners without revoking workbook permissions.
  • A Server or Site Administrator can certify a published data source; a Creator or Explorer (Can Publish) also can when the user owns the project or has Project Leader capability.
Last updated: September 2026

3.3 Managing Slowly Changing Dimensions & Data Quality Warnings

In enterprise analytics, data is rarely static. Customers relocate, sales representatives change territories, corporate hierarchies reorganize, and operational source systems undergo schema updates. Managing how historical changes reflect in analytical reporting requires an understanding of Slowly Changing Dimensions (SCD). Concurrently, maintaining organizational trust in self-service analytics requires robust metadata governance, including Data Quality Warnings (DQW) and Certified Data Sources on Tableau Server and Tableau Cloud. This section explores how to model temporal dimensional shifts and communicate data reliability to business decision-makers.


Slowly Changing Dimensions (SCD) in Tableau Analytics

In dimensional data modeling (Kimball methodology), dimensions contain descriptive context (e.g., customer addresses, sales rep regions, product categories). When an attribute changes in the real world, the data warehouse must execute an SCD strategy. The choice of SCD type dramatically impacts how Tableau calculates historical metrics, cohort trends, and executive KPIs.

1. SCD Type 1: Overwrite

  • Mechanics: The existing attribute value in the dimension table is directly overwritten with the new value. No historical record is preserved.
  • Tableau Impact: When historical transactions are joined to an SCD Type 1 table, all past transactions are retroactively attributed to the new value.
  • Use Case & Trade-offs: Ideal for correcting erroneous data (e.g., fixing a misspelled customer name). However, for structural changes (e.g., a customer moving from California to New York), past revenue earned in California will now erroneously display under New York in historical trend lines.

2. SCD Type 2: Add New Row (Historical Preservation)

  • Mechanics: The warehouse never overwrites data. Instead, it closes the existing record by populating an Effective_End_Date and inserts a new row with a new surrogate key, a new Effective_Start_Date, an open/null Effective_End_Date, and a Current_Flag = 'True'.
  • Tableau Impact: Enables two fundamentally different analytical perspectives:
    • As-Was (Point-in-Time) Reporting: Shows transactions attributed to the dimension value that was active at the exact time the transaction occurred.
    • As-Is (Current State) Reporting: Shows all historical transactions re-aggregated under the customer's or entity's current status.
Customer_Key | Customer_ID | State | Start_Date | End_Date   | Is_Current
101          | C-500       | CA    | 2024-01-01 | 2025-12-31 | False
205          | C-500       | NY    | 2026-01-01 | NULL       | True

3. SCD Type 3: Add New Attribute (Prior Value Column)

  • Mechanics: The table retains the current value in one column (e.g., Current_Region) and stores the immediate previous value in an adjacent column (e.g., Previous_Region), accompanied by an Effective_Date.
  • Tableau Impact: Allows straightforward comparative analysis between current and prior states without complex date-range joins. However, it only preserves a single historical transition; earlier changes are permanently lost.
SCD TypeMechanismHistorical ContextTableau ComplexityBest For
Type 1Overwrites recordNone (overwritten)Simple (single record per entity)Correction of errors, spelling fixes
Type 2Appends new rowInfinite / Full historyRequires date-range joins or Is_Current filterTerritory tracking, compliance, audits
Type 3Appends new columnPartial (current + 1 prior)Moderate (column comparison)Year-over-year territory realignment

As-Was Point-in-Time vs. As-Is Current State Reporting

When connecting Tableau to an SCD Type 2 dimension table, authors must align the physical relationship or join conditions with the intended analytical question.

Achieving "As-Was" (Point-in-Time) Reporting

To credit a regional sales office for transactions completed while the customer actually resided in that region, the fact table's Order_Date must be evaluated against the validity window of the dimension table.

In the Tableau Data Model (Physical Layer Joins or Relationship calculations):

[Fact_Orders].[Customer_ID] = [Dim_Customer].[Customer_ID]
AND [Fact_Orders].[Order_Date] >= [Dim_Customer].[Effective_Start_Date]
AND ([Fact_Orders].[Order_Date] <= [Dim_Customer].[Effective_End_Date] OR ISNULL([Dim_Customer].[Effective_End_Date]))

This ensures that an order placed on 2024-06-15 joins strictly to Customer_Key 101 (California), while an order placed on 2026-02-10 joins to Customer_Key 205 (New York).

Achieving "As-Is" (Current State) Reporting

If executive leadership asks: "What is the lifetime value of our current New York customer base?", all historical orders—regardless of when they occurred—must map to the customer's active location.

To achieve this in Tableau:

  1. Join the fact table to the dimension table solely on the business key (Customer_ID = Customer_ID).
  2. Add a Data Source Filter or Extract Filter: [Is_Current] = 'True' (or ISNULL([Effective_End_Date])).
  3. This filters out all historical dimension rows, mapping all past orders exclusively to the active record.

Exam Trap: Joining an SCD Type 2 dimension directly on Customer_ID without date range logic or an Is_Current filter creates a many-to-many Cartesian explosion, duplicating fact order rows across every historical iteration of the customer record!


Data Quality Warnings: Server and Cloud Metadata Governance

Even the most sophisticated data models become liabilities if the underlying data pipeline fails or is undergoing maintenance. Data Quality Warnings (DQWs)—part of Tableau Catalog and the Tableau Data Management add-on—provide a centralized mechanism for administrators and data stewards to communicate asset health to business users directly within the visualization interface.

Warning Types

When configuring a Data Quality Warning on a database, table, flow, or published data source, stewards select from four standardized categories:

  1. Deprecated: The data asset is obsolete and scheduled for retirement. Users are advised to migrate to an approved alternative.
  2. Stale data: The underlying extract refresh or ETL pipeline failed. Data has not been updated within its designated Service Level Agreement (SLA).
  3. Under maintenance: The source system, warehouse, or data flow is actively undergoing engineering modifications, backfills, or migrations.
  4. Warning: A general warning for a condition that does not fit the more specific deprecated, stale-data, or maintenance labels.

High-Visibility Warnings

By default, a Data Quality Warning appears as a small warning icon next to the asset name in search lists and catalog views. However, when an administrator checks "Enable high visibility":

  • The warning is made more prominent in places where users encounter affected content. Users can open its details to read the steward's message, such as the data currency and remediation status.
  • Because display locations vary by asset type and Tableau version, verify the warning on representative upstream assets and downstream views after saving it.

Governance vs. Security Permissions

It is crucial to recognize what Data Quality Warnings do not do:

  • DQWs do not block user access: A Data Quality Warning is communicative. It does not deny permissions, lock workbooks, or prevent queries. Restrict access through the site role and effective permission rules appropriate to the asset; do not rely on a warning as a security control.

Certified Data Sources: Building the Single Source of Truth

In self-service analytics environments, business users frequently publish duplicate, conflicting, or unvetted data sources, resulting in inconsistent metric calculations across departments. Certified Data Sources solve this by establishing an authoritative "single source of truth".

Visual Indicator

Certified data is identified with a green badge or green check mark, depending on where the asset is viewed, and can include certification notes and the certifier's identity.

Search and Discovery Prioritization

Certification improves discovery: certified data sources display the badge and certification notes, rank higher in search results, and can appear in recommended data sources. Certification does not guarantee that an asset is literally pinned above every other result.

Authorization: Who Can Certify?

A published data source can be certified by a Server or Site Administrator. A user with the Creator or Explorer (Can Publish) site role can also certify it when that user owns the containing project or has the Project Leader capability for that project. Owning the data source itself, or merely having Save/Overwrite permission, is not enough.


Practical Implementation Scenarios

Scenario A: The Failed Overnight Financial Pipeline

At 06:30 AM, an enterprise data engineer discovers that the overnight extract refresh for the corporate Executive Sales & Margin published data source timed out due to database maintenance. Executive leadership reviews this dashboard daily at 08:00 AM.

  • Incorrect Action: Deleting the published source or denying workbook permissions, causing executive dashboards to display fatal connection errors.
  • Recommended Governance Action:
    1. The data steward navigates to the published data source in Tableau Cloud.
    2. Opens the Data Quality Warning dialog.
    3. Selects warning type Stale Data and checks Enable high visibility.
    4. Enters message: "Overnight extract refresh failed. Data reflects closing figures from yesterday. Pipeline re-run scheduled for 09:30 AM."
    5. When executives open their dashboard, the figures render normally, accompanied by a clear banner explaining the data currency.

Scenario B: Restructuring Sales Territories with Type 2 SCD

A national enterprise reorganizes regional sales territories on January 1, 2026. A sales rep's account portfolio shifts from Midwest to Great Lakes. The compensation committee requires accurate calculation of 2025 commissions based on where accounts were assigned when the deals closed, while the 2026 quota forecasting team needs all accounts grouped under the new Great Lakes alignment.

  • Solution: The data model implements an SCD Type 2 dimension.
    • The Commission Audit Workbook joins orders using date-range criteria (Order_Date BETWEEN Start_Date AND End_Date), correctly crediting the 2025 revenue to the Midwest territory.
    • The 2026 Quota Forecasting Workbook connects to the same dimension table but filters on Is_Current = 'True', grouping all historical account revenues under the Great Lakes alignment to project baseline capacity.

Exam Traps & Critical Distinctions

  1. Data Quality Warnings Do Not Lock Data: Setting a warning (even with high visibility) does not restrict queries or deny access. It is an advisory metadata signal.
  2. Certification Authority: Administrators can certify. A Creator or Explorer (Can Publish) also can when the person owns the containing project or has Project Leader capability; ordinary asset ownership or Save permission is insufficient.
  3. SCD Type 1 Erases Historical Reality: If an exam question asks which SCD strategy allows auditing historical conditions at the time a transaction occurred, Type 1 is incorrect; Type 2 is mandatory.
  4. Cartesian Product Risk in Type 2 Joins: Failing to specify date-boundary joins or filtering by current status when connecting fact tables to Type 2 dimensions causes duplicated rows and inflated financial sums.
Loading diagram...
SCD Lifecycle, Governance Validation, and Downstream Consumption
Test Your Knowledge

A company tracks customer relocations in an enterprise data warehouse using a Type 2 Slowly Changing Dimension (SCD), storing Customer_ID, State, Effective_Start_Date, Effective_End_Date, and Is_Current. A marketing analyst wants to visualize total sales revenue by the customer's current state, regardless of where the customer lived when individual past orders occurred. How should the analyst filter the data model in Tableau?

A
B
C
D
Test Your Knowledge

A data engineer notices that an overnight ETL pipeline failed, causing a published data source used across company executive dashboards to contain stale data. What is the recommended governance action on Tableau Server or Tableau Cloud to inform business stakeholders immediately without revoking their access?

A
B
C
D
Test Your Knowledge

Who can certify a published data source in Tableau Server or Tableau Cloud?

A
B
C
D