Utilities
Compare Files
What changed between last month's export and this month's? Pick two files — or two sheets, or two folders of Parquet parts — and DataTray reports the difference. It reads both sides and modifies neither.
How to use it
- Open Compare Files.
- Add a left file and a right file. They must be two different files.
- (Optional but important) Name one or more key columns.
- Set tolerances if you need them.
- Run.
With a key column vs. without one
This is the difference that decides how useful the answer is.
With a key column — a customer id, an order number, anything that identifies a row — DataTray can line the two sides up row by row and tell you:
- which rows were added,
- which were removed,
- which rows are the same, and
- for the rows that exist on both sides, exactly which cells changed, old value next to new.
Without a key column DataTray has nothing to line the rows up with, so it can only do set arithmetic: which whole rows appear on one side and not the other. A row where a single cell changed shows up as one removal plus one addition, and there is no cell-level answer at all. The panel says this before you run.
Tolerances also behave differently in the two cases: without a key, only the "ignore these columns" list applies. Numeric, date-granularity and case/whitespace tolerances need the row pairing that a key provides.
Schema drift
Before comparing rows at all, DataTray compares the two shapes and reports columns added, removed, retyped, or apparently renamed — a column that disappeared while another appeared at the same position with a compatible type is reported as a likely rename, not as one removal and one addition. Columns are aligned by name.
If the two files share no columns at all, DataTray says so plainly and stops, rather than producing a comparison of nothing.
Tolerances
- Numeric — a difference smaller than the tolerance you set is not a change, so floating-point noise does not fill the report.
- Date granularity — compare to the day, to the second, or exactly. (A time-of-day column is always compared exactly; truncating a time to the day would make every value identical.)
- Ignore case and ignore leading/trailing whitespace.
- Ignore columns — a list of columns to leave out of the comparison entirely, for the
last_modifiedcolumn that changes on every export.
Output
A comparison report in the Comparisons subfolder — a self-contained HTML file with the
schema drift, the four counts and the changed cells, plus an Excel version where the changed-cell
list is easier to work through in a grid.
If something goes wrong here
- "These two files have no columns in common." Check you picked the right two files, or the right two sheets.
- "Compare Files needs two different files." Both sides point at the same path.
- Everything shows as removed and re-added. You have no key column. Name one and re-run — that is what turns "two hundred changes" into "three cells changed".
- The report is enormous. Add the volatile columns to ignore columns, or set a numeric tolerance.
Compare Files — see what it does
Point it at two files, two sheets or two Parquet directories. It reports the schema drift first — columns added, removed, retyped — then diffs the rows themselves, cell by cell where you have a key column. Numeric and date tolerances mean float noise and timestamp granularity do not read as changes. Out comes a report you can send and an .xlsx with a sheet per category, which is the form people actually circulate. Learn more about the Compare Files.
Windows 10/11 (x64) · Free · No account
Haven’t installed DataTray yet?
Free for Windows 10 and 11. No account, and nothing uploads.
Windows 10/11 (x64) · Free · No account