Data Analytics · Read + Write
Talk to database
Augment
Rep · High
Reason · High
The problem Analysts queue up between business and the data team. Simple questions wait days; the chart that comes back is sometimes off by a join.
The AI approach Schema-aware NL → SQL. LLM reads the table catalog (with column comments + foreign keys), turns the question into SQL, runs it, and explains the result in business language.
The outcome ~30s answer
Business users self-serve simple questions in seconds. Analysts focus on the questions that need real thinking.
Try it Input → Process → Output
▶ Run demo
Input — question + schema preview
Which 3 stores had the biggest drop in fresh-category revenue last week vs. the prior week?
Schema · 3 tables loaded
sales_daily (date, store_id, category, revenue) → store_dim, product_dim
store_dim (store_id, name, region, format)
product_dim (sku, category, sub_category)
Process — AI pipeline
1 Parse intent + entities Read Generative
2 Pick tables + joins from schema Read Generative
3 Generate + run SQL Write Symbolic
4 Format result + narrate Write Generative
Output — table + narrative
Click Run demo to turn the question into SQL, run it, and explain.
Generated SQL read-only
WITH wk_now AS (SELECT store_id, SUM (revenue) r
FROM sales_daily
WHERE category='fresh'
AND date BETWEEN '2026-04-26' AND '2026-05-02'
GROUP BY 1) ...
Results 3 rows · 280 ms
store region this wk last wk Δ
store_07 · BKK Bang Na BKK 54,210 92,400 −41%
store_22 · CMI Center North 61,300 83,100 −26%
store_41 · Phuket Patong South 48,950 62,400 −22%
Plain English: 3 stores saw fresh revenue drop 22–41% week-over-week. Store_07 had the steepest drop — coincides with the new opening-hours change.
Three AI types in this use case
Symbolic Schema graph (tables, joins, FKs); SQL executor; row-count + result-type checks; PII column blocklist.
Predictive Disambiguation of ambiguous entities (which 'store'?); auto-correct misspelled column names.
Generative LLM reads schema + question, picks tables, writes SQL, then narrates the result in business language.
The stack NL→SQL · LLM with schema in contextEngine · Snowflake / BigQuery / PostgresRead-only role + audit logFront-end · Slack / web chat
When this works Schema is well-documented (column comments, FK relationships, data dictionary) Read-only role with PII columns blocked Questions are scoped (one entity, one time window) Audit trail of every NL → SQL pair
When it fails Vague question ("how is the business?") — generated SQL is junk Multi-step joins that need analyst judgement Stale schema — model hallucinates a column that was dropped Auto-published charts off bad SQL look authoritative
apps.ajcheck.com/ai-usecases · use case 12 · illustrative example, not a live system