10 Best Practices for Q&A in Dashboards

How to create great user experiences with NLP features

Read time: 4 minutes

Hey there,

Apparently my recent LI post about Q&A features in dashboards struck a chord.

Many people have contacted me and many have signed up for this newsletter as a result. (If you're one of them - welcome! :)

So I'm postponing the use case originally planned for today by a week and will instead share my top 10 best practices for building dashboards with NLP features.

Even though the best practices will have a Power BI bias, I try to keep things general so the concepts are relatable to other BI tools as well.


Let's go!

PS: If you've never heard about Q&A in dashboards before, then check out this issue.

My book AI-Powered Business Intelligence is still on sale! 🔥Grab your copy now!

Best Practice 1: Start with a prototype

Let's face it - the new Q&A experience will be new to users and we don't know how they'll like it.

Especially in the beginning, there might be a lot of resistance or doubt.

The worst thing you can do is lock yourself away and create a 12-month plan for rolling out Q&A dashboards across your organization.

A much better approach is to build a first prototype of your new Q&A dashboard, limited to a small group of users or domain inside your organization.

That way, you can gather early feedback, tweak and improve the implementation until you're sure your users will love it and you're ready to scale.

Prototyping is also a great way to gather data that's important for Best Practice 2.

Best Practice 2: Review Questions

Most BI tools such as Power BI allow you to track the queries of your users - provided that the users have given their consent.

This history of search terms is extremely valuable because it tells you:

A) what your users are most interested in (what data they're looking for)

B) what language they're using to get this data (terminology)

Both of these are critical to developing a Q&A experience that your users will love.

So make sure you regularly review your queries and adjust the Q&A feature accordingly.

Best Practice 3: Use Suggestions

Since the Q&A tool will be new, many users will sit lost in front of an empty search screen and stare at the blinking cursors.

The easiest way to help them is to give examples of search queries or suggestions.

Suggestions are great because:

  • They make it easier for the user to get started

  • They show the user how the search terms are constructed

  • They serve as templates that users can use to customize their own queries

Take a look at the screenshot below.

See how each suggestion gets a little more complex?

This way you can show (and not tell) users how to construct more complex search queries through examples.

Best Practice 4: Data Relationships

No AI in the world can guess the relationships in your data. And even if it could - you wouldn't want AI to do that.

The knowledge about which tables or objects are semantically related in your data model is only yours as a data and/or business expert.

While some relationships may seem obvious to you and are already expressed in the data model, others may not be because you haven't had a use case (reports) for them yet.

So critically review your data model and specify all existing data relationships so that the Q&A query can also capture these relationships.

Best Practice 5: Normalize Data

Data normalization is quite typical of classic data warehouses in that it removes redundant information from tables. If you've heard of things like a star or snowflake schema, then you should know what normalization is.

The idea is that each "thing" (entity) that the user might ask about is represented by exactly one object (table or column) in your data.

This usually leads to more tables and more relationships in your data model, which makes it more complex for humans, but easier for machines to understand.

Best Practice 6: Tidy Data

Speaking of data models, for Q&A (and almost any other analysis) to work well, your data should be organized in a so-called "tidy" form.

In Tidy Data:

  • each row is an observation,

  • each column is an attribute, and

  • each cell is a single value.

So, try to avoid "Property" columns. This is an anti-pattern of tidy data.

For example, in the un-tidy case below, Q&A couldn't answer a query for "by city" because there's no single column.

Best Practice 7: Fix Naming

Let's be honest - most table and column names in databases were never meant to be seen by actual users.

And yet, I've seen too many dashboards that still contain cryptic names like "SalesFctDE" in the BI report editor.

These names are extremely difficult for end users to interpret, let alone be queried using natural language. We need to acknowledge and fix this.

The simplest approach is to add a semantic layer on top of your data model that maps "user-facing" names to column names in database schemas.

In Power BI, for example, you can do this by renaming columns in your data model or setting field synonyms in your data schema.

The initial effort is worth it, and who knows, maybe one day your user-side naming convention will find its way into the actual database schema.

Best Practice 8: Add Synonyms

It's not just database naming that's messy.

Business users tend to mix up terms like "sales," "revenue," and "income" all the time. In reality, that's hard to fix this, so you have to adapt.

The best way to do this is to keep track of what language your users use to search for information, and then map that language to the actual database fields.

In Power BI you can use the "Synonyms" settings in the Q&A Editor to customize these specific terms.

The final list gives you a good overview of the linguistic "clutter" and provides you with good arguments to make the case for a consistent wording in analytics during the next team meeting - or you don't and simply accept it.

Best Practice 9: Set Data Types

Make sure the data types are correct, as this will affect how Q&A interprets the data.

For example, make sure the IDs are set as string and not numeric so they're plotted as counts and not aggregates.

Another popular example is to make sure that dates are actually dates (and not strings) so that they can be interpreted correctly by the NLP service, allowing users to use wordings like "before" and "after" in their queries.

Best Practice 10: Provide Context and Metadata

BI tools offer you several ways to provide a metadata layer as part of your data model that helps users (and the software) understand what your data actually represents and what operations are possible with it.

For example, in Power BI you can specify the semantic data context for common attributes such as "ZIP code" for integer columns or "City" for string columns using Data → Column tools → Data category.

This helps Q&A choose the correct visual and understanding, e.g. correctly interpreting sales for Buffalo as "Sum of Sales" of "City = Buffalo".

You can also use these tools to determine whether or not your data can be summarized.

For example, if you don't want to convert your customer IDs to a string, you can prevent Power BI from calculating the average value by selecting the appropriate column and choosing Data → Column tools → Summarization → Don't summarize.


That's a wrap!

I hope you have enjoyed this (Power BI-biased) special issue on best practices for Q&A in BI dashboards.

Do you have something to add or did you run into a question?

Just hit reply and drop me a message - I'll respond to every email.

Next week, this newsletter will be back with a fresh AI use case for analytics.

Until then - happy dashboarding!

See you next Friday!


AI-Powered Business Intelligence Book Cover

If you want to learn more about AI in BI, check out my book AI-Powered Business Intelligence (O’Reilly): https://www.aipoweredbi.com