Bring both outputs into Fabric
Both sides of a Table Pair must be Lakehouse or Warehouse Tables, in any mix, and the account that runs validation needs read access to both. Your new Fabric pipeline already writes to one. For the legacy output, use one of:- Add a shortcut in a Lakehouse to the storage where the legacy pipeline already writes its tables. General Validation reads the shortcut at its logical path inside your Lakehouse and never follows it to the physical destination; Fabric controls access and reports reads it does not support.
- Load the legacy output into a Lakehouse Table once with your own Fabric pipeline, for example when the legacy output is a file rather than a Table.
- Pair the Warehouse Table directly when the legacy pipeline already lands in a Fabric Warehouse.
Pair the legacy and new Tables
- Open Table Pairs, click Add Table Pair, and enter a Table Pair name that identifies the migrated table. Create one pair per table.
- Choose the legacy output with Source Workspace, Source Lakehouse or Warehouse, and Source Table, then the new Fabric output with the matching Target fields. Source and target stay fixed after creation.
- Under Join keys, map the columns that identify a row on each side. VALUE and OUTER_VALUE Tests require them. Choose keys that identify rows uniquely; duplicate keys multiply matches.
- Under Source filters and Target filters, limit both sides to the wave, partition, or date window you are validating now. Only rows matching every filter are compared, and the filters apply to every Test in the pair.
- Click Add Table Pair.
Add Tests in order
On the Table Pair page, click Add Test, choose the Test function, and select the Source column and Target column. Add Tests in this order so each Result narrows where a difference lives.COUNT_ROWSfirst. It needs no columns and confirms both sides hold the same number of rows for the filtered scope.SUM,MIN,MAX, andCOUNT_DISTINCTon the measures that matter, one Test per column. Leave Absolute threshold at 0 for exact equality.SET_A_EQUALS_Bon identifier columns such as customer or order IDs, to confirm both sides contain the same distinct values. UseSET_A_IN_Bwhen the new pipeline is allowed to add identifiers the legacy output lacks.VALUEorOUTER_VALUEwith the join keys, on the columns you must match row by row;OUTER_VALUEalso fails when a row is missing from either side. Set Max bad records to the number of mismatched rows you accept, and keep Evidence limit above 0 so mismatched rows are saved.
Run and review
- Confirm both loads for the wave have finished, then click Run validation on the Table Pair page or choose it from the pair’s ⋯ menu on Table Pairs. The two Tables are read separately, not as one snapshot.
- When the Run finishes, review each Test’s Result, Compared, Mismatches, and Reason. Could not read the Tables or The Test could not finish is an access or column problem, not a data difference.
- For a failed Test, click View details to see the exact Source value and Target value or a sample of mismatched rows. For the complete evidence, Run status meanings, and retention, see Runs, Results, and evidence.