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.
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.
Hi Soheil Bakhshi,
Nice post about QA synonyms. Makes a lot of sense in PBI dekstop. will the same thing work in SSAS tabular connection?
Hi Omkar,
Thanks for your feedback.
If you are connecting to an instance of SSAS Tabular model in “Connect Live” mode, then you’ll miss data modelling functionality in Power BI Desktop as your model resides in your SSAS Tabular. Therefore the “Relationships” tab disappears when you connect live to SSAS, either Multidimensional or Tabular.
However, if you connect to an instance of SSAS, again, either Multidimensional or Tabular, in “Data Import” mode, then you’re importing data into Power BI Desktop, therefore you’ll have fully access to data modelling functionalities including Synonyms.
Cheers