You’ll notice one of our exciting updates right away when creating new reports with the September update of Power BI Desktop, a new, modern default theme! Not only do we have a new default theme, but we’ve more than doubled the number of built-in theme options for your report. If you’re a theme author, potentially more exciting are the updates to our theme JSON format which make it much quicker and easier for you to create your own custom themes that significantly change the look and feel of your report. Thanks to an intern project, we’re also releasing a frequently requested modeling feature: custom format strings. And of course, we have plenty of incremental improvements this month, with some performance improvements, more dynamic formatting options, updates to our personalized visualization pane, and more.
As a final reminder, starting this month, we are only releasing our new single .exe installer that has all the languages wrapped into it. If you’re automatically downloading it from the Download Center each month, you’ll need to update your scripts. You can learn more about how to do this in our documentation. We have also added some guidance at the end of this post.
Here’s the complete list of September updates:
For a summary of the major updates, you can watch the following video:
When writing your own custom theme JSON file, we know it can be quite difficult to build a theme that changes the entire look of your report. For example, if you wanted to create a dark theme that set the page to a dark color and use white text on top, you’d have to change a ton of settings through the visual styles section of the JSON, which can be very time consuming and error prone.
To help with this, we’ve expanded the color classes within our theme file to allow you format many of the colors in your theme without needing to touch visual styles. If you’re already writing theme files, you’re likely already using a few existing color classes: foreground, background, and tableAccent, which update various settings within your report with one line. With this update, we’re adding new color classes to that list, which as a result, means you can color all visual elements in a report just by setting 6 colors.
The color classes you now have available and what they format are:
In addition to color classes, we’ve added text classes to make it easier and quicker to set text styles. There are 4 primary text classes that adjust a total of 14 total text classes. You can set the font family, font size, and font color for each text classes. The four main text classes are: “Title”, “Label”, “Callout”, and “Header”.
The Title and Label classes have several secondary classes that are automatically derived from the primary class settings but can be formatted individually. For example, if you set the label class, which for example is used for the values in a table to 10pt, a “Small Label,” which is for example used the search box text in slicers, would be automatically set to 9pt. The goal of the primary/secondary text classes is to make it quick and easy for you to set the text classes, which still maintaining a visual hierarchy to the text.
The below table shows the primary classes with example settings and the secondary classes with the settings that make them unique compared to their associated primary class.
For example, here’s a small theme that sets some of these properties:
"fontFace": "Segoe UI Semibold",
"fontFace": "Segoe UI",
You can still use visual styles to set any specific formatting you want, and that will override any color or text classes that have been set. We expect with these new changes for most users to stick to the color and text classes the majority of the time, and only use the visual styles for non-color/text options (such as turning titles on/off by default).
Watch the following video to learn more about color and text classes:
To go along with the new theme JSON options, we are also updating the themes available for reports and changing the default theme for new reports.
Our design and research team spent quite a bit of time developing a new set of themes that have more variety (such as Innovate, a dark theme) and show off more theme-able feature (such as Bloom, with it’s background image).
The new default theme is meant to both align better with Microsoft’s design language and follow best design practices for visuals. We also tested it thoroughly to ensure it’s design is an improvement over other themes, with the goal that the new default makes it easier to create beautiful reports out of the box.
Some visual updates with the new default theme are:
You can still find the previous themes under the “More themes” submenu any time you want to reach them. One thing to remember around custom themes is that they always build on top of the default theme. So for example, if you created your own custom theme that just set the data colors and nothing else, if you imported that theme into a report with the new default applied, it would still have expand/collapse on by default, backgrounds on for visuals, etc., so it may look different compared to when you imported it to a report with the old default theme. If you want your theme to look exactly the same way it did previously, you can first set the theme to “Classic” in the theme dropdown, so the default theme has the old settings and then import your custom theme.
Watch the following video to learn more about our new themes:
The first update to the personalized visualization pane this month is the ability to unpin any of the default visuals.
Once you unpin a built-in visual, it moves under the dotted line within the pane, and next time you open a report, it won’t show unless you have that visual type used already within the report, in which case, it will show below the dotted line. This means that the only difference in experience between built-in and custom visuals is that the built-in ones show by default initially.
Some reasons you might want to do this include:
If you later want the default visuals back, you can use an option to restore the original visuals to the pane.
Another update is that you can now right click on any visual in the visualization pane to see an About dialog with more information on the visual.
You’ll be able to see things such as the visual’s id, version number, where you got the visual from, and the support information.
Watch the following video to learn more about the personalized visualization pane improvements:
While in the modeling view, you can now enter in a custom format string to customize how the field will show in visuals.
To do this, first select the field in the fields list and select the custom format option in the formatting card of the properties pane.
From there, you’ll be able to select from a list of commonly used format strings.
Or you can use the given an input box to enter in your own format string. Power BI will support most of the VBA style syntax, with a few exceptions. Refer to the full documentation for details.
Once you enter in your custom format string, it will immediately be reflected in the data view and report view.
One of our returning interns, Chelsie Eiden, worked on this feature over the summer. You might remember her from the theme picker that she worked on last year! It’s great to have interns come back to the Power BI team – hopefully you’ll see more of Chelsie again in the future.
Watch the following video to learn more about custom format strings:
We’re excited to announce more formatting features this month that can be conditionally formatted, moving us ever closer to our goal of everything within the formatting pane being conditionally formattable.
Alt text is the first feature that now has conditional formatting. This is really a huge step forward in terms of accessibility. Alt text, which is read off by screen readers whenever the visuals are in focus, can now be dynamically changed based on the current filter state of the visual. You can for example call out in the alt text both the highest and the lowest categories and have confidence it will always reflect the current data in the visual.
Border color is the next feature that has this added capability. Just as you can with backgrounds, you can dynamically adjust the border color based on current filter state. This could be a good option to use if you want to color a visual based on a specific KPI but you felt like the background color was too intense of an option.
Back in June, we added conditional formatting to fill color for gauge, and this month we are expanding that to four other gauge properties as well:
Watch the following video to learn more about the conditional formatting updates:
We’ve heard feedback that end users don’t always know when they can drill through on a visual to another report page. To help with this, we’ve added text to the visual’s tooltip to let them know it’s enabled.
Watch the following video to learn more about the drill through discoverability improvement:
We have two new DAX expressions this month! REMOVEFILTERS is the same as ALL when used inside CALCULATE to remove filters. CONVERT changes the expression to another data type.
The PowerApps marketplace visual allows you to add the power of apps to reports and dashboards. The PowerApps visual brings forms and data editing directly to Power BI by allowing you to embed your own PowerApps right in your report or dashboard. And as of this month, the visual is now generally available and certified, allowing you to use the visual in even more places.
Try out the visual now.
The PostgreSQL connector has been enhanced with query folding over a native query. You can now paste in a native query when connecting to a PostgreSQL database, with folding capable operations applied on top according to normal Import or Direct Query logic.
We’re happy to announce that the DirectQuery support within the PostgreSQL connect that we announced last month is now generally available.
With this month’s release we’re making it possible to export data profiling information by copying it to the clipboard from the Power Query Editor.
The new Copy option is available from all Data Profiling surfaces as described below.
Watch the following video to learn more about copy to clipboard from data profiling:
Template apps are a great way to provide Power BI users with installable, ready to use, actionable – quality applications. These templates contain reports, dashboards, and data models that can connect to the user’s data, creating immediate value and action. Each month, we’re highlighting a recent template app that’s released to the marketplace.
This month template app is one of the more popular template apps Google Analytics report by Havens consulting. The report model was built using the Google Analytics data connector. It can be connected to your own Google Analytics data using your own credentials.
The report itself enables users to do a deep-dive analysis on daily page views with: forecasting and adjustable rolling average, month-over-month traffic gain or loss, top pages visited, traffic source trends over time, and more. Plus, the report contains many great examples of Power BI features and functionality including bookmarks, what-if parameters, advanced conditional formatting, and custom visuals. Overall this report provides a fantastic out-of-the-box Power BI experience and is a great way to supercharge your Google Analytics data.
You can install the app right in the Power BI service and set its parameters to your google analytics view ID. Once you install it, the report is now yours, so you can customize and share as much as you want.
Microsoft partners can create their own template apps to publish in the marketplace. If you’re interested in this, be sure to check out our documentation to get started.
Download this app from AppSource.
This month we’ve done work that gives users of Analysis Services 2019 multi-dimensional users general performance improvements. When using the new Release Candidate of SQL Analysis Services 2019 (see https://powerbi.microsoft.com/en-us/blog/whats-new-for-sql-server-2019-analysis-services-rc1/ for details), you’ll see more performant queries and optimization of measure execution. This improvement, which some may know as “Super DAX”, helps reduce the chattiness between Power BI and Analysis Services. Some other features that come with this is multi-dimensional support for expand/collapse on row headers, cross-highlighting support across different tables, and high density sampling for visuals that support it. You will need to enable this setting in Analysis Services to take advantage of it in Power BI.
This month, we’ve also introduced runtime constant folding to improve query performance for some DirectQuery models. The amount of performance improvements you’ll see will vary depending on the DAX expressions you’re using, the model structure, speed of the DirectQuery source, etc. However, with some early users, we’ve seen some quite significant performance gains.
That’s all for this month! We hope that you enjoy these updates for the month. Please continue sending us your feedback and don’t forget to vote for other features that you’d like to see in the Power BI Desktop. For any preview features, you can always give us your feedback in our active community. You can also download the .pbix file I used, and if you’re looking for a similar design for your reports, I was using the Microsoft layout from PowerBI.Tips.
If you’re deploying Power BI Desktop to your users with a tool that requires a Windows installer file (.msi file) you can extract the .msi file from the Power BI Desktop installer .exe file. You can use third-party tools such as the WiX Toolset to do this.
Note: As a third-party product, WiX Toolset options might change without notice. Please check their documentation for the most up to date information, and contact their user mailing list for help.
For example, run:
Dark.exe C:\PBIDesktop_x64.exe -x C:\output
When installing Power BI Desktop, you can set properties and options with command-line switches. This is especially useful for administrators who manage or facilitate the installation of Power BI Desktop across organizations. These options apply to .msi and .exe installations.
The following properties are specified with a “PROPERTY=VALUE” syntax:
As an example, you’d run it with the following to install without any UI, using the German language: “-quiet LANG=de-DE ACCEPT_EULA=1”