AI Data Analyst
AI Data Analyst is the natural-language interface to your governed semantic graph. It answers business questions with results that are repeatable across teams, auditable across time, and explainable to anyone reading the trace.
What it does
Most "AI for data" tools improvise plausible SQL straight from a prompt and a schema. AI Data Analyst is different in one structural way: it does not guess SQL from a raw prompt. It compiles an intent through the same pipeline every other Colrows request goes through - context resolution, constrained planning, governed execution - and emits dialect-perfect SQL as the final step, with a complete reasoning trace.
That means every answer AI Data Analyst gives is:
- Grounded in the governed semantic graph, not in a model's guess about your column names.
- Repeatable - the same question, asked tomorrow, returns the same answer (and any difference is traceable to a definition change).
- Explainable - every concept, join, constraint, and policy used in the answer is shown alongside it.
- Governed - personas, scopes, and row/column predicates apply at compile time. There is no path to data outside the persona's allowed subgraph.
Using it in the workspace
Open Colrows AI from the left menu. Pick a datasource and, optionally, a schema below the input, then type a question in Ask a question. The datasource is fixed for a conversation once the first question is sent; start a new chat to ask against a different one.
- Progress while it works - short status messages (for example, "Running the query") appear while the answer is prepared. Use the stop button to stop waiting for the answer.
- Answers in parts - one answer can contain text, a data table, a chart, a single-value card, and the SQL that ran.
- Chat history - Show chat history opens the Chats panel with your recent conversations. Reopen or delete a chat from there.
- Reload messages - if you return to a chat while an answer is still being delivered, a Reload messages button resumes it from the first part you have not seen.
What you can do with an answer
- Sources - lists the semantic sources the answer used, such as metrics, business terms, tables, and SQL resolution cache entries, with links into the Entity Manager.
- Confidence score - each data answer shows a score with an explanation.
- Show Query - view the SQL behind a table or chart. From a SQL answer, Copy SQL or Continue in Editor.
- Save as Insight - keep a table or chart as an insight.
- Save as Dataset - save a table's query as a dataset for dashboards.
- Create Monitor - schedule a table's query as a Monitor.
- Export - download a table as CSV.
- Thumbs Up / Thumbs Down - rate a chart answer.
How it works
A natural-language question travels the same compile-then-execute path as any other request:
-
Intent normalization & binding
The question is parsed and binds to entities, metrics, events, and concepts in Consensus. Multi-vector embeddings handle natural-language drift; structural reasoning makes the final call.
-
Persona & scope resolution
The requester's persona resolves an allowed subgraph. Anything out of scope is invisible to the rest of the pipeline - there is no way to "smuggle" a column past the planner.
-
Join path proof
Multi-entity questions are solved as a constrained graph traversal. Ambiguous paths fail compilation with an explainable error rather than silently generating the wrong number.
-
Constraint solving
Grain compatibility, time-window predicates, and policy restrictions are applied before any plan is produced.
-
Dialect-perfect execution
The plan is specialized to your warehouse dialect. The query runs. The trace is captured for audit.
Privacy & governance
AI Data Analyst sends the LLM only the relevant slice of the semantic graph - concept names, definitions, and structural relationships scoped to the requester's persona. Row data is fetched by the SQL engine, after compilation, on the data plane.
- Compile-time governance - RBAC, ABAC, row/column predicates, and persona scope shape the allowed subgraph before planning.
- No raw schema leakage - only governed semantic surface area is exposed to the LLM.
- Audit trail by construction - each answer is stored in the chat history with the SQL that ran and the semantic sources it used.
- Versioned definitions - semantic entities are versioned, so a changed answer can be traced to a changed definition.
- Query cost guardrails - generated SQL is cost-estimated before it runs. See Query cost guardrails.
- LLM provider - the platform's LLM provider is set in deployment configuration. OpenAI is the provider supported today.
Key capabilities
- Multi-hop questionsResolves questions that span multiple entities and time windows without ambiguity - including "why did X change?" causal questions.
- Explainable answersEvery data answer is paired with the semantic sources it used, a confidence score with its explanation, and the dialect SQL that ran.
- Schedule & recurTurn a table answer into a Monitor. It runs the query on a schedule and emails the result as CSV, on every run or only when the query returns rows.
- Charts in the answerAnswers can include charts and single-value cards. Save them as insights, or save the query as a dataset to build dashboards.
Supported datasources
AI Data Analyst runs on top of the SQL engine and supports every dialect Colrows supports - see Datasources. In practice that means most enterprise warehouses, lakehouses, and modern OLAP engines: Snowflake, Databricks, BigQuery, Postgres, ClickHouse, Trino / Starburst, Oracle, SQL Server, Vertica, Redshift, and more.
AI Data Analyst for AI agents
The same conversational engine is available to AI agents, not just people. The askData and askMetadata MCP tools expose AI Data Analyst to Claude Code, Cursor, Codex, and custom agents - the exact governance, refusal behavior, and audit trail described on this page apply to every agent call. See the MCP integration guide.
When AI Data Analyst refuses
Sometimes the right answer is "no". AI Data Analyst fails compilation, with an explainable error, when:
- A concept can't be uniquely resolved in the requester's scope.
- The join path between two entities is ambiguous and no anchor breaks the tie.
- A constraint is violated - incompatible grain, cross-comparable time windows, or denied PII columns.
- A metric depends on a node outside the persona's allowed subgraph.
That refusal is the feature. A weak system gives you a confident wrong number; a governed system gives you a clean error you can fix.