Tableau / Editorial solution guide

Inflated sales after data combination

Trace physical duplication, native grain and matching assumptions before using a calculation to conceal an unexpected total.

About 3 min readContent reviewed

Read-only knowledge base · No public comments

Recognize the symptoms

The three-line cafe fixture totals 60 before a product lookup is combined, but 102 afterward. Distinct orders can still be 2, so one correct count does not establish correct sales.

Understand the likely causes

  • Tea has two matching attribute rows, so both Tea facts are repeated by a physical join. Other cases involve mixed monthly/detail grains, unmatched inner-join loss or unverified relationship cardinality/matching options.

Preserve source and view identities

Record source version, native fact grain, lookup key and the exact view showing inflation. Keep a tiny synthetic reproduction with duplicate keys intact rather than exposing private rows. Establish the 60 expected amount before editing the workbook. Determine whether the combination is a logical relationship or a physical join inside a logical table; their behavior differs. A new dimension can split marks without duplicating facts, so compare fact identities and amounts, not mark count alone. Preserve the original state so the contextual correction can be related to a demonstrated cause.

Trace matches and expanded rows

Audit one-side uniqueness and composite-key meaning. Tea 12 and Tea 30 each match two lookup rows, while Coffee 18 matches once. The resulting sum is 24+60+18=102 across five joined rows. The following record is an expected teaching trace, not a Tableau log. Also count unmatched facts: an inner join can reduce totals instead of raising them. If relationship performance options assert uniqueness or all-records-match, verify those assertions against actual data; they are not harmless speed hints. A tidy data-source canvas cannot supply that proof.

text Synthetic match-cardinality trace
original facts:Tea12,Coffee18,Tea30 ->60
Tea matches two lookup records
joined amounts:12,12,18,30,30 ->102
required decision:approved unique product/version key

The record exposes duplicated facts without creating a data source or executing Tableau.

Repair the model contract

Decide whether the repeated key is an upstream defect, a historical product version or an incomplete composite identity. Resolve it under the approved business rule. A logical relationship can preserve native analytical detail, but it does not choose the organization’s historical-version policy or repair invalid keys. Do not add SUM DISTINCT over amounts, pick the first attribute or introduce an unexplained FIXED expression merely to restore 60. Legitimate equal-value transactions can be removed by such patches. If monthly targets were flattened onto lines, separate their grain or define a justified allocation.

Verify absolute and contextual results

Reconcile original fact keys, row coverage and 60 sales after the intended resolution, then check Tea 42, Coffee 18 and an unmatched-key case. Test fields from each relevant logical table and the intended view detail. A plausible percentage can survive equal numerator/denominator inflation in other fixtures, so retain absolute checks. This guide performs no join, relationship, calculation or publication operation. Its trace is editorial reasoning. A future authorized engine test must record actual source rows and outcomes and inspect downstream workbooks before treating a shared-source correction as complete.

Verify the fix

Accept the correction when documented keys, grain, coverage and amounts agree, with expected view variants checked separately. A correct distinct count or attractive mark layout is insufficient. Keep actual engine evidence distinct from the synthetic trace.

Keep it from recurring

  • Maintain key audits, native-grain notes, unmatched-row cases and before/after totals for every combination. Version historical lookup rules and review shared-source dependencies when fields or relationship assumptions change.

Official references