We are excited to bring you a new version of Power BI Report Server this month! With this update, we’re releasing a bevy of features across all aspects of Power BI: hierarchical slicer and decomposition tree visuals, query diagnostics, and more. Read on to get the full details of all the new additions!
Here’s a complete list of the updates:
Reporting
- Hierarchical slicer
- New action types for buttons:
- Buttons now support fill images
- Multi-column sort for tables
- Dual axis for line charts
- Rectangle select for visuals
- Conditional formatting for totals and subtotals in tables and matrices
- Customize theme dialog
- Conditional formatting discoverability
- Decomposition tree
- Filter pane updates:
Modeling
Visualizations
Data Preparation
Other
Reporting
Hierarchical slicer
There’s been a lot of demand for a built-in slicer visual to support hierarchies, so we’re excited to be bringing it to you this release.
When you add multiple fields to the slicer, it’ll appear with a chevron next to the items that can be expanded to show the items in the next level:
Beyond that, the behavior of the slicer hasn’t really changed, so you can still swap between a list and dropdown, and you can also style your slicer how you want.
You can use single-select mode, and you’ll see a semi-selected radio icon for items that have children selected:
New action types for buttons
We’ve added two new action types for buttons:
- Page navigation
- Drill through
Page navigation
Previously, when you want to create a button to navigate to another page you have to go first save a bookmark for your destination page, and then you have to create a button with a bookmark action that references that bookmark you saved. To help reduce the number of steps needed for you to create navigation experiences, in this release we’ve added a built-in page navigation action. With this new action you can quickly build an entire navigation experience without having to save or manage any bookmarks at all!
To set up a page navigation button, create a button with Page navigation as the action type, and select the Destination page:
With this new action you can quickly build a navigation pane and avoid having to edit and manage bookmarks if you want to change which pages to show in your navigation pane.
If you like the navigation experience used above, you can check out Chris Hamill’s blog site, Alluring Analytics, for this template and more reusable Power BI assets.
Drill through
In addition to page navigation, we are also releasing a new drill through action. This action type will allow you to contextually navigate to a drill through page.
This feature can be useful if you want to increase the discoverability of important drill through scenarios in your reports.
In this example, after the user selects Word, the button will be enabled, and they can drill through to the Market Basket Analysis page:
To set up a drill through button, you will first need to have valid drill through page within your report. Then, you will need to create a button with Drill through as the action type and select the drill through page as the Destination.
Because the drill through button has dual states (when drill through is enabled vs. disabled), you will see that there are two tooltip options.
However, feel free to leave them blank to use the auto-generated tooltips, which are based on the destination and drill through field(s).
Here’s an example of the auto-generated tooltip when the button is disabled:
And here’s an example of the auto-generated tooltip when the button is enabled:
However, if you would like to provide custom tooltips, you can always input a static string.
Conditionally formatting button text
You can also use conditional formatting to change the button text based on the selected value of a field. To do this you will need to create a measure that will output the desired string based on the DAX function: SELECTEDVALUE.
Here’s an example measure that will output “See product details” if a single Product is NOT selected; otherwise, it will output “See details for [the selected Product]”:
Once you’ve created this measure, you will select the conditional formatting option for the button text:
Then, you just select the measure you created for the button text:
So, here’s the result when a single product is selected:
Then, here’s the result when either no products are selected, or more than one product is selected:
The button will work like normal drill through, so you can also pass filters on additional fields by cross-filtering the visual(s) which contain the drill through field. For example, using Ctrl + click and cross-filtering, I can pass multiple filters on Store to the drill through page because my selections cross-filter the visual that contains Product (the drill through field):
So, when you invoke the drill through, you will see filters on both Store and Product being passed through:
Since the drill through button is not directly tied to a single visual, if there is ambiguity in your selection, then the button will be disabled.
In this example the button is disabled because there are two visuals that both contain a single-selection on Product, so there is ambiguity on which data point from which visual to tie the drill through action to:
Conditionally setting the drill through destination for the button
You can also use conditional formatting to set the drill through destination based on the output of a measure.
There are some scenarios where you might want the button’s drill through destination to be conditional. Here are some common use cases:
- You only want to enable drill through to a page once a specific condition has been met, else the button is disabled. For example, you want the user to select a single product and a single store before they can drill through to the Market Analysis page, else the button is disabled.
- You want the button to support multiple drill through destinations based on the user’s selection(s). For example, if you have multiple destinations (Market Analysis and Store details) that the user can drill through to, you can have the user select which destination they want to drill through to before the button becomes enabled for that drill through destination.
Conditionally formatting disabled and enabled state tooltips
You can also conditionally format the tooltip for the drill through button when it is enabled or disabled.
This can be particularly useful if you have used conditional formatting to dynamically set the drill through destination and you want the tooltip for the button state to be more informative based on your end user’s selection. Here are some examples:
- You can set the disabled state tooltip to be prescriptive on a case-by-case basis using a custom measure. For example, if you want the user to select a single product and a single store before they can drill through to the Market Analysis page, you can create a measure with the following logic:
- If neither a single product nor store is selected, the measure can return “Select a single product and Ctrl + click to also select single store”
- If a single product has been selected but a single store has not been selected, the measure can return “Ctrl + click to also select a single store”
- Similarly, you can set the enable state tooltip to be specific the user’s selection. For example, if you want the user to know which product and store the drill through page will be filtered to, you can create a measure that will return:
- “Click to drill through to [drill through page name] to see more details on sales for [product name] at [store name] stores.”
Customizing formatting for the disabled state
We’ve also added a lot of new formatting options for the disabled state.
These formatting options include:
- Button text controls: text, color, padding, alignment, size, and font family
- Button fill controls: color, transparency, and *NEW* fill image (more on this in the next section)
- Icon controls: shape, padding, alignment, line color, transparency, and weight
- Outline controls: color, transparency, weight, round edges
Buttons now support fill images
We are happy to announce that all buttons now support fill images. This can be super useful because you can now highly customize the look and feel of your button using fill images while also taking advantage of the built-in button states: default, on hover, on press, and disabled (for drill through).
Multi-column sort for tables
Multi-column sort for tables has been a highly requested feature, so we are super excited to bring it to you this release!
To add more columns to the sort order, Shift + click the column header you would like to add next in the sort order. If you Shift + click a second time on the same column, this will change the sort direction for that column. Furthermore, if you Shift + click a column you have previously added to the sort order, this will move that column to the back of the sort order.
For example, if you click Class and then Shift + click BrandName, then the table is sorted first by Class, then by BrandName:
Next, if you Shift + click on BrandName again, this will change the sort direction for BrandName:
Finally, If you Shift + click on Class again, this will moves it to the back of the sort order, meaning that the table is now sorted by BrandName first, and then Class. This will also reverse the sort direction of Class since the column had been previously selected.
Dual axis for line charts
We are also happy to announce another highly demanded user voice item: you can now include a second Y-axis on your line charts, enabling you to plot two trends with different ranges along the same X-axis progression.
To use the second axis, drag fields into the new secondary Y-axis field well, and they will be drawn into the visual against a Y-axis on the right side of the chart. You can format these lines and this axis in the associated card of the formatting pane. Otherwise, the formatting will mirror that of your primary Y-axis.
Rectangle select for visuals
You can now select your visuals and other report elements by clicking and dragging over the canvas to create a selection box. All visuals that are entirely encapsulated within the rectangle will be selected. If you are holding down Ctrl or Shift (as you would multi-select by Ctrl + clicking individual visuals), further rectangle selects will add visual selections to the current multi-select. If a visual is already selected and is selected again in the rectangle, it toggles off that selection. The rectangle will not select single visuals within groups but can select groups by encapsulating the entire group.
Conditional formatting for totals and subtotals in tables and matrices
We’re delighted to announce that we’re bringing conditional formatting capabilities to totals and subtotals in tables and matrices. This is something many of you have been asking about:
You can now apply conditional formatting rules to your totals and subtotals in table and matrix visuals. You will be able to find this new option in the Apply to dropdown in the conditional formatting advanced controls dialog. This feature will work for setting background color, font color, icons, and web URL.
Keep in mind that you will have to manually set the thresholds or ranges for your conditional formatting rules, and that for matrices, Values will still refer to the lowest visible level of the matrix hierarchy.
Customize theme dialog
You can now customize the most common options of your current theme through a dialog in Power BI Desktop instead of needing to write or modify a JSON file.
You can launch this theming dialog by selecting the Customize current theme option in the theming dropdown.
Whether you are using one of the built-in themes or a custom one, this new theme dialog is pre-populated with the settings from your current theme. From here you can adjust any or all the settings you want and save it back to your report.
The settings that can be customized are divided into different categories, shown in the left tab navigation of the dialog. Under Name and colors, you’ll find:
- Theme colors
- Sentiment colors, used by the waterfall and KPI charts
- Divergent colors, used by the color scales version of conditional formatting
- Advanced color classes, introduced to the theme JSON structure in September
The Text tab lets you customize all the major text classes, which were also introduced back in September.
The Visuals section lets you modify:
- Backgrounds
- Borders
- The visual header formatting (it does not include on/off toggles for each icon)
- Tooltip formatting
The Page settings include wallpaper and page background color and transparency, and lastly, the filter pane section include all the formatting options available to the filter pane itself and the applied and available filter cards.
The color picker for this dialog is also new and improved. In the new color picker you have a slider to change the color you want to use and then a large section you can drag within to pick the right hue of that color. You can also set the color using hexcode or RGB value.
Custom theme section
If you customize a theme in the theme dialog, an option in the dropdown will represent that custom theme. This option will update whenever you customize your theme. If you hover over the icon, a tooltip will show up that explains that the theme is a custom theme.
Keep in mind that the custom theme section currently holds a history of one theme, and if you customize a theme in the theme dialog, those changes will not be saved to your custom theme until you save your theme in the dialog.
Update base theme
If you’re using one of the older Power BI themes (Classic, City Park, Classroom, Color Blind Safe, Electric, High Contrast, Sunset, Twilight) you may notice that text formatting options were disabled. Now, you can upgrade your base theme right in the report themes dialog to activate these text styling options. Keep in mind that you need to save your theme.
Conditional formatting discoverability
After we brought you conditional formatting for a wider array of objects (like visual titles and background colors), you’ve let us know that the menu to access that functionality was difficult to find. That’s why this month we’ll be updating the entry point into the conditional formatting dialog to make it more discoverable. Now, to access the dialog, simply click the fx button to the right of the object you would like to format.
For example, take a look at the visual title text option in the formatting pane:
Clicking the fx button will bring up the conditional formatting dialog. After applying a conditional formatting rule, the input field should now look like this:
Since the title text is no longer static, the input box has been replaced by a button taking you back into the conditional formatting dialog. The eraser button on the right clears the conditional formatting rules you have set on the object.
Decomposition tree
The decomposition tree visual can now be leveraged in Report Server. The decomposition tree lets you visualize data across multiple dimensions. It automatically aggregates data and enables drilling down into your dimensions in any order, providing a rich exploration experience for end users. The decomposition tree in RS supports the latest updates including conditional formatting, tooltips, drill through and a responsive design. The decomposition tree in RS does not support the ability to use automatic AI splits.
Filter pane updates
We’re bringing some big changes to the filter pane experience this release:
- New filter pane experience
- Filter pane search
New filter pane experience
First, we’re modernizing the filter experience, migrating any reports with the old filter pane to the new one.
Be sure to take advantage of all the new capabilities in the modern experience, including:
- Quick filter view
- Lock or hide filters
- Sort the filters (custom or alphabetical sort)
- Rename filters
- Theme and formatting options
- Capture filter pane state in a bookmark
- Show/Hide the filter pane for end-user
- Show/Hide the filter pane while editing
- Allow/Restrict changes to filter type
- Search for filters
To learn more about these capabilities, check out our documentation.
Filter pane search
For a while now, we’ve supported filter card search, which allows you to search across the values within a field.
Now, we are adding support for filter pane search, which will allow you to search across your filter cards.
This feature is super helpful if you have several different filter cards in your filter pane and need help finding the ones of interest.
Additionally, you can format and tweak the search box, just as can with the other elements of the filter pane.
While this filter pane search feature will be on by default, you can also choose to turn it on or off by selecting Enable search for filter pane in the Report settings of the Options dialog.
One last awesome part about the feature is that it was worked on by one of our interns, Parker Robinson. He’ll be returning as a full-time developer, so you’ll see more of Parker’s work in the future!
Modeling
New DAX functions
We’re excited to announce three new DAX functions:
- FirstNonBlankValue
- LastNonBlankValue
- Coalesce
FirstNonBlankValue
If you are familiar with the FirstNonBlank function, FirstNonBlankValue is similar except it will return the first measure value that is not blank. Check out our documentation to learn more.
LastNonBlankValue
If you are familiar with the LastNonBlank function, LastNonBlankValue is similar except it will return the last measure value that is not blank. Check out our documentation to learn more.
Coalesce
The COALESCE function returns the first expression that does not evaluate to BLANK. If all expressions evaluate to BLANK, BLANK is returned.
Syntax
COALESCE(<expression>, <expression>[, <expression>]…)
Parameters
Expression: any DAX expression that returns a scalar expression.
Also note that input expressions may be of different data types.
Return Value
This function will return a scalar value coming from one of the expressions, or BLANK if all expressions evaluate to BLANK.
Example #1:
EVALUATE { COALESCE(BLANK(), 10, DATE(2008, 3, 3)) }
- Returns 10, which is the first expression that does not evaluate to BLANK.
Example #2:
EVALUATE { COALESCE(SUM(FactInternetSales[SalesAmount]), 0) }
- Returns the sum of all values in the SalesAmount column in the FactInternetSales table, or 0.
This can be used to convert BLANK values of total sales to 0.
Standard DAX separators
DAX authoring will now default to using the standard DAX characters of comma as the list separator and period as the decimal symbol. Before this change, Power BI required you to type the list separator and decimal symbols defined by your machine’s Region settings.
Behind the scenes Power BI would convert your localized DAX to the standard separators required by the AS engine before saving. At times, this led to some confusion and made it hard for customers in different regions to share DAX snippets easily. So as an improvement, we now default to the standard DAX separators. If you want to default back to the list separator and decimal symbols defined by your machine’s Region settings, you can find this DAX separators option under Options and settings > Options > Global > Regional settings:
Visualizations
New visualization icons
You may notice that our visualization icons have a new look:
These new icons have a higher color contrast to improve accessibility, and they align with the icons that you may be familiar with in Excel.
Visual drop shadows
We’re adding a new formatting feature to all visuals: drop shadows. Toggling this option on in the formatting pane will display a shadow behind the border of your visual.
In the Shadow formatting card, you can customize the look and feel of each shadow. You can choose between a number of presets, or adjust individual properties of the drop shadow with the Custom setting.
Shadow controls whether the shadow appears in- or outside of the visual border.
Size controls the radius or thickness of the shadow.
Blur controls how gradually the shadow will fade into the background. Keep in mind that this blur extends beyond the range set by Size.
Angle controls where the shadow will show up. The shadow will move clockwise. In other words, 0 degrees is horizontal and to the right; 90 degrees is vertically down.
Distance controls the shadow’s offset from the center of the visual.
Transparency controls the transparency of the shadow.
Data Preparation
Query Diagnostics
Query Diagnostics is a powerful new feature that will allow you to determine what Power Query is doing during authoring and in some refresh workflows in Power BI Desktop.
Query Diagnostics can tell you what sort of operations are being performed and when, what data sources you’re connecting to, the native queries being emitted in certain cases, the time spent on different actions–and much more.
To learn more about this feature, check out the deep-dive release blog we shared in March.
Other
Using default system credentials for web proxy
Previously, web requests issued by Power BI Desktop did not use any web proxy credentials, so if you were using a proxy server, Desktop may not be able to make web requests. With this month’s release, system or network admins can allow users to use default system credentials for web proxy authentication.
The administrators can create a UseDefaultCredentialsForProxy registry keys to enable it, under:
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Microsoft Power BI Desktop]
or
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Power BI Desktop]
Then, the proxy settings, as you’d see defined in Internet Explorer, will get used when Desktop makes web requests as well. As with any change to proxy or credential settings, there are security implications to this, so be sure that your administrators have configured these proxies correctly before turning on this feature.
And that’s all for our May 2020 release of Power BI Report Server! We hope that you enjoy these updates for this release. 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.