Power BI Synonyms, Take Q&A Experience to the Next Level

In April 2016 a bunch of fantastic features were added to Power BI Desktop. Some of these features, like Query Parameters, Power BI Templates and new drill action to see records, quickly grasped my attention. I wrote about Query Parameters before. You can learn how to use Query Parameters in Power BI Desktop here or more complicated use cases like Query Parameters and SQL Server 2016 Dynamic Data Masking (DDM) here.

Another cool feature is adding Synonyms to the model. Power BI Synonyms can significantly improve the Q&A and query experience. With synonyms, we can now add descriptions to the data model objects such as tables, columns and measures in the Power BI Desktop. The descriptive information could include names that the end-users may possibly use to refer to an object or abbreviations used across the business. Addin these descriptions or, as the name suggests, synonyms makes using Q&A even easier for our customers to find what they are looking for. The customers don’t know all table,  column or measure names. Defining a standard list of names for tables, columns, or measures makes Q&A much more helpful.

For instance, we can add the following synonyms:

Note: The following tables and columns are from AdventureWorksDW.

Original Name Object Type Synonym
FactInternetSales Table Internet Sales, InternetSales
OrderQuantity Column Order Quantity, Order Qty, ord qty
SalesAmount Column Sales Amount, Sales Amt, Internet Sales Amount, Internet Sales Amt
TaxAmt Column Tax Amount, Tax Amt
Freight Column freight
OrderDate Column order date

How it works

It’s easy to set up synonyms in Power BI Desktop. Switch to Model view, then click “Synonyms” from the “Modeling” tab from the ribbon. Then, simply enter the synonyms.

Power BI Desktop Synonyms

After we publish a Power BI Desktop model to Power BI Service, the synonyms will play a great role in Q&A so that when the customer types “ord qty” the Q&A engine will recognise it as “OrderQuantity” and display the results. It’s really cool, isn’t it?

But let’s think a little bit out of the box. What if we add some translations as synonyms? Hmm. I think it would be really great if a Spanish customer could type Spanish column names in Q&A rather than English. I added some translations to FactInternetSales columns and DimDate columns.

Thanks to Google Translate for French and Spanish translations. Sorry French and Spanish guys, if the translation looks funny.

Now, I publish the model to Power BI Service. To do so, just click on “Publish” from the “Home” tab from the ribbon.

Create a New Dashboard

We can use Q&A in Power BI dashboards, so we need to log into Power BI service

  • Click “Create dashboard” ()
  • Enter the dashboard’s name

Link A Dataset to the Dashboard

To link a dataset to a dashboard, we need to pin a visual from a report that is created on one of a dataset. We can also pin the whole report to the dashboard. So, a dashboard can be linked to many different datasets.

  • Click the report we published from Power BI Desktop
  • Click “Pin Live Page” ()
  • Select the dashboard we created earlier from the existing dashboards dropdown list, then “Pin live”

Enable Q&A in the Dashboard

  • Click the ellipsis button right on the dashboard we created earlier
  • Click “Settings”

  • Make sure “Show the Q&A search box on this dashboard” is ticked. If it isn’t already ticked, tick the box
  • then “Apply”.

Query Q&A

  • Open the dashboard we created earlier
  • There should be a Q&A box on top of the dashboard
  • Start typing in the Q&A box (I typed Sales Amount for Calendar Year in French)
  • Pin the visual to the dashboard

As you see, it worked perfectly. I typed another query in Persian, and here is the result:

Here is another query combining different languages:

It is trivial that we still need to type some keywords in English if want to, for instance, change the chart types. Look at the below query:

Conclusion

We can use synonyms to make Q&A more useful for the end users. So, adding translated columns based on the end user’s language would be a great idea. However, we need to make it clear to the end users that they still need to use the keywords in English to get the most out of Q&A. Some languages are right to left, so you need to change the keyboard layout several times to write a Q&A query. This might be quite confusing for the users. So, depending on your case, you may or may not add column translations as synonyms.