Where it saves real time
- First-draft SQL from a described schema and a written definition. It gets the boilerplate, joins and window functions down in seconds.
- Translation: SQL to DAX, a report filter to a WHERE clause, a messy spreadsheet formula to something maintainable.
- Documentation: turning a finished query into a plain-English description for the metric dictionary.
- Narrative from verified numbers: drafting the weekly brief once the numbers are checked, so I edit sentences instead of writing them.
- Cleanup: regex, mapping tables, normalizing picklist values and account names.
Where it quietly gets the number wrong
The dangerous failures aren't errors. They're queries that run, return a plausible number, and are wrong:
- Fan-out joins. Joining opportunities to line items or contacts duplicates rows, and the sum goes up by a believable amount.
- The wrong grain. Averaging rep-level averages instead of computing from deals. Win rate by count when you meant by amount.
- Date boundaries. Inclusive or exclusive end dates, fiscal versus calendar quarters, timestamps against dates in different time zones.
- Invented fields. A confident reference to a column that sounds right and doesn't exist, or worse, exists and means something else.
- Silent filters. Excluding nulls, test accounts or a record type without saying so.
The checks I don't skip
- I write the definition first. AI drafts code against my definition. It never decides what “pipeline” or “churn” means.
- Reconcile to a control total. Row counts and one known total (bookings for a closed quarter, say) must match the CRM report before anything else is looked at.
- Assert the grain. If a table should have one row per opportunity per day, I test that it does.
- Check one case by hand. One rep, one quarter, worked out manually. If the query disagrees, the query is wrong until proven otherwise.
- Numbers come from queries, not prose. AI can describe a verified number. It doesn't calculate one inside a paragraph.
- A person owns the number. If a figure goes to a leadership meeting, someone's name is on it, and that person has run the checks.
The result
The speed-up is real: first drafts of queries, documentation and briefs take a fraction of the time they used to. But the time saved goes into verification, not into skipping it. A fast wrong number does more damage than a slow right one, because people act on it before anyone checks.
Written by Wolfram Nothnagel. If you're working on this problem, I'm glad to talk: email or LinkedIn.