Get certified for free when you join Fabric Data Days 2026 and dive into Fabric, Power BI, SQL, AI, and other essential data skills.
Join nowData Days is here! Join us now for 60+ days of learning, challenges, and connection. Learn more
Welcome to the May 2023 Power BI Report Server release! This release has a number of great new features like the Report Server accessibility tagging for screen-reader report consumers, new accessibility for matrix navigation and selection as well as updates to existing features for Modeling, and Reporting. All of which has been inclusively designed for report authors and consumers to gain valuable insights! Please read on for all the details, and feel free to leave your thoughts in the comments below.
Download_Power_BI_Report_Server
Since the announcement of Power BI Report Server for SQL Server 2022, we've continued to innovate, create, and design in a way that gives everyone the ability to achieve more. Designing for inclusivity reflects how people adapt to the world around them. In this new release of PBIRS, weโve done more accessibility work to make sure weโre empowering people to achieve more.
When working with Power BI, consider the different types of users who might interact with your reports. You can create reports that are easily navigated and understood by keyboard or screen reader users. Such reports enable users who might have visual or physical impairments to benefit from your reports. That is why we are announcing two new capabilities for paginated reports.
Accessibility options are new features for report authors. They can be enabled from the Power BI Report Builder authoring tool.
Accessibility options for row properties will allow report authors to tag rows for headers and data cells within a paginated report.
To enable Row properties on a header or data cell, rightโclick on a table row and select Row properties in Power BI Report Builder.
image_row_properties_setting
Choose the Accessibility menu and determine which structure type you wish to overwrite.
image_choose_accessibility_option
Text box properties works similarly. This will allow report authors to tag heading elements to text boxes within a paginated report.
To enable Text box properties, right-click on a text box to select the Accessibility menu and determine which structure type you wish to overwrite.
image_textbox_properties
You can add Heading tags H1-H6 to give the text box a different semantic meaning in output formats like HTML and Accessible PDF.
image_accessibility_options_headings
Report authors and report consumers can now benefit from having accessibility tagging for tables, matrixes and text box properties for paginated reports in just a few clicks. When you add this tagging to a row property and/or a text box property, you provide a better report navigation user experience for report consumers who use screen-readers.
To learn more about accessibility options, please check out our accessibility guidance documentation on authoring and consuming paginated reports.
Don't forget to update to the newest Power BI Report Builder to get accessibility options!
Would you like to know whatโs coming in future capabilities to paginated reports which will be more inclusive and accessible, or would you like to contribute by providing feedback to influence paginated reports product roadmap? Please join our user research panel.
You can access this new capability in the same way other conditional formatting: through the dialog which opens up from selecting an option in the formatting pane. For example, in column charts, you can conditionally format column colors by selecting the fx button in the Columns card of the formatting pane.
Inserting_image
In the dialog, select โRulesโ through the Format style dropdown, then base these rules on a string field and select a summarization. Before, your summarization options were only numeric โ Count and Count (Distinct). Now youโll see First and Last options as well, which will give you strings to write logic around. In the example below, we add a simple rule to check that the value of the string is Audio, and if it is, we color the column red.
Inserting_image
Then we hit OK, and the Audio columns of our visual will now be colored red!
Inserting_image
Weโve added a variety of comparator options to the conditional formatting dialog, including โisโ, โstarts withโ, โends withโ, and more. Keep in mind that these comparisons will check your fields against your inputs for exact character matches, including case-sensitivity.
As always, let us know what you think about the feature and ideas you have to improve this or any other aspects of Power BI!
Inserting_image
Now that you can change image height and width separately, you can adjust your cells to give your tables or matrices a lot more room!
Inserting_image
Graphical_user_interface_application_Description_automatically_generated
All you need to do to hide specific pages is turn the toggle for that page to Off.
Graphical_user_interface_application_Description_automatically_generated
If you have many pages in your report that you want to hide within the Page navigator visual, it can be faster to instead just specify which ones you specifically want to show. To do this, turn the Show all by default toggle to Off in the Options card, which will immediately turn all pages within the Show card to Off.
Graphical_user_interface_Description_automatically_generated_with_medium_confide
From there, you can then go in and just turn back on the specific pages you want visible.
Graphical_user_interface_Description_automatically_generated
Inserting_image
Youโll find them in a new section labeled Accessible themes.
These updates include:
Power_BI_Report_Server_May_2023_Feature_Summary
Learn more about consuming Power BI reports using accessibility features.
Subtitle
You can now turn on a subtitle that can be used to add extra context to your visuals. You'll find the new "Subtitle" toggle in the Title settings card of the formatting pane.
subtitle_toggle_in_settings_card
Divider
To visually separate the visual header from its contents you can add a divider line. You can find the "Divider" option in the Title settings card of the formatting pane, below the new "Subtitle".
divide_option_in_Title_settings_card
Hereโs the visual container with Subtitle and Divider on:
visual_container_with_subtitle_and_divider_on
Spacing
In addition to the Subtitle and Divider on your visual container, you can control the space below each component. You'll find the "Spacing" setting at the bottom of the Title settings card of the formatting pane.
spacing_settings_card_in_title_pane
Padding
You can now control the container's margin to create a negative space making the visuals look more professional and appealing. You'll find this new option in the Properties card of the formatting pane
padding_card_in_properties_pane
The Apply all slicers button can be added in three ways:
Graphical_user_interface_application_Description_automatically_generated
This Apply all slicers button is like the existing single apply button on slicers in that they both do not apply the slicer selections to other visuals until you click the button. Unlike the single apply button on slicers, the Apply all slicers button will allow you to make selections across multiple slicers and then apply them in one click! For the best query reduction experience with slicers, we recommend you use the Apply all slicers instead of the single apply button for slicers. The single apply button for slicers is still available and will continue to work on existing reports. The Optimization preset for Query reduction has been adjusted to no longer add the single apply button for slicers on slicers, and instead recommends the Apply all slicers button.
Graphical_user_interface_text_application_Description_automatically_generated
Graphical_user_interface_text_application_Description_automatically_generated
Additionally, a popular idea on the Power BI Ideas forum is for a Clear all slicers button, which has been also added with the Apply all slicers button! When there are several slicers on a report page and you want a way to quickly clear all their selections, add the Clear all slicers button and your report consumers can do so in one click!
Finally, the Optimize ribbon with Pause visuals, Optimization presets, and the quick access to Apply all slicers button is on by default as a preview feature starting this release.
| Current format pane | New format pane style | With reduce motion setting |
Power_BI_Report_Server_May_2023_Feature_Summary
Power_BI_Report_Server_May_2023_Feature_Summary
This measure-driven data label feature is just a taste of the great improvements that await you in the coming months. Get ready!
image_mobile_formatting_option
Both functions return a single-row table describing the line and additional statistics. The resulting table includes columns such as slopes, intercepts, standard errors, and the coefficient of determination. The equation of the fitted line can be constructed: Y = Slope1 * X1 + Slope2 * X2 + โฆ+ Intercept.
The difference between LINEST and LINESTX is that LINEST expects columns of known X and Y values to be provided, whereas LINESTX expects a table and expressions to be evaluated for each row of the table to obtain the X and Y values.
For the following examples, I use the following data, which includes Sales Amount and gross national product (GNP) per capita:
Table_showing_Country_Sales_Amount_and_GNP_per_capita
In the example below I use LINESTX to predict total sales based on GNP per capita:
LinestX_example = VAR CountryGNP = SUMMARIZE( Sales, 'GNP_Country'[Country], 'GNP_Country'[GNP_Per_Capita], "Total Sales", SUM(Sales[Sales Amount]) )
VAR SalesPrediction = LINESTX( 'CountryGNP', [Total Sales], [GNP_Per_Capita] )
VAR Example_GNP_Per_Capita = 50000
RETURN SELECTCOLUMNS(
SalesPrediction,
[Slope1]
) * Example_GNP_Per_Capita +
SELECTCOLUMNS(
SalesPrediction,
[Intercept]
)
This expression not only leverages LINESTX but also leverages the result to perform a prediction for a fictious country with gross national product per capita of $50,000. The result is a predicted total sales of $17,426,123.29. Of course this is a fabricated scenario and itโs rare to have a fixed value such as the $50,000 above as part of the expression.
I can do the same using LINEST assuming the required tables are all in the model, for example as calculated tables. In this example, I added the following calculated tables:
CountryDetails = SUMMARIZECOLUMNS( 'GNP_Country'[Country], 'GNP_Country'[GNP_Per_Capita], "Total Sales", SUM(Sales[Sales Amount]))
SalesPredictionLINEST = LINEST('CountryDetails'[Total Sales], 'CountryDetails'[GNP_Per_Capita])
Linest_example = VAR Example_GNP_Per_Capita = 50000
RETURN
MAX ( SalesPredictionLINEST[Slope1] ) * Example_GNP_Per_Capita
+ MAX ( SalesPredictionLINEST[Intercept] )
To learn more about these functions, see their documentation pages: LINEST and LINESTX.
These functions return a number indicating the rank for the current context within the specified partition, sorted by the specified order. The difference between RANK and ROWNUMBER is that if there is a tie (i.e., two rows would get the same rank assigned) ROWNUMBER will return an error, whereas RANK will just assign the same RANK multiple times. Notice returning an error is a last resort; ROWNUMBER will try to avoid doing that by finding the least number of additional columns required to uniquely identify every row and append these new columns to the ORDERBY clause. Only after it is unable to uniquely identify every row, ROWNUMBER will return an error.
These functions rely on the ORDERBY and PARTITIONBY functions.
In the following example, we have a list of customers and their birth dates. I have added the following measures to my model:
RankByBirthDateSkip = RANK(SKIP, ALLSELECTED(DimCustomer), ORDERBY(DimCustomer[BirthDate]))
RankByBirthDateDense = RANK(DENSE,ALLSELECTED(DimCustomer), ORDERBY(DimCustomer[BirthDate]))
RowNumberByBirthDate = ROWNUMBER(ALLSELECTED(DimCustomer), ORDERBY(DimCustomer[BirthDate]))
This is the first part of the output:
Power_BI_Report_Server_May_2023_Feature_Summary
All measures here return the same result. However, for customers that share a birthday, the results are different:
Power_BI_Report_Server_May_2023_Feature_Summary
Notice how both Donald Garcia and Kayla Garcia are both on the same date. Using RANK with the ties parameter set to SKIP (the default) assigns them a rank of 41. The same happens when using RANK with the ties parameter set to DENSE. However, notice that the next customer receives a different rank (43 when the ties parameter is set to SKIP and 42 when set to DENSE). By contrast, ROWNUMBER gives Donald and Kayla a unique rank (41 and 42) as it expands the ORDERBY clause to try to unique identify these customers and is successful in doing so.
Read more about RANK and ROWNUMBER in our documentation.
This concludes our May release summary. We hope that you have enjoyed reading about some of the new features we are offering! Please submit your comments below to continue the conversation. As always, we would love to hear from you!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.