Bravo for Power BI

Introduction

Power BI is a great visualization tool but sometimes when you are developing your reports you are asking yourself “why is such feature not present?”.
Luckily, Power BI has a great community that is developing external tools to make the development easier.

Among the most famous ones we can quote Tabular Editor and DAX Studio which are present in the market for years now but today I am going to talk about one of the most recent one, Bravo.

Bravo is a free and open-source tool that has been developed by the SQLBI team, a well-known and recognized institution led by Alberto Ferrari and Marco Russo, 2 of the most knowledgeable people regarding DAX and Power BI in general. Bravo has been in public preview since March 2022, but the official release was in November 2022. 

Bravo offers 4 different features that we will analyze more in detail later in this insight.

  1. Analyze your model to check its size and unused columns
  2. Automatically format your DAX measures and check for potential errors
  3. Create your own date dimension and apply time intelligence function to your DAX measures
  4. Export your Power BI data to an excel file/CSV

It is a simple tool with a clean design and according to Marco Russo, Bravo is not meant to replace more advanced tools such as DAX Studio and Tabular Editor. Its target audience is users that do not need that level of complexity. It is then a perfect tool for beginners or less technical people that want to have a quick look at their model with an intuitive interface.

Installation and connectivity

The first step is obviously to download it. For that, you can go to https://bravo.bi/ and click on the download button.
Once installed, you have 2 ways to open it. 

  • First you can open it through Power BI Desktop on the external tools pane 
Image
Open Bravo through Power BI Desktop on the external tools pane

Figure 1: Open Bravo through Power BI Desktop on the external tools pane 

That will connect Bravo directly to your local Power BI Desktop file.

  • Second option is to open the Bravo application from your machine. From there, you will be able to either connect to a .pbix file or to connect to a Tabular Model on the Power BI service via your account. An important remark is that XMLA endpoint needs to be enabled on your dataset, so not available on Pro license but only in Premium.
Image
Open the Bravo application from your machine

Figure 2: Open the Bravo application from your machine

Now that we are connected to our model, let’s investigate all Bravo’s features one by one.

 
Features

1.    Analyze Model

Image
Power BI - Bravo Analyze Model

Figure 3: Analyze Model 

The size of the dataset plays an important role in its refresh time. It is thus a good starting point when you want to optimize the refresh time to check for expensive columns in your data model.
That is the purpose of this first tab.

As you can see, we have many information presented on that first page. At the top, we can find summary information as the size of your model which is already useful information not that intuitive to find on the PBI service itself, but also the number of columns and unreferenced columns. 
It’s important to understand what unreferenced means. Bravo cannot determine if a column is used or not in reports linked to the dataset. It only provides information if a column is used either in a relationship between tables or in DAX measures. So be careful when you delete an unreferenced column!

You also have information on the cardinality, size as well as weight of each column in your model. In this model, the most expensive column YEAR WEEK is also unreferenced and represents 46% of the size of our dataset. 
The two highlighted icon allows changing the view on the columns. The first one allows filtering on unreferenced columns only while the second one groups columns by table 

Image
Bravo Analyze Model 2

Figure 4: Analyze Model 

2.    Format DAX.

The second pane is a DAX formatter. For Bravo to be able to analyze your measures, he needs to send your measures to the DAX formatter service and will always ask your permission to do so. You will first have to click on the Analyze Now button to authorize it.

Image
Format DAX

Figure 5: Format DAX

You can enable it by default if you check the Automatic Preview button in the options

Image
Format DAX Automatic Preview button

Figure 6: Format DAX Automatic Preview button

Once Bravo has analyzed your measures, he will give you information on the total number of measures, the number of errors and the ones to be formatted. 

Image
Format DAX Preview

Figure 7: Format DAX Preview

If you are satisfied with the new format, you can check the measure and click on Format Selected at the bottom right. You also have the option to select all of them and format them in one click! This will push it directly to the dataset online or on your .pbix file depending on what you are working on.

This is probably one of the simplest features of Bravo, but certainly one of the most useful as we all know the importance for measures to be easily readable as it can quickly become messy for more complex measures.


3.    Manage Dates.

After the simplest, let’s get into the most complex (and complete) feature of Bravo, Manage Dates.
The Date dimension is present in almost all Dimensional Model but is often hard to handle.
Holidays, format, working day, all of it can quickly become hard to handle and inconsistent across reports, but luckily Bravo is handling everything for us by creating a Date table using a DAX query. 

First, to be able to use that feature, you will need to deactivate the auto date/time function of Power BI. 

You can find if you go to the File tab at the top of the application, then Option and Settings, and finally Options. Then you can deactivate it in either under the Current File settings, or the Global settings.

Image
Power BI Options and settings

Figure 8: Power BI Options and settings

Image
	Power BI options and settings - Data Load

Figure 9: Power BI Options and settings - Data Load

It is best practice to always turn it off by default as auto date tables may consume a huge amount of space.
Once deactivated, you can go back to Bravo and the manage dates feature will be available

Image
Bravo Manage Dates

Figure 10: Bravo Mange Dates

On the first pane, Calendar, you will choose the format of your dimension based on several templates. Among them, you can choose templates based on Fiscal Year if that is relevant for you, or the weekly template which is the most complete. Each template has its own parameters.

Image
Bravo Calendar

Figure 11: Bravo Calendar

Image
Bravo Interval

Figure 12: Bravo Interval

On the interval pane, you will be able to select the first and last year of your table.

Image
Bravo Dates

Figure 13: Bravo Dates

In Dates, you can select the language of the table (A lot are available) as well as the name of the newly created tables. The Dates definition will be hidden and contains the DAX code behind the Dates table.

Image
Bravo Holidays

Figure 14: Bravo Holidays

The same goes for Holidays, where we can decide to include it or not and pick the desired country for holidays.

Image
Bravo Time Intelligence DAX functions

Figure 15: Bravo Time Intelligence DAX functions

Last but not least, the time intelligence pane allows you to create time intelligence functions based on your measures. 

Image
Bravo Time Intelligence

Figure 16: Bravo Time Intelligence

You can decide to create them for each of your measures or pick a subset of interest.
However, you will notice that there are more than 30 newly created measures for each base measure as it creates every possible time intelligence for each one. 
It is maybe a bit too much, as we would have preferred to be able to select the subtypes of function that we need. It’s also best practice to use calculation groups instead of individual measures for Time Intelligence which could be a future improvement of the software.

Image
Bravo Time Intelligence measure

Figure 17: Bravo Time intelligence measure

Nevertheless, it can be used to quickly check how we can create a time intelligence measure if you need it but are not sure how to tackle it, for example, Previous Years as Bravo give you the DAX code.
You can then take the inspiration to create your own measures.

4.    Export Data

Image
Bravo export data

Figure 18: Bravo Export data

Again, this a very simple feature but always useful to have, the possibility to export your Power BI data as an Excel file or a CSV. 
You can choose to extract one or all available tables with a limit of 1M rows for Excel.


Conclusion

In conclusion, Bravo is a very user-friendly tool that can provide quick insights over your model.
The most interesting features are probably the Analyze Model and Format DAX, but it certainly depends on your preferences. Having a common date dimension based on the same code across all the reports of your company may have a huge added value if you don’t have access to your data warehouse.

Even if all those features were possible before in more complex and technical software, Bravo makes it easy to do and is intuitive. The fact that it is open source is also a plus as the community will have the opportunity to improve it even more by adding features which could make Bravo a must-have tool for Power BI developers.