Skip to content

Conver­sa­tional Analytics

“How has revenue in the south developed compared with last year?” More and more tools answer questions like this in chat. Whether the answer is right is decided beforehand: by the data model, the permissions and the tests.

Many tools now answer the question about revenue in the south directly in chat, with a number, a chart and a note on how the answer came about. The effort shifts from operating the tool to preparing the data.

A language model translates the question into a query, for example in SQL or DAX, runs it against the data model and phrases the answer. Follow-up questions work, and each answer builds on the last. We introduce this so that the answers can be trusted: on a described model, with verified examples, with the existing permissions, and with tests before release.

Why text-to-SQL breaks down in a company

With plain text-to-SQL, the language model reads table and column names and derives joins, filters and calculations from them. With small, clearly named data that works. In a company there are abbreviations, tables that grew over the years, and three views of what “revenue” means, and the result looks plausible and is still wrong.

With a semantic model, the assistant uses approved metrics, defined relationships and descriptions instead. Many vendors build on this, and with us every project starts at the model. What it looks like is described under Data Modeling & KPIs.

What has to happen before you switch it on

Turning the feature on is not enough. Metrics and columns need clear names, descriptions and synonyms, and helper fields are hidden. For frequent questions we store approved answers or example queries, which go by different names depending on the platform, from verified answers to verified queries.

The assistant may only show what the person asking is allowed to see in the report. We check that with test accounts in different roles. Then comes the question catalog: typical questions from the business teams with a known answer, plus ambiguous questions and ones that should stay unanswered. It reruns after every change to the model. After release we evaluate questions, wrong answers and feedback, and watch capacity consumption.

Which vendor fits

The products develop fast, and names and feature sets change within a few months. Which one fits depends mostly on where your data and model already live. If you maintain your model in Power BI, you start with Copilot. If you work on a data platform, look first at its own assistant, and if you use Looker, at its chat feature. We keep the model independent of any one tool, so you can change vendor later.

Connecting to Teams, Slack or other assistants often runs through the Model Context Protocol (MCP), which allows access to data models without a separate integration per client. Microsoft, for example, offers an MCP server that reads Power BI models under the rights of the signed-in person, row-level security included. Answers then arrive where people work anyway. MCP does move data, though: metadata and query results go to the client and from there possibly to the language model provider. Which clients are allowed is therefore also a data protection and security decision.

Where the questions are processed

Questions, model metadata and sometimes result data go to a language model. Where that happens depends on vendor and configuration. In Power BI and Fabric, a setting in the admin portal decides whether data for Azure OpenAI may be processed outside the geographic region of the capacity. That matters when the service is not available in your region. Fabric data agents have their own settings for cross-region processing.

On Snowflake, accounts outside the natively supported regions can use Cortex Analyst through cross-region inference, in which case requests are processed in other regions. Looker customers in the EU can enable processing within the region. Whether a configuration meets the company’s requirements is for data protection and legal counsel to assess. We implement the settings technically. Hosting and model choice are covered under GDPR-compliant AI.

Where chat reaches its limits

Language models can invent answers, misread questions or pick one of several readings of an ambiguous phrase. Microsoft points out that the behavior is not deterministic: the same question can produce different answers. There are also product limits, for example on the amount of data returned or on official support for languages other than English. So we test questions in German specifically.

Traceable answers help, such as showing the underlying query. For important decisions the answer should be checked against the report. Chat suits ad hoc questions for which no report exists yet. Metrics that are tracked regularly still belong in a dashboard, because everyone sees the same view and can follow changes over time. Both use the same model.

What you get

  • Answers without a report

    Business teams ask a question and need neither to search for a report nor to have one built.

  • The same numbers as the dashboard

    The assistant uses the semantic model, so chat and report agree.

  • Same rights as in the report

    In chat, each person sees only the data they are allowed to see in the report.

  • Tested before everyone uses it

    A question catalog shows where the assistant still answers wrongly while only a small group knows about it.

Platforms & tools

We are not tied to any vendor and work with what is already running in the company. The list is a selection.

  • Copilot in Power BI
  • Fabric Data Agents
  • Microsoft Copilot Studio
  • Tableau Agent
  • Tableau Next
  • Databricks Genie
  • Snowflake Cortex Analyst
  • Snowflake CoWork
  • Looker Conversational Analytics
  • Microsoft Teams
  • Slack

How we work

  1. Clarify questions and vendor

    Which questions will be asked, where do data and model live, and which tool fits? That decides where we start.

  2. Make the model describable

    We describe metrics and fields, store verified answers and examples, and check the permissions.

  3. Test with a question catalog

    Typical questions from the business teams run against the assistant. We refine until the answers are right.

  4. Release step by step

    First a small group, then everyone. We evaluate questions and wrong answers and keep adjusting the model.

Frequently asked questions

What does Power BI Copilot need to answer questions about data?
A suitable paid capacity, Copilot settings enabled in the admin portal, and a prepared semantic model. Without descriptions and verified answers in the model, results are often weak.
Can we chat with our own data without handing it to a public tool?
Yes, the solutions mentioned work inside their respective platform and with its access rights. Where a language model processes the question depends on the vendor and the settings. We clarify that with data protection before rollout.
Is text-to-SQL on our database enough, or do we need a semantic model?
For first experiments text-to-SQL is often enough. In company use it becomes unreliable as soon as tables are hard to read or metrics are understood differently. A semantic model with approved metrics usually gives better answers that are easier to check.
Can the assistant see more data than the person asking?
It should not. The solutions mentioned run queries with the rights of the person asking, so row-level security applies. We check this before release with test accounts in different roles, because settings and configurations differ.
How do we test whether the assistant answers correctly?
With a question catalog of typical business questions whose correct answer is known. It also includes ambiguous questions and ones the assistant should not answer. The catalog is rerun after model changes, because answers are not always identical.
Can we use the assistant in Teams, Slack or Microsoft 365 Copilot?
In many cases yes, for example via the Model Context Protocol or vendor integrations. Microsoft offers an MCP server for Power BI data, and other vendors connect their assistants to Teams or Slack as well. The feature set differs by vendor and changes quickly.
Which vendor is right for us?
Usually the one where your data and model already live. If you use Power BI, you will typically start with Copilot and Fabric data agents. On Databricks, Genie is the obvious choice, on Snowflake Cortex Analyst, and with Looker its conversational analytics. We are vendor-neutral and keep the model independent of any one tool.