The real test of a reporting tool is what happens next month
Most demos end at the first dashboard. That is the easy part. The part that decides whether a tool is still in use in six months is what happens when the next export lands.
In a spreadsheet, next month costs you an hour of careful pasting and a quiet worry about whether the chart ranges updated. In a traditional BI setup, it costs nothing — but getting there cost a quarter and an engineer. Most teams are stuck choosing between those two.
What we wanted instead
Drop the file on the dataset. That is the whole interaction.
Underneath: the new workbook's sheets are matched to the dataset by their column headings, not by file name, because file names are a naming convention nobody actually follows. If the columns line up — 60% or better — you get two choices. Add rows, for a monthly export that continues the series. Replace all rows, for a file that is a fresh full snapshot.
Then everything downstream rebuilds: the dataset, its quality checks, and every dashboard and published report reading it.
The details that bite
A few things we had to get right before this felt safe:
- Re-adding the same file replaces its rows rather than doubling them, because everybody eventually uploads the same file twice.
- Every row remembers the file it came from, which is what makes a bad import removable later instead of permanent.
- Files can be removed, and what was built on them rebuilds without them.
- Deleting is guarded. A file a dataset depends on, or a dataset a dashboard depends on, cannot be deleted until the thing depending on it is gone.
None of that is exciting. All of it is the difference between a tool you use twice and a tool that is still there next year.