You are on page 1of 1550

Contents

Create reports and dashboards in Power BI


Overview
Tour the report editor
What are paginated reports?
Tutorials
Power BI Desktop: From Excel to report
Power BI Desktop: Dimensional model to report
Power BI service: From Excel to report
Explore a Power BI sample
Create a decomposition tree
Online course: Paginated reports
Create a paginated report and upload
Samples
Get samples for Power BI
COVID-19 US sample
Customer Profitability sample
IT Spend Analysis sample
Human Resources sample
Opportunity Analysis sample
Procurement Analysis sample
Retail Analysis sample
Sales and Marketing sample
Supplier Quality Analysis sample
Download the Financial Sample workbook
Concepts
Power BI reports
Power BI modern ribbon
Work with Report view
Filters and highlighting in reports
About accessibility
Certificate revocation
Evaluation configuration settings
Natural language Q&A
Q&A introduction
Q&A data sources
Q&A tooling introduction
Q&A tooling advanced
Q&A limitations
Paginated reports
Report Builder in Power BI
Paginated reports FAQ
Report Builder change log
Sample Power BI paginated reports
Get around Report Design View
Planning a report
Report Builder data
Supported data sources
Support for ODBC data sources
Design tips
Tables, matrixes, lists
Parameters
URL parameters in paginated reports
Expression examples
Report pagination
Previewing reports
Default system credentials for web proxy
Deployment pipelines
Introduction to deployment pipelines
Understand the deployment process
Best practices
Automate deployment pipelines
How-to guides
Power BI reports
Create quick reports in the service
Create a report from Excel in the service
Create a report quickly from a SharePoint list
Enable automatic page refresh
Examine report elements with Performance Analyzer
Add visual elements to reports
Add report tooltips to enhance your visuals
Create modern visual tooltips
Power Automate button visual
Export reports to PDF files
Filters and slicers in reports
Add a filter to a report
Format filters in reports
Types of filters in reports
Slicers
Numeric range slicers
Relative date slicers and filters
Relative time slicers and filters
Create a slicer you can resize
Add multiple fields to a slicer
Apply insights to explain fluctuations in visuals
Use insights to discover how distributions vary
Create buttons
Customize buttons
Create drillthrough buttons
Use the drillthrough feature
Use the cross-report drillthrough feature
Create bookmarks to save and share insights
Work with report themes
Apply grouping and binning
Apply gridlines and snap-to-grid
Apply page display settings in reports
Add a column from an example
Add a custom column
Use inline hierarchy labels
Restrict data access with row-level security
Customize tooltips
Add text boxes, shapes, and smart narratives
Add a hyperlink to a text box
Add hyperlinks to a table
Display images in a table, matrix, or slicer
Display custom format strings
Apply conditional table formatting
Create dynamic, expression-based titles
Sort one column by another
Optimize reports for the mobile apps
Use Visual table and Data point table
Tips and tricks for creating reports
Group visuals in a report
Create report templates
Change report settings
Feature reports on others' Home pages
Let consumers customize visuals
Interact with a report in Editing view
Analyze in Excel
Work with aggregates in the service
Create a QR code for a report
Let users customize visuals
Export a report to Power BI Desktop (Preview)
Publish datasets and reports
Visualizations
Visualization types in Power BI
Add visuals to a report (part 1)
Add visuals to a report (part 2)
Add visuals to reports
Change visuals in reports
Customize visual titles, backgrounds, legends, and more
Show items with no data
Apply data-point limits and strategies by visual type
Display a visual's underlying data
Get started with color formatting and axis properties
Tips and tricks for color formatting
Copy and paste a report visualization
Export the data that was used to create a visualization
Move, resize, and pop out a visual in a report
Change how visuals interact in a report
Customize x-axis and y-axis properties
Basic area charts
Create card visuals (big number tiles)
Combo charts
Doughnut charts
Funnel charts
KPI visuals
Paginated report visuals
Maps
Shape map visuals (preview)
Filled maps (choropleths)
ArcGIS maps
Tips and tricks for map visualizations
Azure Maps in Power BI
Get started with Azure Maps Power BI visual
Layers in the Azure Maps Power BI visual
Add a bubble layer
Add a bar chart layer
Add a reference layer
Add a tile layer
Show real-time traffic
Manage the Azure Maps visual in your organization
Matrix visuals
Power Apps visuals
R visuals
Create Power BI visuals with R
Download and use R-powered Power BI visuals
Radial gauge charts
Ribbon charts
Scatter, bubble, and dot plot charts
High-density line sampling
High-density sampling in scatter charts
Create small multiples
Interact with small multiples
Tables in reports and dashboards
Treemaps
Waterfall charts
Artificial intelligence
Insights(preview)
Transform your data with AI
Use AI Insights in Desktop
Use Cognitive Services
Build a machine learning model
Consume a machine learning model in a report
Use Machine Learning and Cognitive Services with dataflows
Anomaly detection
Decomposition tree visuals
Key influencers visuals
Smart narratives
Python
Run Python scripts
Use Python in Query Editor
Use an external Python IDE
Create visuals with Python
Learn which Python packages are supported
R in Power BI
Run R scripts
Use R in Query Editor
Use an external R IDE
Create visuals with R packages
Quick Insights
Quick Insights
Optimize data for Quick Insights
Types of Quick Insights
View automatic insights for dashboard tiles
Natural language Q&A
Create a Q&A visual in a report
Teach Q&A to understand
Q&A best practices
Use Q&A to explore your data
Create a Q&A visual in a dashboard
Make Excel data work well with Q&A
Create featured questions for Q&A
Use Q&A with live connections
Goals
Get started with goals
Create scorecards and manual goals
Create connected goals
Stay on top of your goals
Dashboards
Intro to dashboards
Dashboard tiles
Create a dashboard from a report
Create a copy of a dashboard
Pin a tile to a dashboard from a report
Pin a tile from one dashboard to another
Pin a tile to a dashboard from Excel
Pin a tile to a dashboard from Q&A
Pin an entire report page to a dashboard
Data alerts in the service
Add an image, text box, video, or code to a dashboard
Edit a tile
Tips for designing a great dashboard
Optimize a dashboard for phones
Create a QR code for a tile
Dashboard data classification
Dashboard themes
Paginated reports
Enter data directly in a paginated report
Edit a paginated report from the Power BI service
Create an embedded data source
Create an embedded dataset
Create a report with a Power BI shared dataset
Create a paginated report from a Power BI report
Create parameters
Set report views
Subreports
Troubleshoot subreports
Pass a report parameter in a URL
Publish a paginated report
Keyboard shortcuts in Power BI Report Builder
PDF Rendering Extension conformance to ISO 14289-1
Deployment pipelines
Get started
Troubleshooting
Accessibility
Design accessible reports
Create reports with accessibility tools
Consume reports with accessibility features
Keyboard shortcuts in Power BI Desktop
Other tasks
Rename content
Set item contacts
Delete almost anything
Tour the report editor in Power BI
9/20/2021 • 6 minutes to read • Edit Online

In Power BI Desktop and in the Power BI service, the report editor is where you design the reports your
consumers see, with charts, tables, maps, and other visuals. It's similar in the two environments. Typically you
start creating a report in Power BI Desktop. Then you publish it to the Power BI service, where you can continue
modifying it. The Power BI service is also where you create the dashboards based on your reports.
After you create your dashboards and reports, you distribute them to your report consumers. Depending on
how you share them, your end users can interact with them in Reading view in the Power BI service, but not edit
them. Read more about what report consumers can do in the Power BI service.
This video shows the report editor in Power BI Desktop. This article also shows the report editor in Power BI
Desktop.

NOTE
This video might use earlier versions of Power BI Desktop or the Power BI service.

https://www.youtube.com/embed/IkJda4O7oGs
In the Power BI service, the report editor is only available in Editing View. To open a report in Editing view, you
must be a report owner or creator, or be a contributor to the workspace that houses the report.

The Power BI report editor is divided into several main sections:


1. The ribbon
2. Report canvas
3. Filters pane
4. Visualizations pane
5. Fields pane
1. The ribbon
The actions available from the ribbon are numerous, with new actions being added all the time. For information
about a particular action, use the Power BI documentation table of contents, or Search box.

2. The report canvas


The report canvas is where your work displays. When you use the Fields, Filters, and Visualizations panes to
create visuals, they are built and displayed on your report canvas. Each tab at the bottom of the canvas
represents a page in the report. Select a tab to open that page.

The report editor panes


Three panes are visible when you first open a report: Filters, Visualizations, and Fields. The first two panes on the
left, Filters and Visualizations, control what your visualizations look like: type, colors, filtering, and formatting.
The last pane on the right, Fields, manages the underlying data being used in the visualizations. The content
displayed in the report editor varies by selections you make in the report canvas.
For example, when you select an individual visual such as this column chart:

The Filters pane displays any filters on the visual, the page, or on all pages. In this case, there are page-level
filters, but no visual-level filters.
The top of the Visualization pane identifies the type of visual in use. In this example, a Clustered column
chart.
The bottom of the Visualization pane has three tabs:
Fields displays the fields in the visual. You may have to scroll down to see all the details. This chart is
using FiscalMonth and Total Sales Variance .

Format To display the format pane for the selected visualization, select the paint roller icon.

Analytics To display the Analytics pane, select the magnifying glass icon.
The Fields pane lists all the available tables in the data model. When you expand a table, you see the fields in
that table. The yellow check mark lets you know that at least one field from that table is in a visualization.
Read on for details about each pane.

3. The Filters pane


Use the Filters pane to view, set, and modify persistent filters to your reports at the page, report, drillthrough,
and visual-level. Yes, you can do ad-hoc filtering on report pages and visuals by selecting elements of the visuals
or by using tools like slicers. Filtering in the Filters pane has the advantage that the state of the filters is saved
with the report.
The Filters pane has another powerful feature: you can filter using a field that isn't already in one of the visuals
in your report. Let me explain. When you create a visualization, Power BI automatically adds all the fields in the
visualization to the visual-level filters area of the Filters pane. If you want to set a visual, page, drillthrough, or
report filter using a field that isn't currently used in the visualization, you just drag it to one of the Filters
buckets.
The new filter experience offers more flexibility. For example, you can format filters to look like the report itself.
You can also lock filters or hide them from your report consumers.

Read more about formatting the Filters pane in the new filter experience.
4. The Visualizations pane
The visualizations pane has four sections itself. We'll start at the top of the pane.

Here's where you select a visualization type. The small icons show the different types of visualizations you can
create. In the image above, the scatter chart is selected. If you start building a visualization by selecting fields
without selecting a visualization type first, Power BI picks the visualization type for you. You can keep Power BI's
selection, or change the type by selecting a different icon.
You can download custom visualizations to Power BI Desktop. Their icons will show up in this pane, too.
Manage the fields in a visualization

The buckets (sometimes called wells) in this pane vary depending on the type of visualization you've selected.
For example, if you've selected a bar chart, you see Axis, Legend, and Values. When you select a field or drag it
onto the canvas, Power BI adds that field to one of the buckets. You can also drag fields from the Fields list
directly into the buckets. Some buckets are limited to certain types of data. For example, Values won't accept
non-numeric fields. So if you drag a Categor y field into the Values bucket, Power BI changes it to Count of
Categor y .
For more information, see Add visualizations to a Power BI report.
This part of the pane also has options to control drillthrough and filter behavior.
Format your visuals
Select the paint roller icon to display the Format pane. The options available depend on the type of visualization
selected.

The formatting possibilities are extensive. To learn more, explore on your own, or visit these articles:
Customizing visualization title, background, and legend
Color formatting
Customizing X-axis and Y-axis properties
Add analytics to your visualizations
Select the magnifying glass icon to display the Analytics pane. The options available depend on the type of
visualization selected.
With the Analytics pane in the Power BI service, you can add dynamic reference lines to visualizations, and
provide focus for important trends or insights. To learn more, see Analytics pane in Power BI Desktop.

5. The Fields pane


The Fields pane displays the tables, folders, and fields in your data that are available for you to use to create
visualizations.
Drag a field onto the page to start a new visualization. You can also drag a field onto an existing visualization
to add the field to that visualization.

When you add a checkmark next to a field, Power BI adds that field to the active (or new) visualization. And it
also decides which bucket to place that field into. For example, should the field be used a legend, axis, or
value? Power BI makes a best-guess and you can move it from that bucket to another if necessary.

Either way, each selected field is added to the Visualizations pane in the report editor.
In Power BI Desktop, you also have options to show/hide fields, add calculations, etc.

The field icons


Power BI uses a number of different icons to indicate the types of fields in a report. When you can recognize
them, you understand better how they act in different visuals. See the Field list icons section of Using the Field
list in Power BI Desktop for a complete list.

Next steps
Create a report
More about reports in the Power BI service, Power BI Desktop, and Power BI mobile apps.
Basic concepts for Power BI designers
More questions? Try the Power BI Community
What are paginated reports in Power BI Premium?
9/23/2021 • 7 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Report Builder ✔
️ Power BI service ❌ Power BI Desktop
Paginated reports are designed to be printed or shared. They're called paginated because they're formatted to fit
well on a page. They display all the data in a table, even if the table spans multiple pages. They're also called
pixel perfect because you can control their report page layout exactly. Power BI Report Builder is the standalone
tool for authoring paginated reports for the Power BI service.
Here are some quick links if you're ready to get started:
Install Power BI Report Builder from the Microsoft Download Center
Tutorial: Create a paginated report
Sample Power BI paginated reports
Looking for information about Report Builder for Power BI Report Server or SQL Server Reporting Services?
See Install Report Builder - Power BI Report Server instead.
Paginated reports often have many pages. For example, this report has 563 pages. Each page is laid out exactly,
with one page per invoice, and repeating headers and footers.

You can preview your report in Report Builder, then publish it to the Power BI service, app.powerbi.com.

Prerequisites
You don't need any license to download Power BI Report Builder from the Microsoft Download Center for
free.
You need a Power BI Pro or Premium Per User (PPU) license to publish a report to the service.
You can publish and share paginated reports in your My Workspace or in other workspaces, as long as the
workspace is in a Power BI Premium capacity and you have write access to the workspace.
A Power BI admin needs to enable paginated reports in the Premium capacities section of the Power BI
admin portal.

Compare Power BI reports and paginated reports


A major advantage of paginated reports is their ability to print all the data in a table, no matter how long. Picture
that you place a table in a Power BI report. You see some of its rows in the table on the page, and you have a
scroll bar to see the rest. If you print that page, or export it to PDF, the only rows that print are the ones you saw
on the page.
Now say you place the same table in a paginated report. When you print it or export it to PDF, the paginated
report has as many pages as necessary to print every row in that table.
In the following video, Microsoft Most Valued Professional - Data Platform Peter Myers, and Principal Program
Manager Chris Finlan demonstrate printing a similar table in the two report formats.

NOTE
This video might use earlier versions of Power BI Report Builder or the Power BI service.

https://www.youtube.com/embed/jXTiYJKw1Rs?list=PL1N57mwBHtN1icIhpjQOaRL8r9G-wytpT
This video is part of an eight-module video-based course, Power BI Paginated Reports in a Day. The course is
designed to empower you as a report author with the technical knowledge required to create, publish, and
distribute Power BI paginated reports.

Create reports in Power BI Report Builder


Paginated reports have their own design tool, Power BI Report Builder. It's a new tool that shares the same
foundation as the tools you'd previously used to create paginated reports for Power BI Report Server or SQL
Server Reporting Services (SSRS). In fact, paginated reports that you create for SSRS 2016 and 2017 or for
Power BI Report Server on-premises, are compatible with the Power BI service. The Power BI service maintains
backwards compatibility so you can move your reports forward, and you can upgrade any previous-version
paginated reports. Not all report features are available at launch. See Limitations and considerations in this
article for details.

Use deployment pipelines with paginated reports


In the Power BI service, you can use the deployment pipeline tool with paginated reports. Deployment pipelines
let you develop and test your Power BI paginated reports before you release them to your users. The tool is a
pipeline with three stages:
Development
Test
Production
Read about how to get started with deployment pipelines in the Power BI service.

Apply sensitivity labels to paginated reports


Sensitivity labels can be applied to paginated reports hosted in the Power BI service. After uploading a
paginated report to the service, you apply the label to the report just as you would to a regular Power BI report.
Read more about sensitivity label support for pagination reports.

Report from a variety of data sources


A single paginated report can have a number of different data sources. It doesn't have an underlying data
model, unlike Power BI reports. For the initial release of paginated reports in the Power BI service, you create
embedded data sources and datasets in the report itself. For now, you can't use shared data sources or shared
datasets. You create reports in Report Builder on your local computer. If a report connects to on-premises data,
after you upload the report to the Power BI service, you need to create a gateway and redirect the data
connection. Here are the data sources you can connect to at this time:
Azure SQL Database and Data Warehouse (via Basic and oAuth)
Azure Analysis Services (via SSO)
SQL Server via a gateway
SQL Server Analysis Services via a gateway
Power BI Datasets
Oracle
Teradata

Design your report


Create paginated reports with matrix, chart, and free -form layouts
Table reports work well for column-based data. Matrix reports, like cross-tab or PivotTable reports, are good for
summarized data. Chart reports present data in a graphical format, and free-form list reports can present
almost anything else, such as invoices.
You can start with one of the Report Builder wizards. The Table, Matrix, and Chart wizards walk you through
creating the embedded data source connection and embedded dataset. Then you drag and drop fields to create
a dataset query, select a layout and style, and customize your report.
With the Map wizard, you create reports that display aggregated data against a geographic or geometric
background. Map data can be spatial data from a Transact-SQL query or an Environmental Systems Research
Institute, Inc. (ESRI) shapefile. You can also add a Microsoft Bing map tile background.
Add more to your report
Modify your data by filtering, grouping, and sorting data, or by adding formulas or expressions. Add charts,
gauges, sparklines, and indicators to summarize data in a visual format. Use parameters and filters to filter data
for customized views. Embed or reference images and other resources, including external content.
Everything in a paginated report, from the report itself to every text box, image, table, and chart, has an array of
properties you can set to make the report look exactly as you want it.

Creating a report definition


When you design a paginated report, you're really creating a report definition. It doesn't contain the data. It
specifies where to get the data, which data to get, and how to display the data. When you run the report, the
report processor takes the report definition you've specified, retrieves the data, and combines it with the report
layout to generate the report. You upload the report definition to the Power BI service, https://app.powerbi.com ,
either to your My Workspace or to a workspace shared with your colleagues. If the report data source is on
premises, after you upload the report, you redirect the data source connection to go through a gateway.
View your paginated report
You view your paginated report in the Power BI service in a browser, and also in the Power BI mobile apps. From
the Power BI service, you can export the report to a number of formats, such as HTML, MHTML, PDF, XML, CSV,
TIFF, Word, and Excel. You can also share it with others.

Create a subscription to your report


You can now set up email subscriptions for yourself and others for paginated reports in the Power BI service. In
general, the process is the same as subscribing to reports and dashboards in the Power BI service. In setting up
subscriptions, you choose how often you want to receive the emails: daily, weekly, or hourly. The subscription
contains a PDF attachment of the entire report output.
For details, see the article Subscribe yourself and others to paginated reports in the Power BI service.

Limitations and considerations


Here are some other features that aren't supported:
Pinning report pages or visuals to Power BI dashboards. You can still pin visualizations to a Power BI
dashboard from an on-premises paginated report on a Power BI Report Server or Reporting Services report
server. See Pin Reporting Services items to Power BI dashboards for more information.
Document maps. They don't render in the Power BI service, but they do when you export a report.
Drillthrough reports. Consider using URL parameters with paginated reports for drillthrough scenarios.
Shared data sources and shared datasets.

Next steps
Install Power BI Report Builder from the Microsoft Download Center
Tutorial: Create a paginated report
Online course: Power BI Paginated Reports in a Day
Sample Power BI paginated reports
Enter data directly in a paginated report
Embed Power BI paginated reports
Tutorial: From Excel workbook to stunning report in
Power BI Desktop
7/8/2021 • 9 minutes to read • Edit Online

In this tutorial, you build a beautiful report from start to finish in 20 minutes!

Your manager wants to see a report on your latest sales figures. They've requested an executive summary of:
Which month and year had the most profit?
Where is the company seeing the most success (by country)?
Which product and segment should the company continue to invest in?
Using our sample finance workbook, we can build this report in no time. Here’s what the final report will look
like. Let’s get started!
In this tutorial, you'll learn how to:
Download sample data two different ways
Prepare your data with a few transformations
Build a report with a title, three visuals, and a slicer
Publish your report to the Power BI service so you can share it with your colleagues

Prerequisites
Before you start, you need to download Power BI Desktop.
If you're planning to publish your report to the Power BI service and you aren't signed up yet, sign up for a
free trial.

Get data
You can get the data for this tutorial using one of two methods.
Get data in Power BI Desktop
When you open Power BI Desktop, select Tr y a sample dataset from the blank canvas.

If you've landed on this tutorial from Power BI Desktop, go ahead and choose Load data .

Download the sample


You can also download the sample workbook directly.
1. Download the Financial sample Excel workbook.
2. Open Power BI Desktop.
3. In the Data section of the Home ribbon, select Excel .
4. Navigate to where you saved the sample workbook, and select Open .

Prepare your data


In Navigator , you have the option to transform or load the data. The Navigator provides a preview of your data
so you can verify that you have the correct range of data. Numeric data types are italicized. If you need to make
changes, transform your data before loading. To make the visualizations easier to read later, we do want to
transform the data now. As you do each transformation, you see it added to the list under Quer y Settings in
Applied Steps
1. Select the Financials table, and choose Transform Data .

2. Select the Units Sold column. On the Transform tab, select Data Type , then select Whole Number .
Choose Replace current to change the column type.
The top data cleaning step users do most often is changing data types. In this case, the units sold are in
decimal form. It doesn’t make sense to have 0.2 or 0.5 of a unit sold, does it? So let’s change that to whole
number.
3. Select the Segment column. We want to make the segments easier to see in the chart later, so let’s
format the Segment column. On the Transform tab, select Format , then select UPPERCASE .

4. Let's shorten the column name from Month Name to just Month . Double-click the Month Name
column, and rename to just Month .

5. In the Product column, select the dropdown and clear the box next to Montana .
We know the Montana product was discontinued last month, so we want to filter this data from our
report to avoid confusion.

6. You see that each transformation has been added to the list under Quer y Settings in Applied Steps .

7. Back on the Home tab, select Close & Apply . Our data is almost ready for building a report.
You see the Sigma symbol in the Fields list? Power BI has detected that those fields are numeric. Power BI
also indicates the date field with a calendar symbol.

Extra credit: Write an expression in DAX


Writing measures and creating tables in the DAX formula language is super powerful for data modeling. There's
lots to learn about DAX in the Power BI documentation. For now, let's write a basic expression and join two
tables.
1. On the Home ribbon, select New measure .

2. Type this expression to add all the numbers in the Units Sold column.

Total Units Sold = SUM(financials[Units Sold])

3. Select the check mark to commit.

4. Now select the Data view on the left.


5. On the Home ribbon, select New table .

6. Type this expression to generate a Calendar table of all dates between January 1, 2013, and December 31,
2014.

Calendar = CALENDAR(DATE(2013,01,01),Date(2014,12,31))

7. Select the check mark to commit.

8. Now select Model view on the left.


9. Drag the Date field from the financials table to the Date field in the Calendar table to join the tables, and
create a relationship between them.

Build your report


Now that you've transformed and loaded your data, it's time to create your report. In the Fields pane on the
right, you see the fields in the data model you created.
Let’s build the final report, one visual at a time.
Visual 1: Add a title
1. On the Inser t ribbon, select Text Box . Type “Executive Summary – Finance Report”.
2. Select the text you typed. Set the font size to 20 and bold.

3. Resize the box to fit on one line.


Visual 2: Profit by Date
Now, you create a line chart to see which month and year had the highest profit.
1. From the Fields pane, drag the Profit field to a blank area on the report canvas. By default, Power BI
displays a column chart with one column, Profit.
2. Drag the Date field to the same visual. If you created a Calendar table in Extra credit: Create a table in
DAX earlier in this article, drag the Date field from your Calendar table instead.
Power BI updates the column chart to show profit by the two years.
3. In the Fields section of the Visualizations pane, select the drop-down in the Axis value. Change Date
from Date Hierarchy to Date .

Power BI updates the column chart to show profit for each month.
4. In the Visualizations pane, change the visualization type to Line char t .

Now you can easily see that December 2014 had the most profit.
Visual 3: Profit by Country
Create a map to see which country had the highest profits.
1. From the Fields pane, drag the Countr y field to a blank area on your report canvas to create a map.
2. Drag the Profit field to the map.
Power BI creates a map visual with bubbles representing the relative profit of each location.
Europe seems to be performing better than North America.
Visual 4: Sales by Product and Segment
Create a bar chart to determine which companies and segments to invest in.
1. Drag the two charts you've created to be side by side in the top half of the canvas. Save some room on
the left side of the canvas.
2. Select a blank area in the lower half of your report canvas.
3. In theFieldspane, select the Sales , Product , and Segment fields.
Power BI automatically creates a clustered column chart.
4. Drag the chart so it's wide enough to fill the space under the two upper charts.

Looks like the company should continue to invest in the Paseo product and target the Small Business and
Government segments.
Visual 5: Year slicer
Slicers are a valuable tool for filtering the visuals on a report page to a specific selection. In this case, we can
create two different slicers to narrow in on performance for each month and year. One slicer uses the date field
in the original table. The other uses the date table you may have created for "extra credit" earlier in this tutorial.
Date slicer using the original table
1. In the Fields pane, select the Date field in the Financials table. Drag it to the blank area on the left of the
canvas.
2. In the Visualizations pane, choose Slicer .
Power BI automatically creates a numeric range slicer.

3. You can drag the ends to filter, or select the arrow in the upper-right corner and change it to a different
type of slicer.
Date slicer using the DAX table
1. In the Fields pane, select the Date field in the Calendar table. Drag it to the blank area on the left of the
canvas.
2. In the Visualizations pane, choose Slicer .
3. In the Fields section of the Visualizations pane, select the drop-down in Fields . Remove Quarter and Day
so only Year and Month are left.

4. Expand each year and resize the visual, so all months are visible.
This is the slicer we'll use in the finished report.
Now if your manager asks to see just 2013 data, you can use either slicer to select years, or specific months of
each year.
Extra credit: Format the report
If you want to do some light formatting on this report to add more polish, here are a few easy steps.
Theme
On the View ribbon, change the theme to Executive .
Spruce up the visuals
Make the following changes on the Format tab in the Visualizations pane.
1. Select Visual 2. In the Title section, change Title text to “Profit by Month and Year” and Text size to 16
pt . Toggle Shadow to On .
2. Select Visual 3. In the Map styles section, change Theme to Grayscale . In the Title section, change title
Text size to 16 pt . Toggle Shadow to On .
3. Select Visual 4. In the Title section, change title Text size to 16 pt . Toggle Shadow to On .
4. Select Visual 5. In the Selection controls section, toggle Show "Select all" option to On . In the Slicer
header section, increase Text size to 16 pt .
Add a background shape for the title
1. On the Inser t ribbon, select Shapes > Rectangle . Place it at the top of the page, and stretch it to be the
width of the page and height of the title.
2. In the Format shape pane, in the Outline section, change Transparency to 100% .
3. In the Fill section, change Fill color to Theme color 5 #6B91C9 (blue).

4. On the Format tab, select Send backward > Send to back .


5. Select the text in Visual 1, the title, and change the font color to White .
Add a background shape for visuals 2 and 3
1. On the Inser t ribbon, select Shapes > Rectangle , and stretch it to be the width and height of Visuals 2 and
3.
2. In the Format shape pane, in the Outline section, change Transparency to 100% .
3. In the Fill section, set the color to White, 10% darker .
4. On the Format tab, select Send backward > Send to back .
Finished report
Here's how your final polished report will look:
In summary, this report answers your manager’s top questions:
Which month and year had the most profit?
December 2014
Which country is the company seeing the most success in?
In Europe, specifically France and Germany.
Which product and segment should the company continue to invest in?
The company should continue to invest in the Paseo product and target the Small Business and
Government segments.

Save your report


On the File menu, select Save .

Publish to the Power BI service to share


To share your report with your manager and colleagues, publish it to the Power BI service. When you share with
colleagues that have a Power BI account, they can interact with your report, but can’t save changes.
1. In Power BI Desktop, select Publish on the Home ribbon.
You may need to sign in to the Power BI service. If you don't have an account yet, you can sign up for a
free trial.
2. Select a destination such as My workspace in the Power BI service > Select .
3. Select Open 'your-file-name' in Power BI .
Your completed report opens in the browser.

4. Select Share at the top of the report to share your report with others.

Next steps
Tutorial: Analyze sales data from Excel and an OData feed
More questions? Try the Power BI Community.
Tutorial: From dimensional model to stunning report
in Power BI Desktop
7/8/2021 • 13 minutes to read • Edit Online

In this tutorial, you start with a dimensional model and build a beautiful report from start to finish in 45
minutes.
You work at AdventureWorks and your manager wants to see a report on your latest sales figures. They have
requested an executive summary of:
Which day had the most sales in February 2019?
Which country is the company seeing the most success in?
Which product category and reseller business types should the company continue to invest in?
Using our AdventureWorks Sales sample Excel workbook, we can build this report in no time. Here’s what the
final report will look like.

Want to see the finished product? You can also download the completed Power BI .pbix file.
Let’s get started!
In this tutorial, you'll learn to:
Prepare your data with a few transformations
Build a report with a title, three visuals, and a slicer
Publish your report to the Power BI service so you can share it with your colleagues

Prerequisites
Before you start, you need to download Power BI Desktop.
If you're planning to publish your report to the Power BI service and you aren't signed up yet, sign up for a
free trial.

Get data: Download the sample


1. Download the AdventureWorks Sales sample Excel workbook.
2. Open Power BI Desktop.
3. In the Data section of the Home ribbon, select Excel .
4. Navigate to where you saved the sample workbook, and select Open .

Prepare your data


In the Navigator pane, you have the option to transform or load the data. The Navigator provides a preview of
your data so you can verify that you have the correct range of data. Numeric data types are italicized. In this
tutorial, we're going to transform the data before loading.
Select all tables, and choose Transform Data . Make sure not to select the sheets (labeled _data).

Check that the data types of the columns match those in the following table. To let Power BI detect data types for
you, select a query, then select one or more columns. On the Transform tab, select Detect Data Type . To make
any changes to the detected data type, on the Home tab, select Data Type , then select the appropriate data type
from the list.
Q UERY C O L UM N DATA T Y P E

Customer CustomerKey Whole Number

Date DateKey Whole Number

Date Date

MonthKey Whole Number

Product ProductKey Whole Number

Standard Cost Decimal Number

List Price Decimal Number

Reseller ResellerKey Whole Number

Sales SalesOrderLineKey Whole Number

ResellerKey Whole Number

CustomerKey Whole Number

ProductKey Whole Number

OrderDateKey Whole Number

DueDateKey Whole Number

ShipDateKey Whole Number

SalesTerritoryKey Whole Number

Order Quantity Whole Number


Q UERY C O L UM N DATA T Y P E

Unit Price Decimal Number

Extended Amount Decimal Number

Unit Price Discount Pct Percentage

Product Standard Cost Decimal Number

Total Product Cost Decimal Number

Sales Amount Decimal Number

SalesTerritory SalesTerritoryKey Whole Number

SalesOrder SalesOrderLineKey Whole Number

Back on the Home tab, select Close & Apply .

Model your data


The data you loaded is almost ready for reporting. Let’s inspect the data model and make some changes.
Select Model View on the left.

Your data model should look like the following image, with each table in a box.
Create relationships
This model is a typical star schema that you might see from data warehouses: It resembles a star. The center of
the star is a Fact table. The surrounding tables are called Dimension tables, which are related to the Fact table
with relationships. The Fact table contains numerical information about sales transactions, such as Sales Amount
and Product Standard Cost. The Dimensions provide context so you can, among other things, analyze:
What Product was sold...
to which Customer..
by which Reseller...
in which Sales Territory.
If you look closely, you notice that all Dimension tables are related to the Fact with a Relationship, except for the
Date table. Let’s add some relationships to Date now. Drag the DateKey from the Date table to OrderDateKey on
the Sales table. You've created a so-called "one-to-many" relationship from Date to Sales, as indicated by the 1
and the asterisk * (many) at the two ends of the line.
The relationship is "one-to-many" because we have one or more Sales orders for a given Date. If each date had
only one Sales order, the relationship would be "one-to-one". The little arrow in the middle of the line indicates
the "cross-filtering direction." It indicates that you can use values from the Date table to filter the Sales table, so
the relationship allows you to analyze when a Sales order was placed.
The Sales table contains more information about dates related to Sales orders, such as Due Date and Ship Date.
Let’s add two more relationships to the Date table by dragging:
DateKey to DueDateKey
DateKey to ShipDateKey

You notice that the first relationship, on OrderDateKey, is active, shown by the continuous line. The other two are
inactive, shown by the dashed lines. Power BI uses the active relationship by default to relate Sales and Date.
Hence, a sum of SalesAmount is calculated by Order Date, not Due Date or Ship Date. You can influence this
behavior. See Extra credit: Write a measure in DAX later in this tutorial.
Hide key columns
The typical star schema contains several keys that hold the relationships between Facts and Dimensions.
Normally we don't want to use any key columns in our reports. Let’s hide the key columns from view, so the
Fields List shows fewer fields, and the data model is easier to use.
Go over all tables and hide any column whose name ends with Key:
Select the Eye icon next to the column and choose Hide in repor t view .

You can also select the Eye icon next to the column in the Properties pane.
Hidden fields have this icon, an eye with a line through it.
Hide these fields.

TA B L E C O L UM N

Customer CustomerKey

Date DateKey

MonthKey

Product ProductKey

Reseller ResellerKey

Sales CustomerKey

DueDateKey

OrderDateKey

ProductKey

ResellerKey

SalesOrderLineKey

SalesTerritoryKey

ShipDateKey

SalesOrder SalesOrderLineKey

SalesTerritory SalesTerritoryKey

Your data model should now look like this data model, with relationships between Sales and all the other tables,
and all the key fields hidden:
Create hierarchies
Now that our data model is easier to consume because of the hidden columns, we can add a few hierarchies to
make the model even easier to use. Hierarchies enable easier navigation of groupings. For example, cities are in
a State or Province, which is in a Country or Region.
Create the following hierarchies.
1. Right-click the highest level, or the least granular, field in the hierarchy and choose Create hierarchy .
2. In the Proper ties pane, set the Name of the hierarchy and set the levels.
3. Then Apply Level Changes .
You can also rename levels in a hierarchy in the Properties pane after you add them. You'll need to rename the
Year and Quarter level of the Fiscal hierarchy in the Date table.
Here are the hierarchies you need to create.

TA B L E H IERA RC H Y N A M E L EVEL S

Customer Geography Country-Region

State-Province

City

Postal Code

Customer

Date Fiscal Year (Fiscal Year)

Quarter (Fiscal Quarter)


TA B L E H IERA RC H Y N A M E L EVEL S

Month

Date

Product Products Category

Subcategory

Model

Product

Reseller Geography Country-Region

State-Province

City

Postal Code

Reseller

SalesOrder Sales Orders Sales Order

Sales Order Line

SalesTerritory Sales Territories Group

Country

Region

Your data model should now look like the following data model. It has the same tables, but each dimension table
contains a hierarchy:
Rename tables
To finish modeling, let's rename the following tables in the Properties pane:

O L D TA B L E N A M E N EW TA B L E N A M E

SalesTerritory Sales Territory

SalesOrder Sales Order

This step is necessary because Excel table names can't contain spaces.
Now your final data model is ready.
Extra credit: Write a measure in DAX
Writing measures in the DAX formula language is super powerful for data modeling. There's lots to learn about
DAX in the Power BI documentation. For now, let's write a basic measure that calculates the total sales amount
by due date on the sales order instead of the default order date. This measure uses the USERELATIONSHIP
function to activate the relationship between Sales and Date on DueDate for the context of the measure. It then
uses CALCULATE to sum the Sales Amount in that context.
1. Select Data View on the left.
2. Select the Sales table in the Fields list.

3. On the Home ribbon, select New Measure .


4. Select or type this measure to calculate the total sales amount by due date on the sales order instead of
the default order date:

Sales Amount by Due Date = CALCULATE(SUM(Sales[Sales Amount]),


USERELATIONSHIP(Sales[DueDateKey],'Date'[DateKey]))

5. Select the check mark to commit.

Build your report


Now that you’ve modeled your data, it's time to create your report. Go to Report View. In the Fields pane on the
right, you see the fields in the data model you created.
Let’s build the final report, one visual at a time.

Visual 1: Add a title


1. On the Inser t ribbon, select Text Box . Type "Executive Summary – Sales Report".
2. Select the text you typed. Set the font size to 20 and Bold .

3. In the Visualizations pane, toggle the Background to Off .


4. Resize the box to fit on one line.
Visual 2: Sales Amount by Date
Next you create a line chart to see which month and year had the highest sales amount.
1. From the Fields pane, drag the Sales Amount field from the Sales table to a blank area on the report
canvas. By default, Power BI displays a column chart with one column, Sales Amount.
2. Drag the Month field from the Fiscal hierarchy in the Date table and drop it on the column chart.
3. In the Fields section of the Visualizations pane, remove the Year and Quar ter fields:

4. In the Visualizations pane, change the visualization type to Area Char t .

5. If you added the DAX measure in the extra credit above, add it to Values as well.
6. Open the Format pane, open Data colors and change the color of Sales Amount by Due Date to a
more contrasting color, such as red.
As you can see, Sales Amount by Due Date trails slightly behind Sales Amount. This proves that it uses
the relationship between the Sales and Date tables that uses DueDateKey.
Visual 3: Order Quantity by Reseller Country
Now we'll create a map to see in which Country the Resellers have the highest Order Quantity Amount.
1. From the Fields pane, drag the Countr y-Region field from the Reseller table to a blank area on your
report canvas. Power BI creates a map.
2. Drag the Order Quantity field from the Sales table and drop it on the map. Make sure Countr y-
Region is in the Location well and Order Quantity in the Size well.
Visual 4: Sales Amount by Product Category and Reseller Business type
Next we create a column chart to investigate which products are sold by what type of reseller business.
1. Drag the two charts you've created to be side by side in the top half of the canvas. Save some room on
the left side of the canvas.
2. Select a blank area in the lower half of your report canvas.
3. In the Fields pane, select Sales Amount from Sales , Product Categor y from Product , and Business

Type from Reseller .


Power BI automatically creates a clustered column chart. Change the visualization to a Matrix :
4. With the matrix still selected, in the Filters pane, under Business Type , Select all , then clear the [Not
Applicable] box.

5. Drag the matrix so it's wide enough to fill the space under the two upper charts.

6. In the Formatting pane for the matrix, open the Conditional formatting section and turn on Data bars .
Select Advanced controls and set a lighter color for the positive bar. Select OK .
7. Increase the width of the Sales Amount column so it covers the whole area by dragging the matrix.

It looks like Bikes have a higher Sales Amount overall and the Value Added Resellers sell the most, closely
followed by Warehouses. For Components, the Warehouses sell more than the Value Added Resellers.
Visual 5: Fiscal calendar slicer
Slicers are a valuable tool for filtering the visuals on a report page to a specific selection. In this case, we can
create a slicer to narrow in on performance for each month, quarter, and year.
1. In the Fields pane, select the Fiscal hierarchy from the Date table and drag it to the blank area on the left
of the canvas.
2. In the Visualizations pane, choose Slicer .
3. In the Fields section of the Visualizations pane, remove Quar ter and Date so only Year and Month are
left.

Now if your manager asks to see data only for a specific month, you can use the slicer to switch between years
or specific months in each year.

Extra credit: Format the report


If you want to do some light formatting on this report to add more polish, here are a few easy steps.
Theme
On the View ribbon, select Themes , and change the theme to Executive .

Spruce up the visuals


Make the following changes on the Format tab in the Visualizations pane.
Visual 2, Sales Amount by Date
1. Select Visual 2, Sales Amount by Date.
2. In the Title section, if you didn't add the DAX measure, change Title text to "Sales Amount by Order
Date".
If you did add the DAX measure, change Title text to "Sales Amount by Order Date / Due Date".
3. Set Text size to 16 pt .
4. Toggle Shadow to On .
Visual 3, Order Quantity by Reseller Countr y
1. Select Visual 3, Order Quantity by Reseller Country.
2. In the Map styles section, change Theme to Grayscale .
3. In the Title section, change Title text to "Order Quantity by Reseller Country".
4. Set Text size to 16 pt .
5. Toggle Shadow to On .
Visual 4, Sales Amount by Product Categor y and Reseller Business Type
1. Select Visual 4, Sales Amount by Product Category and Reseller Business Type.
2. In the Title section, change Title text to "Sales Amount by Product Category and Reseller Business Type".
3. Set Text size to 16 pt .
4. Toggle Shadow to On .
Visual 5, Fiscal calendar slicer
1. Select Visual 5, Fiscal calendar slicer.
2. In the Selection controls section, toggle Show "Select all" option to On .
3. In the Slicer header section, set Text size to 16 pt .
Add a background shape for the title
1. On the Inser t ribbon, select Shapes > Rectangle .
2. Place it at the top of the page, and stretch it to be the width of the page and height of the title.
3. In the Format shape pane, in the Line section, change Transparency to 100% .
4. In the Fill section, change Fill color to Theme color 5 #6B91C9 (blue) .
5. On the Format tab, select Send backward > Send to back .
6. Select the text in Visual 1, the title, and change Font color to White .

Finished report
Select FY2019 in the slicer.

In summary, this report answers your manager’s top questions:


Which day had the most sales in February 2019? February 25, with a sales amount of $253,915.47.
Which country is the company seeing the most success in? In the United States, with an order quantity of
132,748.
Which product category and reseller business types should the company continue to invest in? The
company should continue to invest in the Bikes category and the Value Added Reseller and Warehouse
reseller businesses.

Save your report


On the File menu, select Save .

Publish to the Power BI service to share


To share your report with your manager and colleagues, publish it to the Power BI service. When you share with
colleagues that have a Power BI account, they can interact with your report, but can’t save changes.
1. In Power BI Desktop, on the Home ribbon select Publish .
2. You may need to sign in to the Power BI service. If you don't have an account yet, sign up for a free trial.
3. Select a destination such as My workspace in the Power BI service > Select .
4. Select Open 'your-file-name' in Power BI . Your completed report opens in the browser.
5. Select Share at the top of the report to share your report with others.

Next steps
Download the completed Power BI .pbix file
Learn more about DAX and data modeling in Power BI Desktop
More questions? Try the Power BI Community
Tutorial: From Excel workbook to a report in the
Power BI service to Microsoft Teams
9/15/2021 • 5 minutes to read • Edit Online

Your manager wants to see a report on your latest sales and profit figures by the end of the day. But the latest
data is in files on your laptop. In the past, it’s taken hours to create a report, and you’re beginning to feel
anxious.
No worries. With Power BI, you can create a stunning report and share it in Microsoft Teams in no time!

In this tutorial, we upload an Excel file, create a new report, and share it with colleagues in Microsoft Teams, all
from within Power BI. You'll learn how to:
Prepare your data in Excel.
Download sample data.
Build a report in the Power BI service.
Pin the report visuals to a dashboard.
Share a link to the dashboard.
Share the dashboard in Microsoft Teams

Prerequisites
Sign up for the Power BI service.
Download the Financial Sample workbook and save it your computer or to OneDrive for Business.

Prepare data in Excel


Let’s take a simple Excel file as an example.
1. Before you can load your Excel file into Power BI, you must organize your data in a flat table. In a flat
table, each column contains the same data type; for example, text, date, number, or currency. Your table
should have a header row, but not any columns or rows that display totals.

2. Next, format your data as a table. In Excel, on the Home tab, in the Styles group, select Format as Table .
3. Select a table style to apply to your worksheet.
Your Excel worksheet is now ready to load into Power BI.

Upload your Excel file to the Power BI service


The Power BI service connects to many data sources, including Excel files that live on your computer.
1. To get started, sign in to the Power BI service. If you haven’t signed up, you can do so for free.
2. In My workspace , select New > Upload a file .
3. Select Local File , browse to where you saved the Financial Sample Excel file, and select Open .
4. On the Local File page, select Impor t .
Now you have a Financial Sample dataset. Power BI also automatically created a blank dashboard. If you
don't see the dashboard, refresh your browser.

5. You want to create a report. Still in My workspace , select New > Repor t .
6. In the Select a dataset to create a repor t dialog box, select your Financial Sample dataset >
Create .

Build your report


The report opens in Editing view and displays the blank report canvas. On the right are the Visualizations ,
Filters , and Fields panes. Your Excel workbook table data appears in the Fields pane. At the top is the name of
the table, financials . Under that, Power BI lists the column headings as individual fields.
You see the Sigma symbols in the Fields list? Power BI has detected that those fields are numeric. Power BI also
indicates a geographic field with a globe symbol.
1. To have more room for the report canvas, select Hide the navigation pane , and minimize the Filters
pane.

2. Now you can begin to create visualizations. Let's say your manager wants to see profit over time. In the
Fields pane, drag Profit to the report canvas.
By default, Power BI displays a column chart with one column.

3. Drag Date to the report canvas.


Power BI updates the column chart to show profit by date.

December 2014 was the most profitable month.

TIP
If your chart values don't look as you expect, check your aggregations. For example, in the Values well, select the
Profit field you just added and ensure the data is being aggregated the way you'd like it. In this example, we're
using Sum .

Create a map
Your manager wants to know which countries are the most profitable. Impress your manager with a map
visualization.
1. Select a blank area on your report canvas.
2. From the Fields pane, drag the Countr y field to your report canvas, then drag the Profit field to the
map.
Power BI creates a map visual with bubbles representing the relative profit of each location.

Looks like the European countries are outperforming the North American countries.
Create a visual showing sales
What about displaying a visual showing sales by product and market segment? Easy.
1. Select the blank canvas.
2. In the Fields pane, select the Sales , Product , and Segment fields.
Power BI creates a clustered column chart.
3. Change the type of chart by choosing one of the icons in the Visualizations menu. For instance, change
it to a Stacked column char t .
4. To sort the chart, select More options (...) > Sor t by .
Spruce up the visuals
Make the following changes on the Format tab in the Visualizations pane.

1. Select the Profit by Date column chart. In the Title section, change Text size to 16 pt . Toggle Shadow
to On .
2. Select the Sales by Product and Segment stacked column chart. In the Title section, change title Text
size to 16 pt . Toggle Shadow to On .
3. Select the Profit by Countr y map. In the Map styles section, change Theme to Grayscale . In the Title
section, change title Text size to 16 pt . Toggle Shadow to On .
Pin to a dashboard
Now you can pin all of your visuals to the blank dashboard that Power BI created by default.
1. Hover over a visual and select Pin visual .

2. You need to save your report before you can pin a visual to the dashboard. Give your report a name and
select Save .
3. Pin each visual to the dashboard that Power BI created, Financial Sample.xlsx .
4. When you pin the last visual, select Go to dashboard .
5. Power BI added a placeholder Financial Sample.xlsx tile to the dashboard automatically. Select More
options (...) > Delete tile .
6. Rearrange and resize the tiles any way you want.
The dashboard and report are ready.

Share a link to your dashboard


Now it's time to share your dashboard with your manager. You can share your dashboard and underlying report
with any colleague who has a Power BI account. They can interact with your report, but can't save changes. If you
allow it, they can reshare with others, or build a new report based on the underlying dataset.
1. To share your report, at the top of the dashboard, select Share .

2. In the Share dashboard screen, enter the email addresses of the recipients in the Enter a name or
email addresses field, and add an optional message.
3. Select the option to Send an email notification . Decide which of these other options you want, if any:
Allow recipients to share this dashboard
Allow recipients to build content with the data associated with this dashboard

4. Select Grant access .

Share to Microsoft Teams


You can also share reports and dashboards directly to your colleagues in Microsoft Teams.
1. To share in Teams, at the top of the dashboard, select Chat in Teams .

2. Power BI displays the Share to Teams dialog. Enter the name of a person, group, or channel and select
Share .

3. The link appears in the Posts for that person, group, or channel.

Next steps
Now that you've created a basic report in the Power BI service, how about creating a report in Power BI
Desktop? Try the tutorial, From Excel workbook to stunning report in Power BI Desktop.
More questions? Try the Power BI Community.
Tutorial: Explore a Power BI sample
8/5/2021 • 6 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Desktop ✔
️ Power BI service
Power BI has several samples that you can either download in the Power BI service or open in Power BI Desktop.
In a built-in sample, the report is bundled with a dashboard and dataset, and built into the Power BI service. The
.pbix file that you can view in Power BI Desktop contains a report and dataset.

This tutorial shows you how to:


Sign up for a Power BI license, if you don't have one.
Import the Retail Analysis sample and add it to the Power BI service.
Explore the sample in the service.
Create a visual by using natural language in Q&A.
Generate quick insights based on the dataset.
Open the Retail Analysis sample .pbix file in Power BI Desktop.
If you'd like more background information, see Sample datasets for Power BI. In that article you learn about how
to get the samples, where to save them, and how to use them.
If you want to familiarize yourself with the built-in sample in this tutorial and its scenario, see Retail Analysis
sample for Power BI: Take a tour before you begin.

Prerequisites
To download a sample in the Power BI service, you can sign up for a free or trial license.
To open a Power BI .pbix file, you need to get Power BI Desktop. It's a free download.

Import the sample in the Power BI service


1. Open the Power BI service (app.powerbi.com), sign in, and open the workspace where you want to save
the sample.
If you don't have a Power BI Pro or Premium Per User (PPU) license, you can save the sample to your My
Workspace.
2. Select Get data at the bottom of the nav pane.

If you don't see Get Data , expand the nav pane by selecting the following icon at the top of the pane.

3. On the Get Data page that appears, select Samples .


4. Select Retail Analysis Sample > Connect .

What was imported?


With the built-in samples, when you select Connect , Power BI gets a copy of that built-in sample and stores it
for you in the cloud.
1. Power BI creates the new dashboard, report, and dataset in your workspace.

2. On the Content tab, you see the dashboard and the report, both named Retail Analysis Sample.
3. On the Datasets + dataflows tab, you see the dataset, also named Retail Analysis Sample.

Explore your new content


Now explore the dashboard, dataset, and report on your own. There are many different ways to navigate to your
dashboards, reports, and datasets.
If a tile was created by using Power BI Q&A, the Q&A page opens when you select it.
If a tile was pinned from a report, the report opens.
If a tile was pinned from Excel, Excel Online will open inside of Power BI.
The first two of these methods are described in the following procedures.
Explore in Q&A
The Q&A feature in Power BI lets you explore your data in your own words, asking questions using natural
language.
1. From your workspace, select the Retail Analysis Sample dashboard to open it.
The dashboard opens, with a variety of visualization tiles.
2. Select the This Year's Sales, New & Existing Stores tile, of $22 M .
This tile was created with Power BI Q&A, so when you select the tile, Q&A opens again.

3. In the top bar, next to this year's sales , start typing "by store". Q&A creates a bar chart of values for
each store.
4. In the upper-right corner, select Pin visual .
5. Pin your new visual to your existing dashboard, Retail Analysis Sample .
6. Select Exit Q&A . Power BI added your new tile at the end of the dashboard. You can resize it and drag it
anywhere you want on the dashboard. You see how the other tiles move to make way for it.

Explore the report


1. Select one of the other tiles in the dashboard to open the underlying report. In this example, we'll select
the area chart, This Year's Sales, Last Year's Sales by Fiscal Month .
The report opens to the page that contains the area chart you selected; in this case, the District Monthly
Sales page of the report.

2. Check out Dive deeper into the data in the article "Retail Analysis sample for Power BI: Take a tour" for
suggestions on exploring the report.
Explore quick insights
One easy way of exploring a dataset is to run quick insights.
1. On the Datasets + dataflows tab, select More options (...) next to the Retail Analysis Sample
dataset, then choose Get quick insights .
2. When the insights are ready, select View insights .
3. If an insight is interesting, pin it to the dashboard.
Create a report from the dataset
On the Datasets tab, you have several options for exploring your dataset. However, you can't view the rows and
columns of your data, as you can in Power BI Desktop or Excel. One way to explore the dataset is to create your
own visualizations and reports from scratch.

1. Select More options (...) next to the Retail Analysis Sample dataset, then choose Create repor t .
The dataset opens in report editing mode.

2. Now you can create any visuals you want, or you can try the tutorial Create a decomposition tree with a
Power BI sample, which uses the same data.

Download the sample in Power BI Desktop


When you first open the sample .pbix file in Power BI Desktop, it displays in Report view where you can explore
and modify existing report pages and add new ones, with your own visualizations. Report view provides almost
the same design experience as report Editing view in the Power BI service. You can move visualizations around,
copy and paste, change the kind of visualization, and so on.
Unlike editing a report in the Power BI service, in Power BI Desktop you can also work with your queries and
model your data to ensure your data supports the best insights in your reports. You can then save your Power BI
Desktop file wherever you like, whether it's to your local drive or to the Power BI service.
1. Download the Retail Analysis sample .pbix file and open it in Power BI Desktop.

2. The file opens in Report view. Notice the four tabs at the bottom of the report editor; these tabs represent
the four pages in this report. For this example, the New Stores page is currently selected.

3. For a deep dive into the report editor, see Take a tour of the report editor.

What's in your report?


When you download a sample .pbix file, you've downloaded not just a report but also the underlying dataset.
When you open the file, Power BI Desktop loads the data with its associated queries and relationships. You can
view the underlying data and relationships, but you can't view the underlying queries in the Query Editor.

1. Switch to Data view by selecting the data icon .

In Data view, you can inspect, explore, and understand data in your Power BI Desktop model. It's different
from how you view tables, columns, and data in the Query Editor. The data in Data view is already loaded
into the model.
When you're modeling your data, sometimes you want to see what's actually in the rows and columns of
a table, without creating a visual on the report canvas. This is especially true when you're creating
measures and calculated columns, or you need to identify a data type or data category.

2. Switch to Model view by selecting the following icon: .


Model view shows all of the tables and columns in your model, and the relationships between them.
From here you can view, change, and create relationships.

Next steps
This environment is a safe one to play in, because you can choose not to save your changes. And if you do save
them, you can always select Get data for a new copy of this sample.
We hope this tour has shown how Power BI dashboards, datasets, relationships, and reports can provide
insights into sample data. Now it's your turn; connect to your own data. With Power BI, you can connect to a
wide variety of data sources. To learn more, see Get started with the Power BI service and Get started with Power
BI Desktop.
Samples for the Power BI service
More questions? Try the Power BI Community
Tutorial: Create a decomposition tree with a Power
BI sample
8/5/2021 • 3 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Desktop ✔
️ Power BI service
In this tutorial, you start with a built-in Power BI sample dataset and create a report with a decomposition tree,
an interactive visual for ad hoc exploration and conducting root cause analysis. It is also an artificial intelligence
(AI) visualization, so you can ask it to find the next category, or dimension, to drill down into based on certain
criteria.

This tutorial shows you how to:


Sign up for a Power BI license, if you don't have one.
Import the Retail Analysis sample and add it to the Power BI service.
Create a decomposition tree.
Do root cause analysis on your data in the decomp tree in Edit mode.
Save the report and continue root cause analysis in reading view.
If you want to familiarize yourself with the built-in sample in this tutorial and its scenario, see Retail Analysis
sample for Power BI: Take a tour before you begin.

Prerequisites
To download a sample in the Power BI service, you can sign up for a free or trial license.

Import the sample in the Power BI service


1. Open the Power BI service (app.powerbi.com), sign in, and open the workspace where you want to save
the sample.
If you don't have a Power BI Pro or Premium Per User (PPU) license, you can save the sample to your My
Workspace.
2. Select Get data at the bottom of the nav pane.

If you don't see Get Data , expand the nav pane by selecting the following icon at the top of the pane.

3. On the Get Data page that appears, select Samples .


4. Select Retail Analysis Sample > Connect .
Create a report from the dataset
On the Datasets + dataflows tab, you have several options for exploring your dataset. In this tutorial, you're
going to explore the dataset is by creating your own report from scratch.

1. Select More options (...) > Create repor t .

The dataset opens in report editing mode.


Create a decomp tree
Let's add a decomposition tree, or decomp tree, to our report for ad hoc analysis.
1. In the Visualizations pane, select the Decomposition tree icon.

2. Drag the edge so it fills most of the page. Decomposition trees can get wide.
3. Decomp trees analyze one value by many categories, or dimensions. Expand Sales > This Year Sales
and select Value . Power BI adds Value to the Analyze box.

4. Next, select dimension fields and add them to the Explain by box. Add as many as you want, in any
order. You can use them or not, in any order, in the decomp tree. We added:
District Manager
Category
FamilyName
Segment
Chain
PostalCode
Store Type
Territory

Analyze in the decomp tree


Now comes the ad hoc analysis part.
1. Select the plus sign (+) next to This Year Sales and select High value . That means Power BI will use
artificial intelligence to analyze all the different categories in the Explain by box, and pick the one to drill
into to get the highest value of the measure being analyzed.
Power BI selects Store type .
2. Keep selecting High value until you have a decomp tree that looks like this one.

Or select other values yourself, and see what you end up with.
3. You can delete levels by selecting the X in the heading.
4. Save your report. Now anyone who views your report can interact with the decomp tree, starting from
the first This Year Sales and choosing their own path to follow.

Learn about everything else you can do with decomp trees in Create and view decomposition tree visuals in
Power BI.

Next steps
Tutorial: Explore a Power BI sample
More questions? Try the Power BI Community
Power BI Paginated Reports in a Day course
9/20/2021 • 3 minutes to read • Edit Online

The Power BI Paginated Repor ts in a Day video-based course empowers you as a report author with the
technical knowledge required to create, publish, and distribute Power BI paginated reports. It comprises almost
4 hours 20 minutes of viewable content—available on demand, and is free of charge. There's also a self-study kit
that you can download and use to complete eight hands-on labs.
Specifically, the course targets:
Power BI report authors
Excel analysts
Report authors with SQL Server Reporting Services (SSRS) skills, requiring a refresher
Crystal Reports authors
After you complete the course, you'll know how to:
Design report layouts
Connect to data sources to retrieve report data
Work with parameters
Visualize report data
Add interactive features
Publish, consume, deliver, and embed paginated reports
Watch the welcome and introduction video to start the course.

NOTE
This video might use earlier versions of Power BI Desktop or the Power BI service.

Course outline
The course of 25 videos is organized into eight modules. We recommend you watch the videos in the recorded
sequence, starting with video 01 and ending with video 25.
Introduction
Video 01: Welcome and Course Introduction
Module 01: Power BI Repor ting
Video 02: Power BI Reporting - Part 1
Video 03: Power BI Reporting - Part 2
Module 02: Designing Repor t Layouts
Video 04: Designing Report Layouts - Part 1
Video 05: Designing Report Layouts - Part 2
Video 06: Designing Report Layouts - Part 3
Video 07: Designing Report Layouts - Part 4
Module 03: Retrieving Repor t Data
Video 08: Retrieving Report Data - Part 1
Video 09: Retrieving Report Data - Part 2
Video 10: Retrieving Report Data - Part 3
Module 04: Working with Parameters
Video 11: Working with Parameters - Part 1
Video 12: Working with Parameters - Part 2
Video 13: Working with Parameters - Part 3
Module 05: Visualizing Repor t Data
Video 14: Visualizing Report Data - Part 1
Video 15: Visualizing Report Data - Part 2
Video 16: Visualizing Report Data - Part 3
Video 17: Visualizing Report Data - Part 4
Module 06: Adding Interactive Features
Video 18: Adding Interactive Features - Part 1
Video 19: Adding Interactive Features - Part 2
Module 07: Beyond Repor t Development
Video 20: Beyond Report Development - Part 1
Video 21: Beyond Report Development - Part 2
Module 08: Bonus Content
Video 22: Bonus Content: Review
Video 23: Bonus Content: Evolution of Paginated Reporting
Video 24: Bonus Content: Lowering the Barrier to Entry
Video 25: Bonus Content: December 2020 Update

Self-study kit
You can download and set up a self-study kit, which consists of the presentation content and eight hands-on
labs:
1. Use this link to download the self-study kit (.zip) locally to your PC (Windows 7, or later).
2. Open the file properties of the zip file, and check "unblock" (Windows may flag the file as potentially
untrusted).
3. Create a root course folder. We recommend you name it something like "C:\Training". Remember this
location, because you'll need to access the course files during the labs. All lab documents refer to this location
as <CourseFolder> .
4. Extract the PowerBIPRIAD-Student.zip file contents to your root course folder.
5. In the <CourseFolder>\PowerBIPRIAD folder, open the ReadMe.txt file and work through the setup
instructions.
TIP
The ReadMe.txt file, lab documents and presentation file (PDF) are available in English and also the following eight
languages:
German (de-DE)
Spanish (es-ES)
French (fr-FR)
Italian (it-IT)
Japanese (ja-JP)
Korean (ko-KR)
Portuguese, Brazilian (pt-BR)
Chinese, simplified characters (zh-CN)

NOTE
You're responsible for having your own Power BI account. If you don't already have one, see Sign up for Power BI as an
individual.
You must sign in to Power BI to publish a Power BI Desktop file to a workspace. The publication results in a dataset that's
used as a report data source. You don't need a Power BI Pro license or a Power BI Premium subscription to use a dataset
as a report data source.
Some lab tasks involve publishing your paginated report to a workspace. You can only open a paginated report when it's
been saved to a workspace on a capacity, which has the paginated reports workload enabled. If you don't have access to
a suitable workspace, the lab will provide you with a link to watch a video that demonstrates report publication instead.

Instructor kit
Use this link to download the instructor kit (.zip) locally to your PC.

Next steps
For more information related to this article, check out the following resources:
Tutorial: Create a paginated report and upload it to the Power BI service
Questions? Try asking the Power BI Community
Suggestions? Contribute ideas to improve Power BI
Tutorial: Create a paginated report and upload it to
the Power BI service
8/4/2021 • 9 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Report Builder ✔
️ Power BI service ❌ Power BI Desktop
In this tutorial, you connect to a sample Azure SQL database. Then you use a wizard in Power BI Report Builder
to create a paginated report with a table that wraps to multiple pages. Then you upload the paginated report to
a workspace in a Premium capacity in the Power BI service.

Here are the steps you complete in this tutorial:


Create an Azure sample database.
Create a matrix in Power BI Report Builder with the help of a wizard.
Format the report with title, page numbers, and column headings on each page.
Format the currency.
Upload the report to the Power BI service.
If you don't have an Azure subscription, create a free account before you begin.

Prerequisites
Here are the prerequisites for creating the paginated report:
Install Power BI Report Builder from the Microsoft Download Center.
Follow the quickstart Create an Azure SQL database sample in the Azure portal. Copy and save the value
in the Ser ver name box on the Over view tab. Remember the user name and password you created in
Azure.
Here are the prerequisites for uploading your paginated report to the Power BI service:
You need a Power BI Pro license or Premium Per User (PPU) license.
You need a workspace on the service in a Power BI Premium capacity. It has a diamond icon next to the
workspace name.

Create the matrix with a wizard


1. Start Power BI Report Builder from your computer.
The Getting Star ted dialog box opens.

2. In the left pane, verify that New Repor t is selected, and in the right pane, select Table or Matrix
Wizard .
3. In the Choose a dataset page, select Create a dataset > Next .

4. In the Choose a connection to a data source page, select New .


The Data Source Proper ties dialog box opens.
5. You can name a data source anything you want, using characters and underscores. For this tutorial, in the
Name box, type MyAzureDataSource .
6. In the Select connection type box, select Microsoft Azure SQL Database .
7. Select Build next to the Connection string box.

8. In Azure: Go back to the Azure portal and select SQL databases .


9. Select the Azure SQL database you created in the quickstart "Create an Azure SQL database sample in the
Azure portal" in the Prerequisites section of this article.
10. On the Over view tab, copy the value in the Ser ver name box.
11. In Repor t Builder : In the Connection Proper ties dialog box, under Ser ver name paste the server
name you copied.
12. For Log on to the ser ver , make sure Use SQL Ser ver Authentication is selected, then type the user
name and password you created in Azure for the sample database.
13. Under Connect to a database , select the drop-down arrow and select the database name you created
in Azure.

14. Select Test Connection . You see the Test results message that Test connection succeeded .
15. Select OK > OK .
Now in the Connection string box, Report Builder displays the connection string you just created.

16. Select OK .
17. In the Choose a connection to a data source page, you see "(in this Report)" under the data source
connection you just created. Select that data source > Next .

18. Type the same user name and password in the box.
19. In the Design a quer y page, expand SalesLT, expand Tables, and select these tables:
Address
Customer
Product
ProductCategory
SalesOrderDetail
SalesOrderHeader
Because Relationships > Auto Detect is selected, Report Builder detects the relationships between
these tables.
20. Select Run Quer y . Report Builder displays the Quer y results .

21. Select Next .


22. In the Choose a dataset page, choose the dataset you just created > Next .

23. In the Arrange fields page, drag these fields from the Available fields box to the Row groups box:
CompanyName
SalesOrderNumber
Product_Name
24. Drag these fields from the Available fields box to the Values box:
OrderQty
UnitPrice
LineTotal
Report Builder automatically made the fields in the Values box sums.
25. In the Choose the layout page, keep all the default settings, but clear Expand/collapse groups . In
general, the expand/collapse groups feature is great, but this time you want the table to wrap to multiple
pages.
26. Select Next > Finish . The table is displayed on the design surface.

What you've created


Let's pause for a moment to look at the results of the wizard.

1. In the Report Data pane, you see the embedded Azure data source and the embedded dataset based on it,
both of which you created.
2. The design surface is about 6 inches wide. On the design surface, you see the matrix, displaying column
headings and placeholder values. The matrix has six columns and appears to be only five rows tall.
3. Order Qty, Unit Price, and Line Total are all sums, and each row group has a subtotal.
You still don't see actual data values. You need to run the report to see them.
4. In the Properties pane, the selected matrix is called Tablix1. A tablix in Report Builder is a data region that
displays data in rows and columns. It can be either a table or a matrix.
5. In the Grouping pane, you see the three row groups you created in the wizard:
CompanyName
Sales Order
Product Name
This matrix doesn't have any column groups.
Run the report
To see the actual values, you need to run the report.
1. Select Run in the Home toolbar.
Now you see the values. The matrix has many more rows than you saw in Design view! Note that Report
Builder says it's page 1 of 2? . Report Builder loads the report as quickly as possible, so it only retrieves
enough data for a few pages at a time. The question mark indicates that Report Builder hasn't loaded all
the data yet.

2. Select Print Layout . The report will be in this format when you print it. Report Builder now knows the
report has 33 pages, and has automatically added a date and time stamp in the footer.

Format the report


Now you have a report with a matrix that wraps to 33 pages. Let's add some other features and improve how it
looks. You can run the report after every step, if you want to see how it's coming along.
On the Run tab of the Ribbon, select Design , so you can continue modifying it.
Set page width
Typically a paginated report is formatted for printing, and a typical page is 8 1/2 X 11 inches.
1. Drag the ruler to make the design surface 7 inches wide. The default margins are 1 inch on each side, so
the side margins need to be narrower.
2. Click in the gray area around the design surface to show the Repor t properties.
If you don’t see the Properties pane, click the View tab > Proper ties .
3. Expand Margins and change Left and Right from 1in to 0.75in.

Add a report title


1. Select the words Click to add title at the top of the page, then type Sales by Company .
2. Select the title text, and in the Properties pane under Font , change Color to Blue .
Add a page number
You noticed the report has a date and time stamp in the footer. You can add a page number to the footer, too.
1. At the bottom of the design surface, you see [&ExecutionTime] on the right in the footer.
2. In the Report Data pane, expand the Built-in Fields folder. Drag Page Number to the left side of the
footer, at the same height as [&ExecutionTime].
3. Drag the right side of the [&PageNumber] box to make it square.
4. On the Inser t tab, select Text Box .
5. Click to the right of [&PageNumber], type "of", then make the text box square.
6. Drag Overall Total Pages to the footer, to the right of "of", then drag its right side to make it square, too.
Make the table wider
Now you can make the matrix wide enough to fill the width of the page, and make the text columns wider so the
names don't scroll as much.
1. Select the matrix, then select the Company Name column.
2. Hover over the gray bar at the top of the matrix at the right edge of the Company Name column. Drag to
the right, until the column ends at 1 3/8 inches.

3. Drag the right edge of Product name until the column ends at 3 3/4 inches.
Now the matrix is almost as wide as the print area.
Format the currency
If you noticed when you ran the report, the dollar amounts aren't formatted as currency yet.
1. Select the upper-left [Sum(OrderQty)] cell, hold down the Shift key, and select lower-right
[Sum(LineTotal)] cell.
2. On the Home tab, select the dollar sign ($ ) currency symbol, then select the arrow next to Placeholder
styles > Sample Values .

Now you can see the values are formatted as currency.

Add column headers on each page


One more formatting improvement before publishing the report to the Power BI service: making the column
headers show up on each page in the report.
1. In the far-right end of the top bar in the Grouping pane, select the drop-down arrow > Advanced Mode .

2. Select the top Static bar in the Row Groups . You see that the Company Name cell in the matrix is
selected.

3. In the Proper ties pane, you're looking at the properties for Tablix Member . Set KeepWithGroup to
After and RepeatOnNewPage to True .
It's time to run the report and see how it looks now.
4. Select Run on the Home tab.
5. Select Print Layout , if it's not already selected. Now the report has 29 pages. Scroll through a few pages.
You see the currency is formatted, the columns have headings on every page, and the report has a footer
with page numbers and date and time stamp on every page.
6. Save the report to your computer.

Upload the report to the service


Now that you've created this paginated report, it's time to upload it to the Power BI service.
1. In the Power BI service ( https://app.powerbi.com ) in the nav pane, select Workspaces > Create
workspace .
2. Name your workspace Azure AW , or other unique name. You're the only member for now.
3. Select the arrow next to Advanced and turn on Dedicated capacity .

If you can't turn it on, you need to ask your Power BI admin to give you permission to add the workspace
to the dedicated Premium capacity.
4. Choose an available dedicated capacity for this workspace , if necessary > Save .

If the workspace isn't in a Premium capacity, when you try to upload your report you see the message,
"Unable to upload paginated report." Contact your Power BI administrator to move the workspace.
5. In your new workspace, select Get Data .
6. In the Files box > Get .
7. Select Local File , navigate to where you saved the file > Open .
Power BI imports your file, and you see it under Repor ts on the App list page.

8. Select the report to view it.


9. If you get an error, you may need to reenter your credentials. Select the Manage icon.

10. Select Edit credentials and enter the credentials you used in Azure when you created the Azure
database.

11. Now you can view your paginated report in the Power BI service.
Next steps
What are paginated reports in Power BI Premium?
Get samples for Power BI
7/22/2021 • 12 minutes to read • Edit Online

Say you're new to Power BI and want to try it out but don't have any data. Or maybe you'd like to see reports
that illustrate some of the capabilities of Power BI. We've got you covered.
Power BI offers different kinds of samples, for different purposes:
A Power BI repor t (.pbix file) that you can view in the Data Stories Gallery, open and explore in Power BI
Desktop, or upload to the Power BI service.
A sample app that you download from AppSource, also right in the Power BI service. Apps include
dashboards, reports, and datasets. You can modify them, then distribute them to your colleagues.
Eight original built-in samples in the Power BI service, with dashboards, reports, and datasets. You install
them right in the Power BI service. The built-in samples are also available as Power BI reports (.pbix) and
Excel workbooks (.xlsx).
Excel workbook versions of the built-in samples, containing the data model and Power View sheets. You can
explore or edit the data model in Excel, use the Excel workbook as a data source for a Power BI report. You
can also upload the workbook as an Excel file and display the Excel visuals and PivotTables in Power BI
reports.
Also a Financial data sample workbook , a simple flat table in an Excel file available for download. It
contains anonymized data with fictitious products, with sales divided by segments and countries/regions. It
makes a useful basic data source for a Power BI report.
Our online documentation uses these same samples in tutorials and examples, so you can follow along.

Sales & Returns sample .pbix file

The Sales & Returns sample report


Power BI report designers Miguel Myers and Chris Hamill created the Sales & Returns .pbix file to demonstrate
many new features in Power BI, including buttons, drillthrough, conditional formatting, what-if, and customized
tooltips.
The scenario for this report is a company that sells Microsoft-themed skateboards. They want to see the state of
their sales and returns, and analyze how they should modify their operations.
You can explore it these ways:
View and interact with it in the Power BI Community Data Stories Gallery.
Download the .pbix file and explore it in depth. Look "behind the curtain" to see how Miguel made it.
Selecting this link downloads the file automatically: Sales & Returns sample report.
Read about the report in the Power BI blog post, Take a tour of the new Sales & Returns sample report.

Sample app from AppSource


The Marketing and Sales app is available from Microsoft AppSource. An app is a Power BI content type that
combines related dashboards and reports. An app can have one or more dashboards and one or more reports,
all bundled together. You can download the Marketing and Sales app from Apps in the Power BI service, or by
going to AppSource in your browser.
The article Install and use apps explains how to download an app from within the Power BI service.
This link takes you to the Sales & Marketing app in AppSource.
After you install it, you see it in your collection of apps.

When you open it, select Explore with sample data .


You see the app view, with the dashboard and individual report pages in the navigation pane.

Because you installed it, you can also open the workspace and edit the elements of the app. Select the Edit
pencil icon to open the workspace.

Now you see the dashboard, report, and dataset from the app in the list view of the workspace. Here in the
workspace, you can edit each of them.
If you want to, you can distribute this app to anyone in your organization. Select Update app .

Complete the Setup tab, including choosing an App theme color .

Complete the Navigation and Permission tabs, then select Update app .
Read more about publishing apps in Power BI.

Eight original samples


Eight original samples are available for you to use. Each sample represents a different industry. You can engage
with each in different formats:
Install the built-in samples in the Power BI service.
Download the Power BI report files (.pbix).
Download the Excel workbook files (.xlsx), then upload them to the Power BI service.
Explore the Excel files in Excel itself.
The company obviEnce (www.obvience.com) and Microsoft teamed up to create samples for you to use with
Power BI. The data is anonymized and represents different industries: finance, HR, sales, and more.

Each of these samples is available in several formats: as a built-in sample, as an Excel workbook, and as a Power
BI .pbix file. If you don't know what these things are, or how to get your hands on them -- don't worry. This
article explains it all. For each of these samples, we've created a tour. Tours are articles that tell the story behind
the sample and walk you through different scenarios. One scenario might be answering questions for your
manager, another might be looking for competitive insights, or creating reports and dashboards to share, or
explaining a business shift.
Before we get started, here are the legal guidelines for using these samples. After that, we introduce the samples
and show how to use them.
Usage guidelines for the sample Excel workbooks
©2015 Microsoft Corporation. All rights reserved. The documents and workbooks are provided "as-is."
Information and views expressed in the workbooks, including URL and other Internet Web site references, may
change without notice. You bear the risk of using it. Some examples are for illustration only and are fictitious. No
real association is intended or inferred. Microsoft makes no warranties, express or implied, with respect to the
information provided here.
The workbooks do not provide you with any legal rights to any intellectual property in any Microsoft product.
You may copy and use this workbook for your internal, reference purposes.
The workbooks and related data are provided by obviEnce. www.obvience.com
ObviEnce is an ISV and an Intellectual Property (IP) Incubator focused on Microsoft Business Intelligence.
ObviEnce works closely with Microsoft to develop best practices and thought leadership for jump-starting and
deploying Microsoft Business Intelligence solutions.
The workbooks and data are property of obviEnce, LLC, and have been shared solely for the purpose of
demonstrating Power BI functionality with industry sample data.
Any uses of the workbooks and/or data must include the above attribution (that is also on the Info worksheet
included with each workbook). The workbook and any visualizations must be accompanied by the following
copyright notice: obviEnce ©.
By clicking any of the following links to download the Excel workbook files or .pbix files, you are agreeing to the
terms above.

Customer Profitability sample


Take a tour of the Customer Profitability sample
This industry sample analyzes a CFO's key metrics for the company's executives, products, and customers. You
can investigate what factors impact the company's profitability.

Human Resources sample


Take a tour of the HR sample
This industry sample focuses on the hiring strategy for a company by analyzing new hires, active employees,
and employees who have left. By exploring the data, you can find trends in voluntary separations and biases in
the hiring strategy.

IT Spend Analysis sample


Take a tour of the IT Spend Analysis sample
In this industry sample, we analyze the planned vs. actual costs of the IT department of a company. This
comparison helps us understand how well the company planned for the year and investigate areas with huge
deviations from the plan. The company in this example goes through a yearly planning cycle, and then quarterly
it produces a new Latest Estimate (LE) to help analyze changes in IT spend over the fiscal year.

Opportunity Analysis sample


Take a tour of the Opportunity Analysis sample
This industry sample explores a software company's sales channel. Sales managers monitor their direct and
partner sales channels by tracking opportunities and revenue by region, deal size, and channel.

Procurement Analysis sample


Take a tour of the Procurement Analysis sample
This industry sample analyzes a CFO's key metrics for the company's executives, products, and customers. You
can investigate what factors impact the company's profitability.

Retail Analysis sample


Take a tour of the Retail Analysis sample
This industry sample analyzes retail sales data of items sold across multiple stores and districts. The metrics
compare this year's performance to last year's in these areas: sales, units, gross margin, and variance, as well as
new store analysis.

Sales and Marketing sample


Take a tour of the Sales and Marketing sample
This industry sample analyzes a manufacturing company, VanArsdel Ltd. It allows the Chief Marketing Officer to
watch the industry and the market share for VanArsdel. By exploring the sample, you can find the company's
market share, product volume, sales, and sentiment.

Supplier Quality sample


Take a tour of the Supplier Quality sample
This industry sample focuses on one of the typical supply chain challenges — supplier quality analysis. Two
primary metrics are at play in this analysis: total number of defects and the total downtime that these defects
caused. This sample has two main objectives: understand who the best and worst suppliers are, with respect to
quality, and identify which plants do a better job finding and rejecting defects, to minimize downtime.
Install built-in samples
Let's start with the built-in samples. The built-in samples are available in the Power BI service; you don't have to
leave Power BI to find them. These samples are each a bundle of one or more dashboards, datasets, and reports
that someone creates and that can be used with the Power BI service. These built-in samples are still available,
but are being deprecated. They aren't available for Power BI Desktop.
1. Open the Power BI service (app.powerbi.com) and sign in.
2. Navigate to your My Workspace, or another workspace where you want to install the sample.
3. In the bottom-left corner, select Get data .

4. On the Get Data page that appears, select Samples .


5. Select one of the samples to open a description of that sample, and choose Connect .

6. Power BI imports the built-in sample and adds a new dashboard, report, and dataset to your current
workspace. Use the samples to take Power BI for a test run.

Now that you have data, you're on your way. Try out some of our tutorials using the built-in samples or just
open the Power BI service and explore.
Download original sample Power BI files
Each of the built-in samples is also available as Power BI .pbix file. The .pbix files are designed to be used with
Power BI Desktop.
1. Download the files individually using the links below. Selecting these links saves the file automatically to
your Downloads folder.
Customer Profitability Sample PBIX
Human Resources Sample PBIX
Procurement Analysis Sample PBIX
Retail Analysis Sample PBIX
Sales and Marketing Sample PBIX
Supplier Quality Analysis Sample PBIX
2. In Power BI Desktop, select File > Open and navigate to the location where you saved the sample .pbix
file.
3. Select the .pbix file to open it in Power BI Desktop.
Download sample Excel files
Each of the built-in samples is also available as an Excel workbook. The Excel workbooks are designed to be used
with the Power BI service.
1. Download the files individually using the links below, or download a zip file of all the sample files. If
you're an advanced user, you might want to download the Excel workbooks to explore or edit the data
models.
Customer Profitability Sample
Human Resources Sample
Opportunity Tracking Sample
Procurement Analysis Sample
Retail Analysis Sample
Sales and Marketing Sample
Supplier Quality Analysis Sample
2. Save the downloaded file. Where you save the file makes a difference.

Local - If you save your file to a local drive on your computer or another location in your
organization, from Power BI, you can import your file into Power BI. Your file remains on your local drive,
so the whole file isn't imported into Power BI. What happens is a new dataset is created in your Power BI
site and data, and in some cases the data model, are loaded into the dataset. If your file has any reports,
those reports appear in your Power BI site under Reports.

OneDrive - Business – If you have OneDrive for Business and you sign into it with the same
account you sign into Power BI with, OneDrive for Business is by far the best place to keep your work in
Excel, Power BI, or a .CSV file in-sync with your dataset, reports, and dashboards in Power BI. Because
both Power BI and OneDrive are in the cloud, Power BI connects to your file on OneDrive about every
hour. If any changes are found, your dataset, reports, and dashboards are automatically updated in Power
BI.

SharePoint Team-Sites Saving your Power BI files to SharePoint – Team Sites is much the same
as saving to OneDrive for Business. The biggest difference is how you connect to the file from Power BI.
You can specify a URL or connect to the root folder.
3. Open the Power BI service (app.powerbi.com) and sign in.
4. Navigate to your My Workspace or to another workspace, or create a workspace just for the sample.
5. In the bottom-left corner of the navigation pane, select Get data .

6. On the Get Data page that appears, select Files > Get .
7. Select the location where you downloaded and saved the sample.

8. Select the file. Depending on where you saved the file, select Connect or Open .
9. Choose whether to import the data or to bring the workbook into Power BI and see it exactly as it is in
Excel online.
10. If you select Impor t , Power BI imports the sample workbook and adds it as a new dashboard, report, and
dataset, in this case each named Procurement Analysis Sample .
Because the workbook has Power View sheets, Power BI creates a report with a page for each Power BI
sheet.
Power BI creates a new dashboard with a new blank tile. Selecting that tile takes you to the report you
just added.
11. Open the report. Select different elements of the report to explore their interactions.

Explore Excel samples inside Excel


(Optional) Want to understand how the data in an Excel workbook gets converted to Power BI datasets and
reports? Opening the Excel samples in Excel and exploring the worksheets provides some of the answers.
When you first open a sample workbook in Excel, you may see two warnings. The first warning says the
workbook is in Protected View. Select Enable Editing . The second warning may say that the workbook
has external data connections. Select Enable Content .
Each workbook contains several Power View sheets. If you want to see the Power View sheets in Excel,
You need to enable the Power View add-in by downloading a package of registry keys.
So where's the actual data? It's in the Power Pivot data model. You don't need the Power View sheets to
see the data. On the PowerPivot tab, select Manage .
Don't see the Power Pivot tab? Enable the Power Pivot add-in.
In Power Pivot, you can see the data in all the underlying tables, plus all the DAX formulas.
The Info tab provides information about obviEnce, the company that created the sample.

Next steps
Basic concepts for designers in the Power BI service
Tutorial: Connect to the Power BI samples
Data sources for Power BI
More questions? Try the Power BI Community
COVID-19 tracking sample for US state and local
governments
7/22/2021 • 6 minutes to read • Edit Online

The Power BI team has created a COVID-19 tracking sample that enables US state and local governments to
publish or customize an interactive report about COVID-19. Using Power BI Desktop, they can analyze and
visualize COVID-19 data to keep their communities informed at the city, county, state, and national levels. Then
using Power BI Publish to Web, they can share the report publicly to inform citizens. The article offers different
options for using Power BI interactive visualizations in your own public story, blog, or website.

This article covers how to:


Copy embed code and put it on your own site.
Make customizations such as formatting a specific state.
Publish to the Power BI service.
Publish to the web.
Mash up this data with data from another source.

Prerequisites
Before you can get started using Power BI to tell your story, you need these prerequisites:
Download the free Power BI Desktop app.
Sign up for the Power BI service.

Option 1: Pre-built embed code


Microsoft has published the sample report and created a publish-to-web embed code. You can use the embed
code to embed the complete sample, including the national view, and drill down to the state and county level in
your own website. Before publishing this data, we recommend reviewing the disclaimers in this article.
To include the interactive graphic on your site, copy and paste the following embed code to where you would
like the graphic to show up on your web page.

<iframe width="1600" height="900" src="https://app.powerbi.com/view?


r=eyJrIjoiMmI2ZjExMzItZTcwNy00YmUwLWFlMTAtYTUxYzVjODZmYjA5IiwidCI6ImMxMzZlZWMwLWZlOTItNDVlMC1iZWFlLTQ2OTg0OT
czZTIzMiIsImMiOjF9" frameborder="0" allowFullScreen="true"></iframe>

The embed code is an HTML iFrame element that you can insert into any HTML page. Adjust the width and
height of the iFrame provided to fit within your site. The sample report is authored at 16:9 proportions, so pick a
size that preserves this dimension. When implemented correctly, the graphic appears without any extra grey
borders. It is useful to review the iFrame sizing tips and tricks when making these changes.

Option 2: Customize the sample Power BI file


The Power BI file contains the data and interactive graphic in a .pbix file format you can edit in Power BI Desktop.
A typical customization is to filter the report to a specific state, and then to create your own publish-to-web
embed code for your customized report.
USAFacts data is provided under a Creative Commons License that requires attribution. Before publishing this
data, review the disclaimers.
To get started, download the .pbix file (here).
Update your report
1. Download the latest version of the free app, Power BI Desktop, if you haven't already.
2. Download the .pbix file, if you haven't already, and open it in Power BI Desktop.
3. To filter your report to a specific state, select the arrow to expand the Filters pane.

4. Select a state that you are interested in.


5. To save your file, select File > Save .
Refresh your report
1. Select the Refresh button.

2. Select Anonymous > Connect .

3. Select Ignore Privacy Levels , if shown > Save .

Publish your report to the Power BI service


Once you've customized your report to your liking, follow the steps outlined here to publish your report to the
Power BI service.
Configure scheduled refresh
To keep the data in the report up to date, you can configure scheduled refresh after you publish your report.
When you follow the steps, choose the following options:
1. Data Source Credentials Authentication Method: Anonymous
2. Privacy level setting for this data source: Public
To test your refresh setting, select the Refresh now option, available from the dataset item.
The refreshed data is loaded each time the schedule runs. The underlying data is provided by USAFacts and may
not update as frequently as your refresh schedule. Check the USAFacts website to know when the underlying
data was last updated.
If you intend to publish the customized report on your website, it is best to configure your scheduled refresh to
run at least as frequently as the USAFacts data updates. Since USAFacts may refresh their data at different times
each day, you may want to configure several refreshes each day.
Create a publish-to -web embed code
To embed your customized report in your own website, follow the instructions for how to create your own
publish-to-web embed code.
Once you publish your embed code, you use the iFrame on the confirmation dialog to embed in your website.
If you make changes to the report in Power BI Desktop, you can publish and replace the existing report in the
Power BI service. The embed code doesn't change. It takes approximately an hour for changes to the report or
refreshed data to appear on your website.

Option 3: Mash up data from another source


You can also mash up the data in this report with data from another source. The following example is based on
data from Johns Hopkins University. Before publishing this data, we recommend reviewing the disclaimers in
this article.
1. In Power BI Desktop, select Get data > Web .

2. Enter the following URL:

https://raw.githubusercontent.com/CSSEGISandData/COVID-
19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv

3. Select OK .

NOTE
The link published by Johns Hopkins University can change. Check the Johns Hopkins GitHub page for the latest
information.

4. Select Load to load the dataset for total confirmed cases worldwide.
This article, Connect to webpages from Power BI Desktop, provides more information about loading data
from the web.
You can then use Power BI Desktop to visualize the data. Finally, use the steps in Option 2: Publish your report
to the Power BI service to publish the report and create a custom embed code.

Option 4: Use the COVID-19 US Tracking template app


For one more option, the Power BI team created the COVID-19 US Tracking template app to get you started
immediately. Template apps are bundles of reports, dashboards, and datasets for a specific data source. You
download them from AppSource, use them or modify to suit your needs, and distribute them to your colleagues.
This COVID-19 US Tracking template app contains a pre-built report of COVID-19 metrics that you can use as is,
personalize directly in the Power BI service, or download to add other data sources if desired. Learn about
installing the COVID-19 US Tracking template app and getting started right away.

About the data source for this report


This interactive report aggregates data from the Centers for Disease Control and Prevention (CDC), and state-
and local-level public health agencies. County-level data is confirmed by referencing state and local agencies
directly (link).
Data is provided by USAFacts. Because of the frequency of data updates, they may not reflect the exact numbers
reported by government organizations or the news media. For more information or to download the data, visit
the USAFacts website.

Disclaimers
This report and data are provided "as is", "with all faults", and without warranty of any kind. Microsoft gives no
express warranties or guarantees and expressly disclaims all implied warranties, including merchantability,
fitness for a particular purpose, and non-infringement.
USAFacts data is available under a Creative Commons license. To use it, cite USAFacts as the data provider and
link back to USAFacts. For exact attribution steps, see the #MadewithUSAFacts section of the USAFacts page,
Coronavirus in the United States: Mapping the COVID-19 outbreak in the states and counties.
Johns Hopkins University data is copyright 2020 Johns Hopkins University, all rights reserved. It's provided to
the public strictly for educational and academic research purposes. Here are the full Terms of Use of the data
shown in the mashup example. More information is available from the Johns Hopkins University website.

Next steps
Get samples for Power BI
Customer Profitability sample for Power BI: Take a
tour
7/30/2021 • 10 minutes to read • Edit Online

The Customer Profitability sample contains a dashboard, report, and dataset for a company that manufactures
marketing materials. This dashboard was created by a CFO to see key metrics about their five business unit
managers (executives), products, customers, and gross margins (GM). At a glance, they can see what factors are
impacting profitability.

This sample is part of a series that shows how you can use Power BI with business-oriented data, reports, and
dashboards. It was created by obviEnce with real data, which has been anonymized. The data is available in
several formats: a built-in sample in the service, a .pbix Power BI Desktop file, or an Excel workbook. See
Samples for Power BI.
This tutorial explores the built-in Customer Profitability sample in the Power BI service. Because the report
experience is similar in Power BI Desktop and in the service, you can also follow along by using the sample .pbix
file in Power BI Desktop.
You don't need a Power BI license to explore the samples in Power BI Desktop. If you don't have a Power BI Pro
or Premium Per User (PPU) license, you can save the sample to your My Workspace in the Power BI service.

Get the sample


Before you can use the sample, you must first download it in the Power BI service, or get the .pbix file or Excel
workbook.
Download the built-in sample
1. Open the Power BI service (app.powerbi.com), sign in, and open the workspace where you want to save
the sample.
If you don't have a Power BI Pro or Premium Per User (PPU) license, you can save the sample to your My
Workspace.
2. In the bottom-left corner, select Get data .

3. On the Get Data page that appears, select Samples .


4. Select Customer Profitability Sample , then choose Connect .

5. Power BI imports the sample, adding a new dashboard, report, and dataset to your current workspace.

Get the .pbix file for this sample


Alternatively, you can download the Customer Profitability sample as a .pbix file, which is designed for use with
Power BI Desktop.
Get the Excel workbook for this sample
If you want to view the data source for this sample, it's also available as an Excel workbook. The workbook
contains Power View sheets that you can view and modify. To see the raw data, enable the Data Analysis add-ins,
and then select Power Pivot > Manage . To enable the Power View and Power Pivot add-ins, see Explore the
Excel samples in Excel for details.

What is our dashboard telling us?


In the workspace where you saved the sample, find the Customer Profitability dashboard and select it:
Company-wide dashboard tiles
1. Open the dashboard in the Power BI service. The dashboard tiles give our CFO a view of the high-level
company metrics important to them. When they see something interesting, they can select a tile to dig
into the data.
2. Review the tiles on the left side of the dashboard.
Note the following details:
The company's gross margin is 42.5%.
It has 80 customers.
It sells five different products.
It had its lowest revenue % variance to budget in February, followed by the highest in March.
Most of our revenue comes from the east and north regions. Gross margin has never exceeded
budget, with the ER-0 and MA-0 business units requiring further investigation.
Total revenue for the year is close to budget.
Manager-specific dashboard tiles
The tiles on the right side of the dashboard provide a team scorecard. The CFO needs to keep track of their
managers and these tiles give them a high-level overview of profit, by using GM%. If the GM% trend is
unexpected for any manager, then they can investigate further.

By analyzing the manager-specific dashboard tiles, we can make the following observations:
All executives, except Carlos, have already exceeded their target sales. However, Carlos' actual sales are the
highest.
Annelie's GM% is the lowest, but we see a steady increase since March.
Valery, on the other hand, has seen their GM% drop significantly.
Andrew had a volatile year.

Explore the dashboard's underlying data


This dashboard has tiles that link to a report and to an Excel workbook.
Open the Excel Online data source
Two tiles on this dashboard, Target vs Actual and Year Over Year Revenue Growth were pinned from an
Excel workbook. When you select either of these tiles, Power BI opens the data source: in this case, Excel Online.
1. Select Target vs Actual . Excel Online opens within the Power BI service.
2. Notice that the workbook has three tabs worth of data. Open COGS .

3. Total revenue is exceeding costs by a healthy margin. The shape of the Total revenue line and height of
the costs columns are similar. Interact with the data by filtering slicing, drilling, and more. For example,
let's look at Revenue vs COGS for just one Industry.
a. From the Industr y slicer, select Retail .
b. We see that only two district managers cover the retail industry: Andrew and Carlos.
c. Total revenue is exceeding costs by a healthy margin until 2014 quarter 3. And looking at the stacked
column, we see some strange data that bears further examination. Did we truly have no costs for July?
Did we get a refund from a third party?

4. Continue exploring. If you find something interesting, select Pin from the upper-right corner to
pin it to a dashboard.
5. Use your browser's back arrow to return to the dashboard.
Open the underlying Power BI report
Many of the tiles on the Customer Profitability sample dashboard were pinned from the underlying Customer
Profitability sample report.
1. Select one of these tiles to open the report in Reading view.
If the tile was created in Q&A, selecting it opens the Q&A window. Select Exit Q&A to return to the
dashboard and try a different tile.
2. The report has three pages. You can select the page you want from the Pages pane on the left.

Team Scorecard focuses on the performance of the five managers and their books of business.
Industr y Margin Analysis provides a way to analyze the profitability compared to what's
happening in the entire industry.
Executive Scorecard provides a view of each of the managers, in a custom page size format.
Team Scorecard page
Let's look at two of the team members in detail and see what insights can be gained:
1. In the Executive slicer on the left, select Andrew's name to filter the report page to display only data
about Andrew:
For a quick KPI, look at Andrew's Revenue Status (Total Year) ; it's green, which means he's
performing well.
The Revenue % Variance to Budget by Month and Executive chart shows that, except for a dip
in February, Andrew is doing well. Andrew's most dominant region is the east region, which includes
49 customers, and five out of seven products. Andrew's GM% is not the highest or the lowest.
The RevenueTY and Revenue % Var to Budget by Month chart shows a steady, even-profit story.
However, if you filter by selecting the square for Central in the region treemap, you discover that
Andrew has revenue only in March and only in Indiana. Is this trend intentional or is it something that
needs looking into?
2. Now on to Valery. In the Executive slicer, select Valery's name to filter the report page to display data
only about Valery.
Notice the red KPI for Revenue Status (Total Year) . This item definitely needs further investigation.
Valery's revenue variance also paints a worrying picture; Valery is not meeting set revenue margins.
Valery has only nine customers, handles only two products, and works almost exclusively with
customers in the north region. This specialization could explain the wide fluctuations in the metrics.
If you select the Nor th square in the tree map, it shows that Valery's gross margin in the north region
is consistent with the overall margin.
Selecting each of the other Total Revenue by Region squares tells an interesting story: their GM%
ranges from 23% to 79%. Valery's revenue numbers, in all regions except the north region, are
extremely seasonal.
3. Continue exploring to find out why Valery's area is not performing well. Look at regions, the other
business units, and the next page in the report: Industr y Margin Analysis .
Industry Margin Analysis
This report page provides a different slice of the data. It looks at gross margin for the entire industry, broken
down by segment. The CFO uses this page to compare company and business unit metrics to industry metrics
to help them explain trends and profitability. You might wonder why the Gross Margin % by Month and
Executive chart is on this page, because it's team-specific. Having it here lets us filter the page by business unit
manager.

1. How does profitability vary by industry? How do the products and customers break down by industry? To
answer these questions, select one or more industries from the top left (start with the CPG industry). To
clear the filter, select the eraser icon.
2. On the Revenue Var % to Budget, GM%, and RevenueTY by Industr y bubble chart, the CFO looks
for the largest bubbles, because they have the biggest impact on revenue. To easily see each manager's
impact by industry segment, filter the page by select each manager's name in turn in the area chart.
3. As you select each manager in the chart, note the following details:
Andrew's area of influence spans many different industry segments with widely varying GM% (most
on the positive side) and Var%.
Annelie's chart is similar, except that Annelie only concentrates on a handful of industry segments with
a focus on the Federal segment and a focus on the Gladius product.
Carlos has a clear focus on the services segment, with good profit. Carlos has also greatly improved
Var% for the High Tech segment and a new segment, Industrial, performed exceptionally well
compared to budget.
Tina works with a handful of segments and has the highest GM%, but the mostly small size of the
bubbles shows that Tina's impact on the company's bottom line is minimal.
Valery, who is responsible for only one product, works in only five industry segments. Valery's
industry influence is seasonal, but always produces a large bubble, indicating a significant impact on
the company's bottom line. Do the industry segments explain their negative performance?
Executive Scorecard
This page has a custom page size format.

Dig into the data by asking questions with Q&A


For our analysis, it might be helpful to determine which industry generates the most revenue for Valery. Let's
use Q&A.
1. From the top of the dashboard, select Ask a question about your data to open the Q&A question box.

2. Type total revenue by industry for Valery in the question box. Notice how the visualization updates as you
type the question.
As you can see, the Services industry is the biggest revenue area for Valery.
Dig deeper by adding filters
Let's take a look at the Distribution industry.
1. Open the Industr y Margin Analysis report page.
2. Without selecting any visualizations on the report page, expand the filter pane on the right (if it isn't
already expanded). The Filters pane should display only page level filters.

3. Locate the filter for Industr y and select the arrow to expand the list. Let's add a page filter for the
Distribution industry. First, clear all selections by clearing the Select All checkbox. Then select
Distribution only.
4. The Gross Margin % by Month and Executive chart tells us that only Valery and Tina have customers
in this industry and Valery worked with this industry only from June to November.
5. Select Tina and then Valer y in the Gross Margin by Month and Executive chart legend. Notice Tina's
portion of the Total Revenue by Product chart is small compared to Valery.
6. To see actual revenue, select the Q&A box in the dashboard and enter total revenue by executive for
distribution by scenario.

We can similarly explore other industries and even add customers to our visuals to understand causes for
Valery's performance.

Next steps: Connect to your data


This environment is a safe one to play in, because you can choose not to save your changes. But if you do save
them, you can always select Get data for a new copy of this sample.
We hope this tour has shown how Power BI dashboards, Q&A, and reports can provide insights into sample
data. Now it's your turn; connect to your own data. With Power BI, you can connect to a wide variety of data
sources. To learn more, see Get started with the Power BI service.
IT Spend Analysis sample for Power BI: Take a tour
7/22/2021 • 5 minutes to read • Edit Online

The IT Spend Analysis built-in sample contains a dashboard, report, and dataset that analyzes the planned vs.
actual costs of an IT department. This comparison helps us understand how well the company planned for the
year and investigate areas with huge deviations from the plan. The company in this example goes through a
yearly planning cycle, and then quarterly it produces a new latest estimate (LE) to help analyze changes in IT
spend over the fiscal year.

This sample is part of a series that shows how you can use Power BI with business-oriented data, reports, and
dashboards. It was created by obviEnce with real data, which has been anonymized. The data is available in
several formats: built-in sample in the Power BI service, .pbix Power BI Desktop file, or Excel workbook. See
Samples for Power BI.
This tutorial explores the IT Spend Analysis built-in sample in the Power BI service. Because the report
experience is similar in Power BI Desktop and in the service, you can also follow along by using the sample .pbix
file in Power BI Desktop.
You don't need a Power BI license to explore the samples in Power BI Desktop. If you don't have a Power BI Pro
or Premium Per User (PPU) license, you can save the sample to your My Workspace in the Power BI service.

Get the sample


Before you can use the sample, you must first download it in the service, or as a .pbix file or Excel workbook.
Get the built-in sample
1. Open the Power BI service (app.powerbi.com), sign in, and open the workspace where you want to save
the sample.
If you don't have a Power BI Pro or Premium Per User (PPU) license, you can save the sample to your My
Workspace.
2. In the bottom-left corner, select Get data .

3. On the Get Data page that appears, select Samples .


4. Select IT Spend Analysis Sample , then choose Connect .

5. Power BI imports the built-in sample, adding a new dashboard, report, and dataset to your current
workspace.

Get the .pbix file for this sample


Alternatively, you can download the IT Spend Analysis sample as a .pbix file, which is designed for use with
Power BI Desktop.
Get the Excel workbook for this sample
If you want to view the data source for this sample, it's also available as an Excel workbook. The workbook
contains Power View sheets that you can view and modify. To see the raw data, enable the Data Analysis add-ins,
and then select Power Pivot > Manage . To enable the Power View and Power Pivot add-ins, see Explore the
Excel samples in Excel for details.

IT Spend Analysis Sample dashboard


The two numbers tiles on the left of the dashboard, Var Plan % and Variance Latest Estimate % Quar ter 3 ,
give us an overview of how well we're doing against the plan and against the latest quarterly estimate (LE3 =
latest estimate quarter 3). Overall, we're about 6% off the plan. Let's explore the cause of this variance: when,
where, and in which category.

YTD IT Spend Trend Analysis page


When you select the Var Plan % by Sales Region dashboard tile, it displays the YTD IT Spend Trend
Analysis page of the IT Spend Analysis Sample report. At a glance, we see that we have positive variance in the
United States and Europe and negative variance in Canada, Latin America, and Australia. The United States has
about 6% +LE variance and Australia has about 7% -LE variance.
However, just looking at this chart and drawing conclusions can be misleading. We need to look at actual dollar
amounts to put things in perspective.
1. Select Aus and NZ in the Var Plan % by Sales Region chart, and then observe the Var Plan by IT
Area chart.

2. Now select USA . Notice that Australia and New Zealand are a very small part of our overall spending as
compared to the United States.
Next, let's explore which category in the USA is causing the variance.

Ask questions of the data


2. In the dashboard, select Ask a question about your data .
3. From the Tr y one of these to get star ted list on the left side, select top cost element groups by
plan .
4. In the Q&A box, clear the previous entry and enter show IT areas, var plan % and var le3 % bar chart.
In the first IT area, Infrastructure , notice that the percentage has changed drastically between the initial
variance plan and the variance plan latest estimate.

YTD Spend by Cost Elements page


1. Return to the dashboard and look at the Variance Plan %, Variance Latest Estimate % - Quar ter 3
dashboard tile.

Notice that the Infrastructure area stands out with a large positive variance to the plan.
2. Select this tile to open the report and view the YTD Spend by Cost Elements page.
3. Select the Infrastructure bar in the Var Plan % and Var LE3 % by IT Area chart on the lower right,
and observe the variance-to-plan values in the Var Plan % by Sales Region chart on the lower left.

4. Select each name in turn in the Cost Element Group slicer to find the cost element with the largest
variance.
5. With Other selected, select Infrastructure in the IT Area slicer and select subareas in the IT Sub Area
slicer to find the subarea with the largest variance.
Notice the large variance for Networking . Apparently the company decided to give its employees phone
services as a benefit, even though this move was not planned for.

Plan Variance Analysis page


1. Select the Plan Variance Analysis page.
2. In the Var Plan and Var Plan % by Business Area chart on the left, select the Infrastructure column
to highlight infrastructure business area values in the rest of the page.

Notice in the Var plan % by Month and Business Area chart that the infrastructure business area
started a positive variance in February. Also, notice how the variance-to-plan value for that business area
varies by country, as compared to all other business areas.
3. Use the IT Area and IT Sub Area slicers on the right to filter the values in the rest of the page and to
explore the data.

Edit the report


Select Edit in the black Power BI header bar to explore in Editing view:
See how the pages are made, the fields in each chart, and the filters on the pages.
Add pages and charts, based on the same data.
Change the visualization type for each chart.
Pin charts of interest to your dashboard.

Next steps: Connect to your data


This environment is a safe one to play in, because you can choose not to save your changes. But if you do save
them, you can always select Get data for a new copy of this sample.
We hope this tour has shown how Power BI dashboards, Q&A, and reports can provide insights into sample
data. Now it's your turn; connect to your own data. With Power BI, you can connect to a wide variety of data
sources. To learn more, see Get started with the Power BI service.
Human Resources sample for Power BI: Take a tour
7/30/2021 • 6 minutes to read • Edit Online

The Human Resources built-in sample contains a dashboard, report, and dataset for a human resources
department. In this sample, the human resources department has the same reporting model across different
companies, even when they differ by industry or size. This sample looks at new hires, active employees, and
employees who have left. It strives to uncover any trends in the hiring strategy. Our main objectives are to
understand:
Who we hire
Biases in our hiring strategy
Trends in voluntary separations

This sample is part of a series that shows how you can use Power BI with business-oriented data, reports, and
dashboards. It was created by obviEnce with real data, which has been anonymized. The data is available in
several formats: built-in sample in the Power BI service, .pbix Power BI Desktop file, or Excel workbook. See
Samples for Power BI.
This tutorial explores the Human Resources built-in sample in the Power BI service. Because the report
experience is similar in Power BI Desktop and in the service, you can also follow along by using the sample .pbix
file in Power BI Desktop.
You don't need a Power BI license to explore the samples in Power BI Desktop. If you don't have a Power BI Pro
or Premium Per User (PPU) license, you can save the sample to your My Workspace in the Power BI service.

Get the sample


Before you can use the sample, you must first download it in the service, or get the .pbix file or Excel workbook.
Get the built-in sample
1. Open the Power BI service (app.powerbi.com), sign in, and open the workspace where you want to save
the sample.
If you don't have a Power BI Pro or Premium Per User (PPU) license, you can save the sample to your My
Workspace.
2. In the bottom-left corner, select Get data .

3. On the Get Data page that appears, select Samples .


4. Select Human Resources Sample , then choose Connect .

5. Power BI imports the built-in sample and then adds a new dashboard, report, and dataset to your current
workspace.

Get the .pbix file for this sample


Alternatively, you can download the Human Resources sample as a .pbix file, which is designed for use with
Power BI Desktop.
Get the Excel workbook for this sample
If you want to view the data source for this sample, it's also available as an Excel workbook. The workbook
contains Power View sheets that you can view and modify. To see the raw data, enable the Data Analysis add-ins,
and then select Power Pivot > Manage . To enable the Power View and Power Pivot add-ins, see Explore the
Excel samples in Excel for details.

New hires
Let's explore new hires first.
1. In your workspace, select the Dashboards tab, and open the Human Resources Sample dashboard.
2. On the dashboard, select the New Hire Count, New Hires Same Period Last Year, Actives YoY %
Change By Month tile.
The Human Resources Sample report opens to the New Hires page.

3. Look at these items of interest:


The New Hire Count, New Hires SPLY and Actives YoY % Change by Month combo chart
shows we hired more people every month this year compared to last year. Significantly more people
in some months.
In the combo chart New Hire Count and Active Employee Count by Region and Ethnicity ,
notice we're hiring fewer people in the East region.
The New Hires YoY Var by Age Group waterfall chart shows we're hiring mainly younger people.
This trend may be due to the mostly part-time nature of the jobs.
The New Hire Count by Gender pie chart shows a roughly even split.
Can you find more insights? For example, a region where the gender split is not even.
4. Select different age groups and genders in the charts to explore the relationships between age, gender,
region, and ethnicity group.
5. Select Human Resources Sample from the black Power BI header bar to see detailed information
about the dashboard.

Compare currently active and former employees


Let's explore data for currently active employees and employees who no longer work for the company.
1. On the dashboard, select the Active Employee Count by Age Group tile.

The Human Resources Sample report opens to the Active Employees vs. Separations page.

2. Look at these items of interest:


The two combo charts on the left show the year-over-year change for active employees and employee
separations. We have more active employees this year due to rapid hiring, but also more separations
than last year.
In August, we had more separations compared to other months. Select the different age groups,
genders, or regions to see if you can find any outliers.
Looking at the pie charts, we notice we have an even split in our active employees by gender and age
groups. Select different age groups to see how the gender split differs by age. Do we have an even
split by gender in every age group?

Reasons for separation


Let's look at the report in Editing View. You can change the pie charts to show employee separations data
instead of active employee data.
1. Select Edit repor t in the upper-left corner.
2. Select the Active Employee Count by Age Group pie chart.
3. In Fields , select Employees to expand the Employees table. Clear Active Employee Count to remove
that field.
4. Select Separation Count in the Employees table to add it to the Values box in the Fields area.
5. On the report canvas, select the Voluntar y bar in the Separation Count by Separation Reason bar
chart.
This bar highlights those employees who left voluntarily in the other visuals in the report.
6. Select the 50+ slice of the Separation Count by Age Group pie chart.
7. Look at the line chart in the lower-right corner. This chart is filtered to show voluntary separations.

Notice the trend in the 50+ age group. During the latter part of the year, more employees over age 50 left
voluntarily. This trend is an area to investigate further with more data.
8. You can also follow the same steps for the Active Employee Count by Gender pie chart, changing it to
separations instead of active employees. Look at the voluntary separation data by gender to see if you
find any other insights.
9. Select Human Resource Sample from the top nav pane to return to the dashboard. You can choose to
save the changes you've made to the report.

Bad hires
The last area to explore is bad hires. Bad hires are defined as employees who didn't last for more than 60 days.
We're hiring rapidly, but are we hiring good candidates?
1. Select the Bad Hires as % of Actives by Age Group dashboard tile. The report opens to tab three,
Bad Hires .
2. Select Nor thwest in the Region slicer on the left and select Male in the Bad Hire Count by Gender
donut chart. Look at the other charts on the Bad Hires page. Notice there are more male bad hires than
females and many Group A bad hires.

3. If you look at the Bad Hire Count by Gender donut chart and select different regions in the Region
slicer, you'll notice that the East region is the only region with more female than male bad hires.
4. Select the name of the dashboard from the top nav pane to return to the dashboard.

Ask a question in the dashboard Q&A box


In the Q&A question box in the dashboard, you can ask a question about your data by using natural language.
Q&A recognizes the words you type and figures out where in your dataset to find the answer.
1. Select the Q&A question box. Notice that even before you start typing, Q&A displays suggestions to help
you form your question.
2. You can pick one of those suggestions, or enter: show age group, gender, and bad hires SPLY where
region is East.

Notice most of the female bad hires are under 30.

Next steps: Connect to your data


This environment is a safe one to play in, because you can choose not to save your changes. But if you do save
them, you can always select Get data for a new copy of this sample.
We hope this tour has shown how Power BI dashboards, Q&A, and reports can provide insights into sample
data. Now it's your turn; connect to your own data. With Power BI, you can connect to a wide variety of data
sources. To learn more, see Get started with the Power BI service.
Opportunity Analysis sample for Power BI: Take a
tour
7/30/2021 • 6 minutes to read • Edit Online

The Opportunity Analysis built-in sample contains a dashboard, report, and dataset for a software company that
has two sales channels: direct and partner. The sales manager created this dashboard to track opportunities and
revenue by region, deal size, and channel.
This sample relies on two measures of revenue:
Revenue: A salesperson's estimate of what the revenue will be.
Factored revenue: Calculated as revenue X probability% and is accepted as being a more-accurate predictor
of actual sales revenue. Probability is determined by the deal's current sales stage:
Lead: 10%
Qualify: 20%
Solution: 40%
Proposal: 60%
Finalize: 80%

This sample is part of a series that shows how you can use Power BI with business-oriented data, reports, and
dashboards. It was created by obviEnce with real data, which has been anonymized. The data is available in
several formats: built-in sample, .pbix Power BI Desktop file, or Excel workbook. See Samples for Power BI.
This tutorial explores the Opportunity Analysis built-in sample in the Power BI service. Because the report
experience is similar in Power BI Desktop and in the service, you can also follow along by using the sample .pbix
file in Power BI Desktop.
You don't need a Power BI license to explore the samples in Power BI Desktop. If you don't have a Power BI Pro
or Premium Per User (PPU) license, you can save the sample to your My Workspace in the Power BI service.

Get the sample


Before you can use the sample, you must first download it in the service, or get the .pbix file or Excel workbook.
Get the built-in sample
1. Open the Power BI service (app.powerbi.com), sign in, and open the workspace where you want to save
the sample.
If you don't have a Power BI Pro or Premium Per User (PPU) license, you can save the sample to your My
Workspace.
2. In the bottom-left corner, select Get data .

3. On the Get Data page that appears, select Samples .


4. Select Oppor tunity Analysis Sample , and then choose Connect .

5. Power BI imports the built-in sample, adding a new dashboard, report, and dataset to your current
workspace.

Get the .pbix file for this sample


Alternatively, you can download the Opportunity Analysis sample as a .pbix file, which is designed for use with
Power BI Desktop.
Get the Excel workbook for this sample
If you want to view the data source for this sample, it's also available as an Excel workbook. The workbook
contains Power View sheets that you can view and modify. To see the raw data, enable the Data Analysis add-ins,
and then select Power Pivot > Manage . To enable the Power View and Power Pivot add-ins, see Explore the
Excel samples in Excel for details.
What is our dashboard telling us?
Our sales manager has created a dashboard to track those metrics most important to them. When they see
something interesting, they can select a tile to look into the data:
Company revenue is $2 billion and factored revenue is $461 million.
Opportunity count and revenue follow a familiar funnel pattern, with totals decreasing with each subsequent
stage.
Most of our opportunities are in the East region.
Large opportunities generate more revenue than medium or small opportunities.
Large partner deals generate more revenue: $8 million on average versus $6 million for direct sales.
Because the effort to land a deal is the same whether the deal is classified as large, medium, or small, our
company should analyze the data to learn more about large opportunities.
1. In the workspace where you saved the sample, open the Dashboards tab, then find the Oppor tunity
Analysis Sample dashboard and select it.
2. Select the Oppor tunity Count by Par tner Driven, Sales Stage tile to open the first page of the
Opportunity Analysis Sample report.

Explore the pages in the report


View each page in the report by selecting the page tabs at the bottom.
Opportunity Count Overview page

Note the following details:


East is our biggest region in terms of opportunity counts.
On the Oppor tunity Count by Region pie chart, select each region in turn to filter the page by region. For
each region, notice that partners are pursuing significantly more large opportunities.
The Oppor tunity Count by Par tner Driven and Oppor tunity Size column chart shows that most of the
large opportunities are partner driven, while most of the small and medium opportunities are not.
In the Oppor tunity Count by Sales Stage bar chart, select each Sales Stage in turn to see the difference
in regional count. Notice that although the East region has the largest opportunity count, all three regions in
the Solution, Proposal, and Finalize sales stages have comparable counts. This result means we close a higher
percent of deals in the Central and West regions.
Revenue Analysis page
This page takes a similar look at the data, but uses a revenue perspective instead of count.

Note the following details:


East is our biggest region, not only in opportunity count but also in revenue.
If you filter the Revenue by Sales Stage and Par tner Driven chart by selecting Yes for Par tner Driven ,
you see a revenue of $1.5 billion and a factored revenue of $294 million. Compare these amounts to $644
million and $166 million for non-partner driven revenue.
Average revenue for large accounts is larger at 8 million if the opportunity is partner driven, compared to 6
million for non-partner driven business.
For partner driven businesses, average revenue for large-sized opportunities is almost double that of
medium-sized opportunities.
Average revenue for small and medium businesses is comparable for both partner driven and non-partner
driven business.
Clearly our partners are doing a better job than non-partners selling to customers. It might make sense to
funnel more deals through our partners.
Opportunity Count by Region and Stage
This page of the report looks at data similar to the data on the previous page but breaks it down by region and
stage.
Note the following details:
If you select East in the Oppor tunity Count by Region pie chart to filter by the East region, you see that
the opportunities in this region are split almost equally between partner driven and non-partner driven.
Large opportunities are most common in the Central region, small opportunities are most common in the
East region, and medium opportunities are most common in the West region.
Upcoming Opportunities by Month page
For this page we're looking at similar factors, but from a date and time perspective.

Our CFO uses this page to manage workload. By looking at the revenue opportunities by sales stage and month,
they can plan accordingly.
Note the following details:
Average revenue for the Finalize sales stage is the highest. Closing these deals is a top priority.
If you filter by month (by selecting a month in the Month slicer), you see that January has a high proportion
of large deals in the Finalize sales stage with a factored revenue of $75 million. February, on the other hand,
has mostly medium deals in the Solution and Proposal sales stages.
In general, the factored revenue numbers fluctuate based on sales stage, number of opportunities, and deal
size. Add filters for these factors by using the Filter pane on the right to discover further insights.

Next steps: Connect to your data


This environment is a safe one to play in, because you can choose not to save your changes. But if you do save
them, you can always select Get data for a new copy of this sample.
We hope this tour has shown how Power BI dashboards, Q&A, and reports can provide insights into sample
data. Now it's your turn; connect to your own data. With Power BI, you can connect to a wide variety of data
sources. To learn more, see Get started with the Power BI service.
Procurement Analysis sample for Power BI: Take a
tour
7/30/2021 • 5 minutes to read • Edit Online

The Procurement Analysis built-in sample contains a dashboard, report, and dataset that analyzes a
manufacturing company's spending on vendors by category and location. In the sample, we explore these areas:
Who the top vendors are
What categories we spend the most on
Which vendors give us the highest discount and when

This sample is part of a series that shows how you can use Power BI with business-oriented data, reports, and
dashboards. It was created by obviEnce with real data, which has been anonymized. The data is available in
several formats: built-in sample in the Power BI service, .pbix Power BI Desktop file, or Excel workbook. See
Samples for Power BI.
This tutorial explores the Procurement Analysis built-in sample in the Power BI service. Because the report
experience is similar in Power BI Desktop and in the service, you can also follow along by using the sample .pbix
file in Power BI Desktop.
You don't need a Power BI license to explore the samples in Power BI Desktop. If you don't have a Power BI Pro
or Premium Per User (PPU) license, you can save the sample to your My Workspace in the Power BI service.

Get the sample


Before you can use the sample, you must first download it in the Power BI service, or get the .pbix file or Excel
workbook.
Get the built-in sample
1. Open the Power BI service (app.powerbi.com), sign in, and open the workspace where you want to save
the sample.
If you don't have a Power BI Pro or Premium Per User (PPU) license, you can save the sample to your My
Workspace.
2. In the bottom-left corner, select Get data .

3. On the Get Data page that appears, select Samples .


4. Select Procurement Analysis Sample , and then choose Connect .

5. Power BI imports the built-in sample, and then adds a new dashboard, report, and dataset to your current
workspace.

Get the .pbix file for this sample


Alternatively, you can download the Procurement Analysis sample as a .pbix file, which is designed for use with
Power BI Desktop.
Get the Excel workbook for this sample
If you want to view the data source for this sample, it's also available as an Excel workbook. The workbook
contains Power View sheets that you can view and modify. To see the raw data, enable the Data Analysis add-ins,
and then select Power Pivot > Manage . To enable the Power View and Power Pivot add-ins, see Explore the
Excel samples in Excel for details.

Spending trends
First, let's look for trends in spending by category and location.
1. In the workspace where you saved the sample, open the Dashboards tab, then find the Procurement
Analysis Sample dashboard and select it.
2. Select the dashboard tile, Total Invoice by Countr y/Region , which opens to the Spend Over view
page of the Procurement Analysis Sample report.

Note the following details:


In the Total Invoice by Month and Categor y line chart, the Direct category has consistent spending,
Logistics has a peak in December, and Other has a spike in February.
In the Total Invoice by Countr y/Region map, most of our spending is in the United States.
In the Total Invoice by Sub Categor y column chart, Hardware and Indirect Goods & Ser vices are the
biggest spend categories.
In the Total Invoice by Tier bar chart, most of our business is done with our tier 1 (top 10) vendors. Doing
so enables us to manage better vendor relationships.

Spending in Mexico
Let's explore the spending areas in Mexico.
1. In the Total Invoice by Countr y/Region map, select the Mexico bubble. Notice that in the Total
Invoice by Sub Categor y column chart, most spending is in the Indirect Goods & Ser vices sub
category.

2. Drill down into the Indirect Goods & Ser vices column:
In the Total Invoice by Sub Categor y chart, select the drill-down arrow in the upper-right
corner of the chart.
Select the Indirect Goods & Ser vices column.
As you can see, the highest spending by far is for the Sales & Marketing subcategory.
Select Mexico in the map again.
For Mexico, the biggest spending is in the Maintenance & Repair subcategory.

3. Select the up arrow on the upper-left corner of the chart to drill back up.
4. Select the drill-down arrow again to turn the drill-down feature off.
5. In the top nav pane, select Procurement Analysis Sample to return to the dashboard.

Evaluate different cities


We can use highlighting to evaluate different cities.
1. Select the dashboard tile, Total Invoice, Discount % By Month , which opens to the Discount
Analysis page of the Procurement Analysis Sample report.
2. In the Total Invoice by City tree map, select each city in turn to see how they compare. Notice that
almost all of Miami's invoices are from tier 1 vendors.
Vendor discounts
Let's also explore the discounts available from vendors, and the time periods when we get the most discounts:
Are the discounts different each month or do they remain the same?
Do some cities get more discounts than others?

Discount by month
If you look at the Total Invoice and Discount % by Month combo chart, we see that February is the busiest
month, and September is the least busy month.
Look at the discount percent during these months: when volume increases, the discount shrinks, and when
volume is low, the discount increases. The more we need the discount, the worse of a deal we get.
Discount by city
Another area to explore is the discount by city. Select each city in turn in the tree map and see how the other
charts change:
St. Louis had a large spike in total invoices in February and a large dip in discount savings in April.
Mexico City has the highest discount percentage (11.05%) and Atlanta has the smallest (0.08%).

Edit the report


Select Edit repor t in the upper-left corner and explore in Editing view:
See how the pages are made.
Add pages and charts based on the same data.
Change the visualization type for a chart; for example, change the tree map to a donut chart.
Pin charts to your dashboard.

Next steps: Connect to your data


This environment is a safe one to play in, because you can choose not to save your changes. But if you do save
them, you can always select Get data for a new copy of this sample.
We hope this tour has shown how Power BI dashboards, Q&A, and reports can provide insights into sample
data. Now it's your turn; connect to your own data. With Power BI, you can connect to a wide variety of data
sources. To learn more, see Get started with the Power BI service.
Retail Analysis sample for Power BI: Take a tour
7/30/2021 • 6 minutes to read • Edit Online

The Retail Analysis built-in sample contains a dashboard, report, and dataset that analyzes retail sales data of
items sold across multiple stores and districts. The metrics compare this year's performance to last year's for
sales, units, gross margin, and variance, as well as new-store analysis.

This sample is part of a series that shows how you can use Power BI with business-oriented data, reports, and
dashboards. It was created by obviEnce with real data, which has been anonymized. The data is available in
several formats: built-in sample in the Power BI service, .pbix Power BI Desktop file, or Excel workbook. See
Samples for Power BI.
This tutorial explores the Retail Analysis built-in sample in the Power BI service. Because the report experience is
similar in Power BI Desktop and in the service, you can also follow along by using the sample .pbix file in Power
BI Desktop.
You don't need a Power BI license to explore the samples in Power BI Desktop. If you don't have a Power BI Pro
or Premium Per User (PPU) license, you can save the sample to your My Workspace in the Power BI service.

Get the sample


Before you can use the sample, you must first download it in the Power BI service, or get the .pbix file or Excel
workbook.
Get the built-in sample
1. Open the Power BI service (app.powerbi.com), sign in, and open the workspace where you want to save
the sample.
If you don't have a Power BI Pro or Premium Per User (PPU) license, you can save the sample to your My
Workspace.
2. In the bottom-left corner, select Get data .

3. On the Get Data page that appears, select Samples .


4. Select Retail Analysis Sample , and then choose Connect .

5. Power BI imports the built-in sample, and then adds a new dashboard, report, and dataset to your current
workspace.

Get the .pbix file for this sample


Alternatively, you can download the Retail Analysis sample as a .pbix file, which is designed for use with Power BI
Desktop.
Get the Excel workbook for this sample
If you want to view the data source for this sample, it's also available as an Excel workbook. The workbook
contains Power View sheets that you can view and modify. To see the raw data, enable the Data Analysis add-ins,
and then select Power Pivot > Manage . To enable the Power View and Power Pivot add-ins, see Explore the
Excel samples in Excel for details.

Start on the dashboard and open the report


1. In the workspace where you saved the sample, open the Dashboards tab, then find the Retail Analysis
Sample dashboard and select it.
2. On the dashboard, select the Total Stores New & Existing Stores tile, which opens to the Store Sales
Over view page in the Retail Analysis Sample report.
On this report page, you see we have a total of 104 stores, 10 of which are new. We have two chains,
Fashions Direct and Lindseys. Fashions Direct stores are larger, on average.
3. In the This Year Sales by Chain pie chart, select Fashions Direct .

Notice the result in the Total Sales Variance % bubble chart:

The FD-01 district has the highest average Sales per Square Foot and FD-02 has the lowest Total
Sales Variance compared to last year. FD-03 and FD-04 are worst performers overall.
4. Select individual bubbles or other charts to see cross highlighting, revealing the impact of your
selections.
5. To return to the dashboard, select Retail Analysis Sample from the left navigation bar.
6. On the dashboard, select the This Year's Sales New & Existing Stores tile, which is equivalent to
typing This year sales in the Q&A question box.

The Q&A results appear:


Review a tile created with Power BI Q&A
Let's get more specific.
1. Change the question to this year's sales by district . Observe the result. Q&A automatically places the
answer in a bar chart:

2. Now change the question to this year's sales by zip and chain .
Notice how Power BI answers the question as you type and displays the appropriate chart.
3. Experiment with more questions and see what kind of results you get.
4. When you're ready, return to the dashboard.

Dive deeper into the data


Now let's explore on a more detailed level, looking at the districts' performances.
1. On the dashboard, select the This Year's Sales, Last Year's Sales tile, which opens the District
Monthly Sales page of the report.

In the Total Sales Variance % by Fiscal Month chart, notice the large variability on variance %
compared to last year, with January, April, and July being particularly bad months.

Let's see if we can narrow down where the issues might be.
2. In the bubble chart, select the 020-Mens bubble.

Observe that although the men's category wasn't as severely affected in April as the overall business,
January and July were still problematic months.
3. Select the 010-Womens bubble.

Notice the women's category performed much worse than the overall business across all months, and in
almost every month compared to the previous year.
4. Select the bubble again to clear the filter.

Try out the slicer


Let's look at how specific districts are doing.
1. Select Allan Guinot in the District Manager slicer on the top left.

Note that Allan's district outperformed in March and June, compared to last year.
2. With Allan Guinot still selected, select the Womens-10 bubble in the bubble chart.
Notice that for the Womens-10 category, Allan's district didn't meet last year's volume.
3. Explore the other district managers and categories; what other insights can you find?
4. When you are ready, return to the dashboard.

What the data says about sales growth this year


The last area we want to explore is our growth by examining the new stores opened this year.
1. Select the Stores Opened This Year by Open Month, Chain tile, which opens the New Stores
Analysis page of the report.

As evident from the tile, more Fashions Direct stores than Lindseys stores opened this year.
2. Observe the Sales Per Sq Ft by Name chart:

Notice the difference in average sales/square foot across the new stores.
3. Select the Fashions Direct legend item in the Open Store Count by Open Month and Chain top-
right chart. Notice, even for the same chain, the best store (Winchester Fashions Direct) significantly
outperforms the worst store (Cincinnati 2 Fashions Direct) by $21.22 vs $12.86, respectively.

4. Select Winchester Fashions Direct in the Name slicer and observe the line chart. The first sales
numbers were reported in February.
5. Select Cincinnati 2 Fashions Direct in the slicer and observe in the line chart that it was opened in
June and appears to be the worst performing store.
6. Explore by selecting other bars, lines, and bubbles throughout the charts and see what insights you can
discover.

Next steps: Connect to your data


This environment is a safe one to play in, because you can choose not to save your changes. But if you do save
them, you can always select Get data for a new copy of this sample.
We hope this tour has shown how Power BI dashboards, Q&A, and reports can provide insights into sample
data. Now it's your turn; connect to your own data. With Power BI, you can connect to a wide variety of data
sources. To learn more, see Get started with the Power BI service.
Sales and Marketing sample for Power BI: Take a
tour
7/30/2021 • 9 minutes to read • Edit Online

The Sales and Marketing sample contains a dashboard and report for a fictitious manufacturing company
named VanArsdel Ltd. The VanArsdel Chief Marketing Officer (CMO) created this dashboard to keep an eye on
the industry and the company's market share, product volume, sales, and sentiment.
VanArsdel has many competitors, but is the market leader in its industry. The CMO wants to increase market
share and discover growth opportunities. However, for unknown reasons, VanArsdel's market share has started
to decline, with significant dips in June.

This sample is part of a series that shows how you can use Power BI with business-oriented data, reports, and
dashboards. It was created by obviEnce with real data, which has been anonymized. The data is available in
several formats: in-product sample, .pbix Power BI Desktop file, or Excel workbook. See Samples for Power BI.
This tutorial explores the Sales and Marketing sample in the Power BI service. Because the report experience is
similar in Power BI Desktop and in the service, you can also follow along by using the sample .pbix file in Power
BI Desktop.
You don't need a Power BI license to explore the samples in Power BI Desktop. If you don't have a Power BI Pro
or Premium Per User (PPU) license, you can save the sample to your My Workspace in the Power BI service.

Get the sample


Before you can use the sample, you must first download the dashboard, report, and dataset, .pbix file, or Excel
workbook.
Get the sample from the Power BI service
1. Open the Power BI service (app.powerbi.com), sign in, and open the workspace where you want to save
the sample.
If you don't have a Power BI Pro or Premium Per User (PPU) license, you can save the sample to your My
Workspace.
2. In the bottom-left corner, select Get data .

3. On the Get Data page that appears, select Samples .


4. Select Sales and Marketing Sample , then choose Connect .

5. Power BI imports the sample and then adds a new dashboard, report, and dataset to your current
workspace.

Get the .pbix file for this sample


Alternatively, you can download the Sales and Marketing sample as a .pbix file, which is designed for use with
Power BI Desktop.
Get the Excel workbook for this sample
If you want to view the data source for this sample, it's also available as an Excel workbook. The workbook
contains Power View sheets that you can view and modify. To see the raw data, enable the Data Analysis add-ins,
and then select Power Pivot > Manage . To enable the Power View and Power Pivot add-ins, see Explore the
Excel samples in Excel for details.

What is our dashboard telling us?


Let's start our tour at the dashboard and look at the tiles the CMO has chosen to pin. We see information about
our market share, sales, and sentiment. Data is broken down by region, time, and competition.
The number tiles along the left column show industry sales volume for the past year (50,000), market share
(32.86%), sales volume (16,000), sentiment score (68), sentiment gap (4), and total units sold (1 million).
The top line chart (% Units Market Share vs. % Units Market Share Rolling 12 Months ) shows how
our market share fluctuates over time. Notice the large drop in June. Our rolling 12-month (R12M) share,
which was increasing for a while, is now starting to stall.
Our biggest competitor is Aliqui, as evident in the middle column chart tile (Total Units YTD Variance % ).
Most of our business is in the East and Central regions.
The line chart at the bottom (Total Units for 2014 ) shows that our dip in June isn't seasonal; none of our
competitors show the same trend.
The Total Units Overall and Total Units YTD tiles on the right show units sold, by segment and by
region/manufacturer. The largest market segments for our industry are Productivity and Convenience .

Use Q&A to dig a little deeper


By using Q&A, you can discover additional details in the data.
Which segments drive our sales? Do they match the industry trend?
1. Select the Total Units Overall by Segment tile, which opens Q&A and populates it with the query,
total units by segment.
2. At the end of the existing query, add: for VanArsdel. Q&A interprets the question and displays an updated
chart with the answer. Notice that our product volume is mostly from the Convenience and
Moderation segments.

3. Our share in the Moderation and Convenience categories is high; these segments are the ones where
we compete.
4. Return to the dashboard by selecting the Sales and Marketing Sample from the left navigation bar.
What does total unit market share look like for category (versus region)?
1. Notice the Total Units YTD by Manufacturer, Region tile. What is the total unit market share by
category?
2. Select the question field at the top of the dashboard and type the question, total units by manufacturer
and category for 2014 as a treemap. Notice how the visualization updates as you type the question.

3. To compare the findings, pin the chart to your dashboard. Notice this interesting fact: In 2014, VanArsdel
sold only products in the Urban category.
4. Return to the dashboard.

Sales and Marketing Sample report


Dashboards are an entry point into reports. If a tile was created from an underlying report, selecting that tile
opens the report.
On our dashboard, the % Units Market Share R12M line in the % Units Market Share vs. % Units
Market Share Rolling 12 Months chart shows that our market share is no longer increasing over time. It's
even declining a bit. And why do we have a large market share dip in June?
The report for the Sales and Marketing sample has four pages.
VanArsdel - Market Share page
Page one of the report focuses on VanArsdel's market share.
1. On the dashboard, select the % Units Market Share vs. % Units Market Share Rolling 12 Months
chart to open the VanArsdel - Market Share page of the Sales and Marketing Sample report.

2. Look at the Total Units by Month and isVanArsdel column chart at the bottom of the report. The
black column represents VanArsdel (our products) and the green column is our competition. The drop in
June 2014 that VanArsdel experienced was not experienced by the competition.
3. The Total Categor y Volume by Segment bar chart on the right is filtered to show VanArsdel's top two
segments. Take a look at how this filter was created:
a. Select the Total Categor y Volume by Segment chart.
b. Select the Filters pane on the right to expand it.
c. Under Visual level filters , notice that Segment is filtered to include only the Convenience and
Moderation segments.
d. Modify the filter by selecting Segment to expand it, and then check Productivity to add that segment.
4. In the Total Units by Month and isVanArsdel chart, select Yes in the legend to cross-filter the page by
VanArsdel. In the Total Categor y Volume by Segment chart, notice that we don't compete in the
Productivity segment.
5. Select the Yes again in the legend to remove the filter.
6. Look at the % Units Market Share and % Units Market Share R12M by Month line chart. It shows
our monthly market share and rolling 12-month market shares. Rolling-months data helps to smooth out
monthly fluctuations and shows the long-term trends. In the Total Categor y Volume by Segment bar
chart, select Convenience , and then Moderation to see the fluctuation in market share for each
segment. Notice that the Moderation segment shows much more fluctuation in market share.
We're still looking to find out why our market share dipped so low in June. Next, let's check the Sentiment
Analysis page of the report.
YTD Category Trend Analysis page
Page two of the report focuses on the year-to-date category trend.
Notice the following details:
VanArsdel is the largest company in this category and its biggest competitors are Natura, Aliqui, and Pirium.
We'll keep our eyes on them.
Aliqui is growing, but product volume compared to us is still low.
The treemap shows VanArsdel in green. In the East region, customers prefer our competition, but in the
Central region we're doing okay. Our share in the East region is our lowest.
Geography has an impact on units sold. The East region is the dominant region for most manufacturers and
VanArsdel has a strong presence in the Central region as well.
On the Total Units YTD Var % by Month and Manufacturer chart in the bottom right, notice that we
have positive variance, which is a good sign. We're doing better than last year, but so is our competitor, Aliqui.
Sentiment Analysis page
Page three of the report focuses on consumer sentiment.

Tweets, Facebook, blogs, and articles all contribute to consumer sentiment, which is shown in the two line charts
on left side of the page. The VanArsdel - Sentiment by Month chart in the top-left corner shows that
sentiment for our products was mostly neutral up until February. Then, a large drop started in February and
bottomed out in June. What happened to cause this drop in sentiment?
Let's look at external sources. In February, several articles and blog posts rated VanArsdel's customer service as
the worst in the industry. This bad press had a direct correlation to customer sentiment and sales. VanArsdel
worked hard to improve customer service, and customers and the industry took note. In July, positive sentiment
started to rise and then reached an all-time high in the 60s. This uptick in sentiment is reflected in the Total
Units by Month charts on pages one and two of the report. Perhaps this partially explains our market share
dips for June?
Sentiment gap might be another area to explore. Which districts have the highest sentiment gap, how can
management capitalize on it, and how can they replicate it in other districts?
Growth Opportunities page
Page four of the report focuses on competitive product analysis.

Notice the following details:


The Total Units by Segment chart in the bottom-left shows all the category segments, except for
VanArsdel's two strongest segments. Select each of the segments in turn to identify potential expansion areas
for VanArsdel.
Notice that the Extreme and Productivity segments are growing faster than others. However, we don't
compete in those segments; if we want to move into these segments, we can use our data to see which
segments are popular in which regions. We can further investigate such questions as which regions are
growing faster and who would be our biggest competitor in that segment.
Remember our market share dip in June? June is a significant month for the Productivity segment, a
segment we don't compete in at all. This detail could help explain our market share dip in June.
By filtering the visualizations by VanArsdel, by segment, by month, and by region, we can discover growth
opportunities for VanArsdel.

Next steps: Connect to your data


This environment is a safe one to play in, because you can choose not to save your changes. But if you do save
them, you can always select Get data for a new copy of this sample.
We hope this tour has shown how Power BI dashboards, Q&A, and reports can provide insights into human
resources data. Now it's your turn; connect to your own data. With Power BI, you can connect to a wide variety of
data sources. To learn more, see Get started with the Power BI service.
Supplier Quality Analysis sample for Power BI: Take
a tour
7/30/2021 • 7 minutes to read • Edit Online

This industry sample dashboard and underlying report focus on one of the typical supply chain challenges:
supplier quality analysis. Two primary metrics are at play in this analysis: total number of defects and the total
downtime that these defects caused.
This sample has two main objectives:
Understand who the best and worst suppliers are, with respect to quality.
Identify which plants do a better job finding and rejecting defects, to minimize downtime.

This sample is part of a series that shows how you can use Power BI with business-oriented data, reports, and
dashboards. It was created by obviEnce with real data, which has been anonymized. The data is available in
several formats: built-in sample in the Power BI service, .pbix Power BI Desktop file, or Excel workbook. See
Samples for Power BI.
This tutorial explores the Supplier Quality Analysis built-in sample in the Power BI service. Because the report
experience is similar in Power BI Desktop and in the service, you can also follow along by using the sample .pbix
file in Power BI Desktop.
You don't need a Power BI license to explore the samples in Power BI Desktop. If you don't have a Power BI Pro
or Premium Per User (PPU) license, you can save the sample to your My Workspace in the Power BI service.

Get the sample


Before you can use the sample, you must first download it as a sample in the Power BI service, or get the .pbix
file or Excel workbook.
Get the built-in sample
1. Open the Power BI service (app.powerbi.com), sign in, and open the workspace where you want to save
the sample.
If you don't have a Power BI Pro or Premium Per User (PPU) license, you can save the sample to your My
Workspace.
2. In the bottom-left corner, select Get data .

3. On the Get Data page that appears, select Samples .


4. Select Supplier Quality Analysis Sample , then choose Connect .

5. Power BI imports the built-in sample and then adds a new dashboard, report, and dataset to your current
workspace.

Get the .pbix file for this sample


Alternatively, you can download the Supplier Quality Analysis sample as a .pbix file, which is designed for use
with Power BI Desktop.
Get the Excel workbook for this sample
If you want to view the data source for this sample, it's also available as an Excel workbook. The workbook
contains Power View sheets that you can view and modify. To see the raw data, enable the Data Analysis add-ins,
and then select Power Pivot > Manage . To enable the Power View and Power Pivot add-ins, see Explore the
Excel samples in Excel for details.

Downtime caused by defective materials


Let's analyze the downtime caused by defective materials and see which vendors are responsible.
1. On the dashboard, select the Total Defect Quantity or the Total Downtime Minutes tile.
The Supplier Quality Analysis Sample report opens to the Downtime Analysis page.
Notice we have 33 million defective pieces, causing a total downtime of 77,000 minutes. Although some
materials have fewer defective pieces, they can cause delays, which result in more downtime. Let's
explore them on the report page.
2. If we look at the Total Downtime Minutes line in the Defects and Downtime (min) by Material
Type combo chart, we can see that corrugate materials cause the most downtime.
3. Select the Corrugate column to see which plants are affected most by this defect and which vendor is
responsible.

4. In the Downtime (min) by Plant map, select individual plants in turn to see which vendor or material is
responsible for the downtime at that plant.
Which are the worst suppliers?
We want to find the worst eight suppliers and determine what percentage of the downtime they're responsible
for creating. We can do so by changing the Downtime (min) by Vendor area chart to a treemap.
1. On the Downtime Analysis page of the report, select Edit in the top menu.
2. Select the Downtime (min) by Vendor area chart, and in the Visualizations pane, select the Treemap
icon.
The treemap automatically sets the Vendor field as the Group .

From this treemap, we can see the top eight vendors are the eight blocks on the left of the treemap. We
can also see they account for about 50% of all downtime minutes.
3. Select Supplier Quality Analysis Sample from the left navigation bar to return to the dashboard.
Comparing plants
Now let's explore which plant does a better job managing defective material, resulting in less downtime.
1. On the dashboard, select the Total Defect Repor ts by Plant, Defect Type map tile.

The report opens to the Supplier Quality Analysis page.


2. In the legend of the Total Defect Repor ts by Plant and Defect Type , select the Impact circle.

Notice in the bubble chart that Logistics is the most troublesome category. It's the largest in terms of
total defect quantity, defect reports, and downtime minutes. Let's explore this category more.
3. Select the Logistics bubble in the bubble chart and observe the plants in Springfield and Naperville, IL.
Naperville seems to be doing a much better job of managing defective supplies as it has a high number
of rejects and few impacts, compared to Springfield's large number for impacts.

4. Select Supplier Quality Analysis Sample in the left navigation bar to return to the dashboard.

Which material type is best managed?


The best managed material type is the one with lowest downtime or no impact, regardless of defect quantity.
1. In the dashboard, look at the Total Defect Quantity by Material Type, Defect Type tile.
Notice that although Raw Materials material type has many total defects, most of those defects are
either rejected or have no impact.
Let's verify that this material type doesn't cause much downtime, despite high defect quantity.
2. In the dashboard, look at the Total Defect Qty, Total Downtime Minutes by Material Type tile.

Raw materials appear to be well managed; although they have more defects, they have lower total
downtime minutes.
Compare defects to downtime by year
1. Select the Total Defect Repor ts by Plant, Defect Type map tile to open the report to the Supplier
Quality Analysis page.
2. In the Total Defect Qty by Month and Year chart, notice that defect quantity is higher in 2014 than in
2013.
3. Do more defects translate into more downtime? Ask questions in the Q&A box to find out.
4. Select Supplier Quality Analysis Sample in the left navigation bar to return to the dashboard.
5. Because we know that raw materials have the highest number of defects, type in the question box: show
material types, year, and total defect qty.
There were many more raw materials defects in 2014 than in 2013.

6. Next, change the question to: show material types, year, and total downtime minutes .
Notice that downtime for raw materials was about the same in 2013 and 2014, even though there were
many more raw materials defects in 2014. It appears that more defects for raw materials in 2014 didn't
lead to much more downtime for raw materials in 2014.
Compare defects to downtime month to month
Let's look at another dashboard tile related to total defective quantity.
1. Select Exit Q&A in the upper-left corner to return to the dashboard.
Look more closely at the Total Defect Quantity by Month, Year tile. It shows that the first half of 2014
had a similar number of defects as 2013, but in the second half of 2014, the number of defects increased
significantly.

Let's see if this increase in defect quantity led to an equal increase in downtime minutes.
2. In the question box, type total downtime minutes by month and year as a line chart.
Other than a jump in downtime minutes during June and October, the number of defects didn't result in
significantly more downtime. This result shows we're managing defects well.
3. To pin this chart to your dashboard, select the pin icon above the question box.
4. To explore the outlier months, check out the downtime minutes during October by material type, plant
location, category, and so on, by asking questions such as total downtime minutes in October by plant.
5. Select Exit Q&A in the upper-left corner to return to the dashboard.

Next steps: Connect to your data


This environment is a safe one to play in, because you can choose not to save your changes. But if you do save
them, you can always select Get data for a new copy of this sample.
We hope this tour has shown how Power BI dashboards, Q&A, and reports can provide insights into sample
data. Now it's your turn; connect to your own data. With Power BI, you can connect to a wide variety of data
sources. To learn more, see Get started with the Power BI service.
Download the Financial Sample Excel workbook for
Power BI
7/22/2021 • 2 minutes to read • Edit Online

Need some data to try with the Power BI service? We have a simple Excel workbook of sample financial data.
This workbook has a table of sales and profit data sorted by market segment and country.

Download it directly
You can download it directly: Financial Sample Excel workbook.

Get the sample in Power BI Desktop


You can also download it from Power BI Desktop. Select Tr y a sample dataset from the yellow welcome screen
or from the blank canvas.

If you've landed on this tutorial from the sample dataset dialog box, go ahead and choose Load data .

Next steps
Here are two tutorials that use this Financial sample data:
Power BI Desktop: From Excel workbook to stunning report
Power BI service: From Excel workbook to stunning report
More questions? Try the Power BI Community.
Use the ribbon in Power BI Desktop
9/20/2021 • 2 minutes to read • Edit Online

Power BI Desktop has revised its ribbon to better align its appearance and experience with other Microsoft
products, such as Microsoft Office.

Features of the ribbon


The benefits of the ribbon are intended to make the experience across Power BI Desktop, as well as other
Microsoft products, easy and familiar.
These benefits can be grouped into the following categories:
Search bar - The ribbon includes a Search experience, similar to the search available in other Microsoft
products. When you click the search bar, Power BI suggests actions based on the current state of your
report. As you type, search results are updated and buttons provided to get help, or take next steps.

Improved look , feel, and organization - icons and functionality in the updated Power BI Desktop
ribbon are aligned to the look, feel, and organization of ribbon items found in Office applications.
An intuitive Themes galler y - the Themes gallery, found in the View ribbon, has the familiar look and
feel of the PowerPoint themes gallery. As such, the images in the ribbon show you what the theme
changes will look like if applied to your report, such as the color combinations and fonts.

Dynamic ribbon content based on your view - in the existing ribbon for Power BI Desktop, icons or
commands that weren't available were simply grayed out, creating a less-than-optimal experience. With
the updated ribbon, icons are dynamically displayed and arranged, so that you always know which
options are available to you, in context.
A single-line ribbon, when collapsed, saves you space - another benefit of the updated ribbon is
the ability to collapse the ribbon itself into a single line, dynamically displaying ribbon items based on
your context.

Keytips to navigate and select buttons - to help navigate the ribbon, you can press Alt + Windows
Key to activate keytips. Once activated, you can press the shown keys on your keyboard to navigate.

Custom format strings - in addition to setting custom format strings in the Properties pane, you can
also set them in the ribbon. Select the measure or column you want to customize and a Measure tools
or Column tools contextual tab appears, depending on your selection. In that tab, you can type your
custom format string directly into the dropdown box.

Accessibility - the title bar, ribbon, and file menu are fully accessible. Press Ctrl + F6 to navigate to the
ribbon section. Once there, you can use Tab to move between the top and bottom bars, and use arrow
keys to move between elements.
In addition to those visible changes, an updated ribbon also lets us make future updates to Power BI Desktop,
and its ribbon, such as the following:
Create more flexible and intuitive controls in the ribbon, such as the visuals gallery
Add the black and dark gray Office themes to Power BI Desktop
Improve accessibility

Next steps
There are all sorts of data you can connect to using Power BI Desktop. For more information on data sources,
check out the following resources:
What is Power BI Desktop?
Data Sources in Power BI Desktop
Shape and Combine Data with Power BI Desktop
Connect to Excel workbooks in Power BI Desktop
Enter data directly into Power BI Desktop
Work with Report view in Power BI Desktop
6/2/2021 • 4 minutes to read • Edit Online

If you've been working with Power BI, you know how easy it's to create reports providing dynamic perspectives
and insights into your data. Power BI also has more advanced features in Power BI Desktop. With Power BI
Desktop, create advanced queries, mashup data from multiple sources, create relationships between tables, and
more.
Power BI Desktop includes a Report view , where you can create any number of report pages with visualizations.
Report view in Power BI Desktop provides a similar design experience to the report's editing view in the Power
BI service. You can move visualizations around, copy and paste, merge, and so on.
The difference between them is when using Power BI Desktop, you can work with your queries and model your
data to make sure your data supports the best insights in your reports. You can then save your Power BI
Desktop file wherever you like, whether it's your local drive or to the cloud.

Let's take a look!


When you first load data in Power BI Desktop, you'll see the Report view with a blank canvas, with links to help
you add data to your report.

You can switch between Repor t , Data , and Model views by selecting the icons in the left-hand navigation pane:
Once you've added some data, you can add fields to a new visualization in the canvas.

To change the type of visualization, you can select it on the canvas, then select a new type in Visualizations .
TIP
Be sure to experiment with different visualization types. It's important your visualization convey information in your data
clearly.

A report will have at least one blank page to start. Pages appear in the navigation area at the bottom of the
Repor t view. You can add all sorts of visualizations to a page, but it's important not to overdo it. Too many
visualizations on a page make it look busy and difficult to find the right information. You can add new pages to
your report. Just select New page from the Inser t tab on the ribbon, and then select Blank page .

You can also select the + icon next to the pages in the navigation area below the canvas to create a new page.
To delete a page, click the x on the page's tab at the bottom of the Report view.

NOTE
Reports and visualizations can't be pinned to a dashboard from Power BI Desktop. To do that, you'll need to publish to
your Power BI site. For more information, see Publish datasets and reports from Power BI Desktop.

Copy and paste between reports


You can easily take a visual from one Power BI Desktop report and paste it into another report. Simply use the
Ctrl+C keyboard shortcut to copy your report visual. In the other Power BI Desktop report, use Ctrl+V to paste
the visual into the other report. You can select one visual at a time, or all visuals on a page to copy, then paste
into the destination Power BI Desktop report.
The ability to copy and paste visuals is useful for people who build and updates multiple reports frequently.
When copying between files, settings and formatting that have been explicitly set in the formatting pane will
carry forward, while visual elements relying on a theme or the default settings automatically update to match
the theme of the destination report. So when you get a visual formatted and looking just the way you want, you
can copy and paste that visual into new reports and preserve all that good formatting work.
If the fields in your model are different, you'll see an error on the visual and a warning about which fields don't
exist. The error is similar to the experience you see when you delete a field in the model that a visual is using.

To correct the error, just replace the broken fields with the fields you want to use from the model in the report to
which you pasted the visual. If you're using a custom visual, you must also import that custom visual to the
destination report.

Hide report pages


When you create a report, you can also hide pages from a report. This approach might be useful if you need to
create underlying data or visuals in a report, but you don't want those pages to be visible to others, such as
when you create tables or supporting visuals that are used in other report pages. There are many other creative
reasons you might want to create a report page, then hide it from a report you want to publish.
Hiding a report page is easy. Simply right-click on the report page tab, and select Hide from the menu that
appears.
There are a few considerations to keep in mind when hiding a report page:
You can still see a hidden report view when in Power BI Desktop, even though the page shows a hidden
page icon. In the following image, the Over view page is hidden.

You cannot see a hidden report page when viewing the report in the Power BI service. However, if you're
looking at the hidden page when you save the report and publish it to the Power BI service, that page will
be the first one your report readers will see.
Hiding a report page is not a security measure. The page can still be accessed by users, and its content is
still accessible using drillthrough, and other methods.
When a page is hidden, when in View mode, no view-mode navigation arrows are shown.
Filters and highlighting in Power BI reports
8/5/2021 • 6 minutes to read • Edit Online

This article introduces you to filtering and highlighting in the Power BI service. The experience is almost exactly
the same in Power BI Desktop. Filters remove all but the data you want to focus on. In general, highlighting isn't
filtering. In most visuals, highlighting doesn't remove the unrelated data. Instead it highlights the related data.
The rest of the data remains visible but dimmed. See Cross-filter and cross-highlight later in this article for
details.

There are many different ways to filter and highlight reports in Power BI. Putting all of that information in one
article would be a lot, so we've broken it into these sections:
Introduction to filters and highlighting, the article you're reading now.
How filters and highlighting work in Reading view in the Power BI service. What you can do is more limited
than Editing view, but you still have a wide range of filtering and highlighting options.
How to create filters in the Filters pane in Power BI Desktop and the Power BI service. When you have editing
permissions for a report, you can create, modify, and delete filters in reports.
After you add filters, you can format the filters to act the way you want, and look like the rest of the report.
You've learned how filters and highlighting work by default. Now learn how to change the way visualizations
on a page filter and highlight each other.
Read about other types of filters in Power BI reports.

Intro to the Filters pane


You can apply filters in the Filters pane, or make selections in slicers directly on the report page itself. The Filters
pane shows the fields in individual visuals, and any other filters the report designer adds.
There are four standard types of filters that you create in the Filters pane.
Visual filter applies to a single visual on a report page. You see visual level filters when you select a visual
on the report canvas. Even if you can't edit a report, you can select a visual and filter it.
Page filter applies to all the visuals on the report page.
Repor t filter applies to all pages in the report.
Drillthrough filter With drillthrough in the Power BI service and Power BI Desktop, you create a destination
report page that focuses on a specific entity, such as a supplier. From the other report pages, users can right-
click a data point for that entity and drill through to the focused page.
To create the first three, the visual, page, and report filters, see Add a filter to a report in Power BI.
To create drillthrough filters, see Set up drillthrough in Power BI reports.
Basic and advanced filtering
By default, report readers can switch from Basic to Advanced filtering.
Basic filters show a list of all the values in the field. You can search in page, visual, and report filters, in Reading
or Editing view, to find and select the value you want.
A filter with the word All next to it is unfiltered, showing all the values in the field. For example, Chain is (All)
means the report page includes data about all the store chains. In contrast, the report-level filter FiscalYear is
2013 or 2014 means the report is only showing data for the fiscal years of 2013 and 2014.
Advanced filters let you use more complicated filters. For example, you could search for values that contain or
don't contain, start with or don't start with, a specific value.

When you create a report, you can turn off switching, and not allow report readers to change filter types. You
can also turn off search in the filter pane.

Filters in Reading or Editing view


There are two modes for interacting with reports in the Power BI service: Reading view and Editing view. The
filtering capabilities available to you depend on which mode you're in.
In Reading view, you can interact with any filters that already exist in the report, and save the selections you
make. You can't add new filters.
In Editing view, you can add all kinds of filters. When you save the report, the filters are saved with the
report, even if report readers open it in a mobile app. People looking at the report in Reading view interact
with the filters you added, but can't add new filters.
Filters in Reading view
In the Power BI service, if you select a visual in Reading view, the Filters pane looks similar to this:

Each visual has filters for all the fields in the visual. When you create a report, you can add more. In this Filters
pane, the visual has three filters.
In Reading view, you explore the data by modifying the existing filters. You're only filtering your view of the
report. When you exit the report, the changes you make are saved with your view of the report, even if you
open the report in a mobile app. To undo your filtering and return to the defaults set by the report author, select
Reset to default from the top menu bar.

Learn more about Reading view: Take a tour of the report Filters pane.
Filters in Editing view
When you open a report in Power BI Desktop, you see that Filters is just one of several editing panes available.
You see the same panes if you open a report in Editing view in the Power BI service.
We see this page of the report has four page-level filters. By selecting the column chart, we see it also has three
visual-level filters.
Work with filters in Editing view
Learn how to Add filters to a report in Power BI Desktop and in Editing view in the Power BI service.
After you add filters, you have lots of formatting options for them. For example, you can hide, lock, or
reorder filters, or format them to match the rest of the report. Learn how to format filters in a report.
You can also change the way the visuals interact. To fine-tune cross-highlighting and cross-filtering, see
Change how visuals interact in reports.

Cross-filter and cross-highlight visuals


You can explore the relationships between the visuals in your report without using filters or slicers. Select a
value or axis label in one visual to cross-filter or cross-highlight the related values in other visuals on the page.
They don't all behave the same.
Cross-highlighting Selecting a value in one visual highlights the related data in visuals such as column and
bar charts. Cross-highlighting doesn't remove the unrelated data from those visuals. The unrelated data is
still visible but dimmed.
Cross-filtering Selecting a value in one visual acts more like a filter in other visuals, such as line charts and
scatter charts. In those visuals, only the related data remains visible. The unrelated data isn't visible, just as
you'd see with a filter.
To remove the highlighting, select the value again, or select any empty space in the same visual. For more
examples, see the Cross-filtering and cross-highlighting section of "How visuals cross-filter each other in a
Power BI report."
Next steps
Add a filter to a report in Editing view
Format filters in Power BI reports
Take a tour of report filters
How report visuals cross-filter and cross-highlight each other in a report
More questions? Try the Power BI Community
Overview of accessibility in Power BI
4/30/2021 • 2 minutes to read • Edit Online

When working with Power BI, consider the different types of users who may 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 may have visual or physical impairments to benefit from your reports.

This article provides an overview of Power BI and accessibility. Additional articles provide guidance, and tools,
that can help you create great reports with accessibility in mind.

Universal design
Universal design is the design of products that are usable by as many people as reasonably possible, without the
need for special adaptation or specialized design. When creating reports or experiences in Power BI, it’s
important to consider the needs of your users. Designing an accessible experience won't only benefit your end
users who may have hearing, motor, cognitive, or visual impairments. It can help all the end users in your
organization. Power BI gives you the tools to make and consume accessible reports. It’s up to you, as a report
creator, to use those tools to improve everyone’s experience.

Accessibility standards
Power BI is committed to the following accessibility standards. The standards help ensure that your Power BI
experiences are accessible to as many people as possible. When you build accessible reports or dashboards, that
content is accessible for anyone who views them using Power BI Mobile.
WCAG 2.1
Web Content Accessibility Guidelines (WCAG) help make web content accessible to people with disabilities. The
following are key principles of the guidelines:
1. Perceivable . Information and user interface components must be presentable to users in ways they can
perceive.
2. Operable . User interface components and navigation must be operable.
3. Understandable . Information and the operation of user interface must be understandable.
US Section 508
US Section 508 is a standard that requires governments and federal agencies to make their electronic and
information technology accessible to people with disabilities.
EN 301 549
EN 301 549 is the Harmonized European Standard for Accessibility requirements for ICT products and services.

Next steps
For more information about Power BI accessibility, see the following resources:
Design Power BI reports for accessibility
Consume Power BI reports by using accessibility features
Creating reports in Power BI using accessibility tools
Keyboard shortcuts in Power BI Desktop
Report accessibility checklist
Certificate revocation check, Power BI Desktop
5/19/2021 • 2 minutes to read • Edit Online

Certificates ensure the security of your connections to online data sources. You can check to see if a certificate
has been revoked before you connect. Power BI offers two ways to enable or disable a certificate check:
In Options in Power BI Desktop.
By editing the registry.

Revocation check options


Both methods offer three possible settings:
Comprehensive check : Reject certificates that have been revoked, and certificates without revocation
information.
Basic check : Only reject certificates that have been revoked. Certificates without revocation information are
allowed through. This is important for some organizations with corporate proxy services.
None , or Disabled : Power BI doesn't check revocation information. All valid certificates are allowed through.

C ERT IF IC AT E REVO C AT IO N
IN F O RM AT IO N STAT US C O M P REH EN SIVE C H EC K B A SIC C H EC K N O N E / DISA B L ED

Revoked ❌ ❌ ✔

Unknown ❌ ✔ ✔

Not revoked ✔ ✔ ✔

In Power BI Desktop
You can enable or disable the check in the user interface in Power BI Desktop. On the File menu > Options and
settings > Options , select Security , then select one of the three options:
Comprehensive check
Basic check
None
Basic check is the default selection.
In registry settings
You can also control the certificate revocation check by setting the DWORD registry value
DisableCertificateRevocationCheck . Admins can also use this method to control the setting for their whole
organization.
Basic
Disabled is the same as None in Power BI Desktop.
Comprehensive
Set the DWORD registry value DisableCertificateRevocationCheck in the Power BI Desktop registry key. The key
is in one of these folders, depending on your operating system:

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Microsoft Power BI Desktop

Or:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Power BI Desktop

Set the registry value to one of the following values:

VA L UE M O DE C O N F IGURAT IO N

0 Basic Certificates with an unknown


revocation status are accepted.
Equivalent to Basic in Power BI
Desktop.

1 Disabled Ignores all revocation checks.


Equivalent to None in Power BI
Desktop.
VA L UE M O DE C O N F IGURAT IO N

2 Comprehensive Requires not revoking certificates.


Doesn't accept certificates with
unknown revocation status. Equivalent
to Comprehensive in Power BI
Desktop.
Evaluation configuration settings, Power BI Desktop
7/27/2021 • 2 minutes to read • Edit Online

Power BI Desktop optimizes query performance when importing data or when using DirectQuery by evaluating
tables simultaneously. However, in specific situations, you might want to influence the behavior and change the
defaults. Consider the following examples:

SIT UAT IO N GUIDA N C E

Data import is taking too long. Increase maximum number of simultaneous evaluations
and/or available memory per evaluation.

DirectQuery queries are slow to execute, not caused by Increase maximum number of simultaneous evaluations
limitations on the source system. and/or available memory per evaluation.

Power BI Desktop is taking too much of the machine's Decrease maximum number of simultaneous and/or
resources when importing data or executing DirectQuery available memory per evaluation.
queries.

Power BI offers two settings which impact the situations outlined above:
Maximum number of simultaneous evaluations. This configures the level of parallelization for query
execution in PowerQuery.
Maximum memory used per simultaneous evaluation. This configures the available memory per evaluation.

Maximum number of simultaneous evaluations


You can control the number of simultaneous evaluations and thereby influence the level of parallelization for
query execution in PowerQuery. By default, the maximum number of simultaneous evaluations is equal to the
number of logical CPU cores on the machine. The minimum value is 1 and the maximum value is equivalent to
the number of logical CPU cores on the machine.

Maximum memory used per simultaneous evaluation


You can control the available memory per simultaneous evaluation. This setting configures the available
memory per evaluation in MB and by default Power BI has a maximum memory allocation per evaluation of 432
MB. The minimum value is 1 (recommended a minimum of 256) and the theoretical (but not recommended)
maximum value is equal to a 100% of the RAM on the machine divided by the maximum number of
simultaneous evaluations (set by the maximum number of simultaneous evaluations setting mentioned above).
As a best practice we recommend never setting this value higher than 90% of the RAM on the machine.

Changing configuration settings


Power BI offers two ways to change these settings:
In Options in Power BI Desktop.
By editing the registry.

In Power BI Desktop
You can change these setting in the user interface in Power BI Desktop. On the File menu > Options and
settings > Options , select Data Load under Global, then change the following settings under Loading tables
simultaneously :
Maximum number of simultaneous evaluations
Maximum memory used per simultaneous evaluation (MB)

In registry settings
You can also change these settings by setting the appropriate DWORD registry values. Admins can also use this
method to control the setting for their whole organization.
To change the number of evaluation containers set the DWORD registry value
ForegroundEvaluationContainerCount . To change the available memory per evaluation container set the DWORD
registry value MaxEvaluationWorkingSetInMB .
When changing these setting, please keep in mind the minimum and maximum values discussed above.
The keys mentioned above are in one of these folders, depending on your operating system:

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Microsoft Power BI Desktop

Or:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Power BI Desktop


Introduction: Use natural language to explore data
with Power BI Q&A
8/9/2021 • 4 minutes to read • Edit Online

Sometimes the fastest way to get an answer from your data is to perform a search over your data using natural
language. The Q&A feature in Power BI lets you explore your data in your own words using natural language.
Q&A is interactive, even fun. Often, one question leads to others as the visualizations reveal interesting paths to
pursue. Asking the question is just the beginning. Travel through your data, refining or expanding your question,
uncovering new information, zeroing in on details, or zooming out for a broader view. The experience is
interactive and fast, powered by an in-memory storage.
Power BI Q&A is free and available to all users. In Power BI Desktop, report designers can use Q&A to explore
data and create visualizations. In the Power BI service, everyone can explore their data with Q&A. Our mobile
apps support Q&A too, with the Q&A virtual assistant in iOS and the Q&A visual on Android devices. If you
have permission to edit a dashboard or report, you can also pin your Q&A results.

How to use Q&A

Even before you start typing, Q&A displays a new screen with suggestions to help you form your question. Start
either from one of the suggested questions or type your own questions. Q&A supports a wide range of
questions, including but not limited to:
Ask natural questions Which sales has the highest revenue?
Use relative date filtering Show me sales in the last year
Return only the top N Top 10 products by sales
Provide a filter Show me sales in the USA
Provide complex conditions Show me sales where product category is Category 1 or Category 2
Return a specific visual Show me sales by product as pie chart
Use complex aggregations Show me median sales by product
Sor t results Show me top 10 countries by sales ordered by country code
Compare data Show me date by total sales vs total cost
View trends Show me sales over time
Autocomplete
As you type your question, Power BI Q&A shows relevant and contextual suggestions to help you quickly
become productive with natural language. As you type, you get immediate feedback and results. The experience
is similar to typing in a search engine.

Red/Blue/Orange underlines
Q&A shows words with underlines to help you see which words the system understood or didn't recognize. A
solid blue underline indicates that the system successfully matched the word to a field or value in the data-
model. The example below shows that Q&A recognized the word EU Sales.

An orange underline indicates the word/words is categorized as low confidence. If you type a vague or
ambiguous word, the field is underlined in orange. An example could be the word 'Sales'. Multiple fields could
contain the word 'Sales', so the system uses a orange underline to prompt you to choose the field you meant.
Another example of low confidence could be if you type the word 'area', but the column it matches is 'region'.
Power BI Q&A recognizes words that mean the same thing, thanks to the integration with Bing and Office and
also interpreting renames from within a report as potential suggestions. Q&A underlines the word in orange so
you know it's not a direct match.
A red underline means Q&A didn't recognize the word at all. You could encounter this issue by using a domain-
specific term that isn't mentioned anywhere in the data, or the data fields are incorrectly named. An example
could be using the word 'Costs' though the word doesn't exist anywhere in the data. The word is in the English
dictionary, but Q&A will mark this term with a red underline to indicate it didn't find this term with respect to
the data.

NOTE
You can customize the blue/red/orange underline colors in the Q&A Visual formatting pane. Also, the Q&A tooling
article explains Teach Q&A, which you use to define terms Q&A didn't recognize.

Visualization results
As you type your question, Q&A tries to instantly interpret and visualize the answer. As part of the latest
updates, Q&A now tries to interpret the question and plot the fields automatically to the correct axis. For
example, if you type 'Sales by year', Q&A detects that year is a date field and always prioritizes placing this field
on the X axis. If you want to change the visualization type, type 'as chart type' after the question. Q&A currently
supports these types of visualizations:
Line chart
Bar chart
Matrix
Table
Card
Area
Pie chart
Scatter/Bubble chart
Map

Add Q&A to a report


You can add Q&A to a report in Power BI Desktop or the Power BI service in two different ways:
Add a Q&A visual.
Add a Q&A button.
To add the Q&A visual to a report, select the Q&A icon, or select the Q&A visual in the Visualization pane.
Alternatively, double-clicking anywhere on the report canvas automatically inserts the Q&A visual.

To add a button, on the Home ribbon, select Buttons > Q&A . You can completely customize the Q&A button
image.

Use Q&A for dashboards


By default, Q&A is available at the top of dashboards. To use Q&A, type in the Ask a question about your
data box.

Next steps
You can integrate natural language in your reports in a variety of ways. For more information, see these articles:
Q&A visual
Q&A best practices
Use natural language with import, live connect, and
direct query
7/29/2021 • 2 minutes to read • Edit Online

The Q&A feature in Power BI lets you quickly get answers from your data by using natural language to ask
questions about that data. This article describes how indexing and caching are used to improve performance for
each supported configuration.

What data sources are supported in Q&A?


Q&A is supported in the following configurations:
Import mode
Live connect mode – Using on-premises SQL Server Analysis Services, Azure Analysis Services, or Power BI
datasets
Direct Query – Azure Synapse, Azure SQL, and SQL Server 2019. Although other sources may work in direct
query mode, we do not officially support these sources.
By default, Q&A is enabled inside a report if you use the Q&A visual. A prompt will appear if you're using Direct
Query or Live connect. You can explicitly turn on/off the natural language capabilities for a report by going into
options.
For more information, see Limitations of Power BI Q&A.

How does indexing work with Q&A?


When you enable Q&A, an index is built to quickly provide real-time feedback to the user and to help interpret
the user’s questions. The index can take some time to build and will have the following elements and limitations.
All column names and tables are inserted into the index unless it has been explicitly turned off from within
the Q&A tooling.
All text values fewer than 100 characters will be indexed. Text values greater than 100 characters won't be
indexed.
Q&A will store a maximum of 5 million unique values in its index. If you exceed this threshold, the index
won't hold all the potential values which may decrease the accuracy of the results you receive from Q&A.
If an error occurs during indexing, the index will remain in a partial state and will be recreated on the next
refresh, as described in the next section.

How often is the index refreshed and cached?


In Power BI Desktop, the index is created at the time you use Q&A. A small icon will appear letting you know the
index is being built. During this time, the Q&A visual, including suggestions, may take some time to load.
In Power BI Service, the index is recreated on publish/republish and refresh. The Q&A index isn't always created
automatically and will sometimes be based upon an on-demand basis to optimize the dataset refreshes. For
Direct Query, we'll index the data at most once per day to reduce the impact on the Direct Query source.

Next steps
You can integrate natural language in your reports in a variety of ways. For more information, see these articles:
Q&A visual
Q&A best practices
Intro to Q&A tooling to train Power BI Q&A
(preview)
8/13/2021 • 5 minutes to read • Edit Online

With Power BI Q&A tooling, you can improve the natural language experience for your users. As a designer or
administrator, you interact with the natural language engine and make improvements in three areas:
Review questions your users have asked.
Teach Q&A to understand questions.
Manage terms you've taught Q&A.
In addition to these dedicated tooling capabilities, the Modeling tab in Power BI Desktop offers more options:
Synonyms
Row labels
Hide from Q&A
Configuring of the linguistic schema (advanced)

Get started with Q&A tooling


Q&A tooling is only available in Power BI Desktop, and currently only supports import mode.
1. Open Power BI Desktop and use Q&A to create a visual.
2. From the corner of the visual, select the gear icon.

The Getting started page opens.

Field synonyms
Select Field synonyms to see all the tables and columns that belong to the model. This view allows you to add
alternative names to match the columns to help users. You can also choose whether or not a column or table
should be hidden from Q&A.

Select one of the tables to expand and you'll see a dialog similar to the one below.

The dialog shows all the columns, tables, and respective terms/synonyms that users can use when asking
questions against the dataset. You can quickly see all the terms in one place and also add or remove terms for
multiple columns.
Add terms - If you have a field called sales, you may decide to add a term called revenue so a user can
use this word instead of being required to use the word sales. Select Add to quickly add a new term.
Include in Q&A - This option allows a column or table to be omitted from Q&A, meaning it won't be
shown nor a result can be displayed with this column. A circumstance where you may decide to not
include a column is when dealing with dates. If there are numerous date fields, or foreign keys, you may
decide to remove all but one of the date fields so the correct date column is picked when a user asks a
date related question.
Suggested Terms - Q&A also recommends suggested terms retrieved from our suggestions engine to
help you quickly add terms/synonyms. If the suggestions aren't added, They still function, but they give
the user an orange dotted line indicating Q&A thinks it has an answer but isn't sure. If the suggested
synonym is correct, select the plus icon (+) so it can be used as a synonym. If the suggestion is incorrect,
select the x to remove the term. It won't be used as a term/synonym and won't function inside Q&A. The
initial suggestions are powered by Office Dictionary or can come from renames found inside a report.
Another way to get more suggested terms is through synonym sharing within your organization.
Synonym sharing
With synonym sharing, you can leverage your coworkers’ synonyms and minimize duplicate effort when adding
synonyms to your models. To connect to shared synonyms, navigate to Q&A setup > Field synonyms and
select Get more synonyms .

This process may take a few seconds, but once it’s completed, you also have the option to share your synonyms
to everyone in your org as well.

NOTE
Synonyms are only shared when you publish the report.

Any shared synonyms that match fields in your model show up in the Suggested terms section. You can select
the plus icon (+) on the suggested term to add it as a field synonym.
As new synonyms get shared within your organization, you can select the refresh icon to ensure that your
Suggested terms are in sync with your organization.

Review questions
Select Review questions to see a list of datasets being used in the Power BI service for your tenant. The
Review questions page also displays the dataset owner, workspace, and last refreshed date. From here, you
can select a dataset and see what questions users have been asking. The data also shows words that weren't
recognized. All data shown here is for the last 28 days.

Teach Q&A
The Teach Q&A section allows you to train Q&A to recognize words. To begin, type a question that contains a
word or words that Q&A doesn't recognize. Q&A prompts you for the definition of that term. Enter either a filter
or a field name that corresponds to what that word represents. Q&A then reinterprets the original question. If
you're happy with the results, you can save your input. To learn more, see Teach Q&A
Manage terms
Anything you've saved from the Teach Q&A section shows up here, so you can review or delete terms you've
defined. Currently you can't edit an existing definition, so to redefine a term you must delete and recreate that
term.

Suggest questions
NOTE
The suggested questions show up for all instances of the Q&A visual. It isn't possible to create a separate set of
suggestions for each Q&A visual.

Without doing any setup, the Q&A visual suggest several questions to get started with. These questions are
automatically generated based on your data model. In Suggest questions , you can overwrite the
autogenerated questions with your own questions.
To start, type the question you want to add in the text box. In the preview section, you see what the result will
look like in the Q&A visual.

Select the Add button to add this question to Your suggested questions . Every additional question is added
to the end of this list. The questions will show up in the Q&A visual in the same order as they do in this list.

Make sure to select Save to show your list of suggested questions in the Q&A visual.

Set a row label


A row label allows you to define which column (or field) best identifies a single row in a table. For example, for a
table called 'Customer', the row label is usually 'Display Name'. Providing this extra metadata allows Q&A to
plot a more helpful visual when users type in 'Show me sales by customer'. Instead of treating 'customer' as a
table, it can instead use 'Display Name' and display a bar chart showing each customer's sales. You can only set
the row label Modeling view.
1. In Power BI Desktop, select Modeling view.
2. Select a table to display the Proper ties pane.
3. In the Row label box, select a field.

Configure the linguistic schema (advanced)


In Power BI, you can completely train and enhance the natural language engine inside Q&A, including changing
the scoring and weighting of the underlying natural language results. To learn how, see Edit Q&A linguistic
schema and add phrasings.

Next steps
There are many other best practices for improving the natural language engine. For more information, Q&A
best practices.
Edit Q&A linguistic schema and add phrasings in
Power BI Desktop
7/29/2021 • 15 minutes to read • Edit Online

Using common phrases and natural language to ask questions of your data is powerful. Even more powerful is
when your data answers. When you ask Power BI Q&A a question, it makes a best effort to answer correctly. But
for even better Q&A interactions, you can improve the answers. One way is by editing the linguistic schema.
It all starts with your enterprise data. The better the data model, the easier it will be for users to get quality
answers. One way to improve the model is to add a linguistic schema that defines and categorizes terminology
and relationships between table and column names in your dataset. Power BI Desktop is where you manage
your linguistic schemas.
There are two sides to Q&A. The first side is the preparation, or modeling. The second side is asking questions
and exploring the data, or consuming. In some companies, employees known as data modelers or IT admins
may be the ones to assemble the datasets, create the data models, and publish the datasets to Power BI. A
different set of employees would be the ones to "consume" the data online. In other companies, these roles may
be combined.
This article is for the data modelers, the people who optimize datasets to provide the best possible Q&A results.

What is a linguistic schema?


A linguistic schema describes terms and phrases that Q&A should understand for objects within a dataset,
including parts of speech, synonyms, and phrasings that relate to that dataset. When you import or connect to a
dataset, Power BI creates a linguistic schema based on the structure of the dataset. When you ask Q&A a
question, it looks for matches and relationships in the data to figure out the intention of your question. For
example, it looks for nouns, verbs, adjectives, phrasings, and other elements. And it looks for relationships, such
as which columns are objects of a verb.
You're probably familiar with parts of speech (if not, see below), but phrasings may be a new term. A phrasing is
how you talk about (or phrase) the relationships between things. For example, to describe the relationship
between customers and products, you might say “customers buy products”. Or to describe the relationship
between customers and ages, you might say “ages indicate how old customers are”. Or to describe the
relationship between customers and phone numbers, you might simply say “customers have phone numbers”.
These phrasings come in a variety of shapes and sizes. Some correspond directly with relationships in the data
model. Some relate columns with their containing tables. Others relate multiple tables and columns together in
complex relationships. In all cases, they describe how things are related using everyday terms.
Linguistic schemas are saved in a .yaml format. This format is related to the popular JSON format but provides a
more flexible and easier-to-read syntax. Linguistic schemas can be edited, exported, and imported into Power BI
Desktop.

Prerequisites
If you haven't already read the article on improving your data model for Q&A, you may want to read that
article first. It includes numerous tips for designing and improving your data model and an important section
on adding synonyms.
Download sample .yaml and .pbix files.
Install a .yaml file editor. We recommend Visual Studio Code.
Set up an editor for .yaml files
We recommend using Visual Studio Code to edit linguistic schema .yaml files. Visual Studio Code includes out-
of-the-box support for .yaml files and can be extended to specifically validate the Power BI linguistic schema
format.
1. Install Visual Studio Code.
2. Select the sample linguistic schema that you saved earlier: .yaml file (SummerOlympics.lsdl.yaml).
3. Select Visual Studio Code and Always use this app to open .yaml files .

4. In Visual Studio Code, install the YAML Support by Red Hat extension.
a. Select the Extensions tab (last one on the left) or CTRL+SHIFT+X.

b. Search for "yaml" and select YAML Suppor t by Red Hat in the list.
c. Select Install > Reload .

Working with linguistic schemas


There are two ways to work with linguistic schemas. One way is to edit, import, and export the .yaml from the
ribbon in Power BI Desktop. That way is covered in the Power BI Q&A Tooling experience article. You don't have
to open the .yaml file in order to improve Q&A.
The other way to edit a linguistic schema is to export and edit the .yaml file directly. When you edit a linguistic
schema .yaml file, you tag columns in the table as different grammatical elements, and define words that a
colleague might use to phrase a question. For instance, you state the columns that are the subject and the object
of the verb. You add alternative words that colleagues can use to refer to tables, columns, and measures in your
model.

Before you can edit a linguistic schema, you must open (export) it from Power BI Desktop. Saving the .yaml file
back to the same location is considered importing. But you can also import other .yaml files instead. If, for
instance, you have a similar dataset and you've already put in a lot of work adding parts of speech, identifying
relationships, creating phrasings, and creating synonyms, you can use that .yaml file in a different Power BI
Desktop file.
Q&A uses all this information together with any enhancements that you make to provide a better answer, auto
completion, and summary of the questions.

Edit a linguistic schema


When you first export your linguistic schema from Power BI Desktop, most or all of the content in the file is
automatically generated by the Q&A engine. These generated entities, words (synonyms), relationships, and
phrasings are designated with a State: Generated tag. They're included in the file mostly for informational
purposes but can be a useful starting point for your own changes.

NOTE
The sample .yaml file included with this tutorial doesn't contain State:Generated or State:Deleted tags since it was
prepared specifically for this tutorial. To see these tags, open an unedited .pbix file in Relationship view and export the
linguistic schema.
When you import your linguistic schema file back into Power BI Desktop, anything that is marked State:
Generated is ignored, and later regenerated. Thus, if you’d like to change some generated content, remove the
corresponding State: Generated tag as well. Similarly, if you want to remove some generated content, change
the State: Generated tag to State: Deleted so that it isn't regenerated when you import your linguistic
schema file.
Export, then import a .yaml file
1. Open the dataset in Model view in Power BI Desktop.
2. On the Modeling tab, select Linguistic Schema > Expor t linguistic schema .
3. Save it. The file name ends with .lsdl.yaml.
4. Open it in Visual Code or another editor.
5. In Model view in Power BI Desktop, on the Modeling tab, select Linguistic Schema > Impor t
linguistic schema .
6. Navigate to the location where you saved the edited .yaml file and select it. A Success message lets you
know that the linguistic schema .yaml file was successfully imported.

Phrasings in the linguistic schema


Again, a phrasing is how you talk about (or “phrase”) the relationships between things. For example, to describe
the relationship between customers and products, you might say “customers buy products”.

Where do phrasings come from?


Power BI adds many simple phrasings to the linguistic schema automatically, based on the structure of the
model and some guesses based on column names. For example:
Most columns relate to their containing table with a simple phrasing, like “products have descriptions”.
Model relationships result in default phrasings for both directions of the relationship, like “orders have
products” and “products have orders”.
Some model relationships can, based on their column names, get a more complex default phrasing like
“orders are shipped to cities”.
Your users talk about things in plenty of ways that Q&A can’t guess, however. Therefore, you may want to add
your own phrasings manually.

Why add phrasings?


The first reason for adding a phrasing is to define a new term. For example, if you want to be able to ask “list the
oldest customers”, you must first teach Q&A what you mean by “old”. You would do so by adding a phrasing like
“ages indicate how old customers are”.
The second reason for adding a phrasing is to resolve ambiguity. Basic keyword search only goes so far when
words have more than one meaning. For example, “flights to Chicago” isn't the same as “flights from Chicago”.
But Q&A won’t know which one you mean unless you add the phrasings “flights are from departure cities” and
“flights are to arrival cities”. Similarly, Q&A will only understand the distinction between “cars that John sold to
Mary” and “cars that John bought from Mary” after you add the phrasings “customers buy cars from
employees” and “employees sell customers cars”.
The final reason for adding a phrasing is to improve restatements. Rather than Q&A echoing back to you “Show
the customers and their products”, it would be clearer if it said “Show the customers and the products they
bought” or “Show the customers and the products they reviewed”, depending on how it understood the
question. Adding custom phrasings allows restatements to be more explicit and unambiguous.

Kinds of phrasings
To understand the different types of phrasings, you’re first going to need to remember a couple of basic
grammar terms:
A noun is a person, place, or thing. Examples: car, teenager, Marty, flux capacitor
A verb is an action or state of being. Examples: hatch, burst, devour, eject
An adjective is a descriptive word that modifies a noun. Examples: powerful, magical, golden, stolen
A preposition is a word used before a noun to relate it to a previous noun, verb, or adjective Examples: of, for,
near, from
An attribute is a quality or feature of something.
A name is a word or set of words by which a person, animal, place, or thing is known or referred to.
Attribute phrasings
Attribute phrasings are the workhorse of Q&A, used when one thing is acting as an attribute of another thing.
They’re simple and straightforward, and perform most of the heavy lifting when you haven't defined a subtler,
more detailed phrasing. Attribute phrasings are described using the basic verb “have” (“products have
categories” and "host countries have host cities"). They also automatically allow questions with the prepositions
“of” and “for” (“categories of products”, “orders for products”) and possessive (“John’s orders”). Attribute
phrasings are used in these kinds of questions:
Which customers have orders?
List host cities by country ascending
Show orders that have chai
List customers with orders
What is the category of each product?
Count Robert King's orders
Power BI generates the overwhelming majority of attribute phrasings needed in your model, based on
table/column containment and model relationships. Typically, you don’t need to create them yourself. Here's an
example of how an attribute phrasing looks inside the linguistic schema:

product_has_category:
Binding: {Table: Products}
Phrasings:
- Attribute: {Subject: product, Object: product.category}

Name Phrasings
Name phrasings are helpful if your data model has a table that contains named objects such as athlete names
and customer names. For example, a “product names are names of products” phrasing is essential for being able
to use product names in questions. Name phrasing also enables “named” as a verb (for example, “List customers
named John Smith”). However, it's most important when used in combination with other phrasings, to allow a
name value to be used to refer to a particular table row. For example, in “Customers that bought chai”, Q&A can
tell the value “chai” refers to the whole row of the product table, rather than just a value in the product name
column. Name phrasings are used in these kinds of questions:
Which employees are named Robert King
Who is named Ernst Handel
Fernand De Montigny's sports
Count of athletes named Mary
What did Robert King buy?
Assuming you used a sensible naming convention for name columns in your model (for example, “Name” or
“ProductName” rather than “PrdNm”), Power BI generates most of the name phrasings needed in your model
automatically, so you usually don’t need to create them yourself.
Here's an example of how a name phrasing looks inside of the linguistic schema:

employee_has_name:
Binding: {Table: Employees}
Phrasings:
- Name:
Subject: employee
Name: employee.name

Adjective phrasings
Adjective phrasings define new adjectives used describe things in your model. For example, “happy customers
are customers where rating > 6” phrasing is needed to ask questions like “list the happy customers in Des
Moines”. There are several forms of adjective phrasings, for use in different situations.
Simple adjective phrasings define a new adjective based on a condition, such as “discontinued products are
products where status = D”. Simple adjective phrasings are used in these kinds of questions:
Which products are discontinued?
List the discontinued products
List the gold medalists
Products that are backordered
Here's an example of how a simple adjective phrasing looks inside of the linguistic schema:
product_is_discontinued:

Binding: {Table: Products}


Conditions:
- Target: product.discontinued
Operator: Equals
Value: true
Phrasings:
- Adjective:
Subject: product
Adjectives: [discontinued]

Measurement adjective phrasings define a new adjective based on a numeric value that indicates the extent to
which the adjective applies, such as “lengths indicate how long rivers are” and "small country/regions have
small land areas". Measurement adjective phrasings are used in these kinds of questions:
List the long rivers
Which rivers are the longest?
List the smallest country/regions that won gold in basketball
How long is the Rio Grande?
Here's an example of how a measurement adjective phrasing looks inside of the linguistic schema:
river_has_length:

Binding: {Table: Rivers}


Phrasings:
- Adjective:
Subject: river
Adjectives: [long]
Antonyms: [short]
Measurement: river.length

Dynamic adjective phrasings define a set of new adjectives based on values in a column in the model, such as
“colors describe products” and "events have event genders". Dynamic adjective phrasings are used in these
kinds of questions:
List the red products
Which products are green?
Show skating events for females
Count issues that are active
Here's an example of how a dynamic adjective phrasing looks inside the linguistic schema:
product_has_color:

Binding: {Table: Products}


Phrasings:
- DynamicAdjective:
Subject: product
Adjective: product.color

Noun phrasings
Noun phrasings define new nouns that describe subsets of things in your model. They often include some type
of model-specific measurement or condition. For example, for our Olympics model we might want to add
phrasings that distinguish champions from medalists, ball sports from water sports, teams versus individuals,
age categories of athletes (teens, adults, seniors), etc. For our movie database, we might want to add noun
phrasings for “flops are movies where net profit < 0” so that we can ask questions like “count the flops by year”.
There are two forms of noun phrasings, for use in different situations.
Simple noun phrasings define a new noun based on a condition, such as “contractors are employees where full
time = false” and "champion is athlete where count of medals >5". Simple noun phrasings are used in these
kinds of questions:
Which employees are contractors?
Count the contractors in Portland
How many champions in 2016
Here's an example of how a simple noun phrasing looks inside of the linguistic schema:
employee_is_contractor:

Binding: {Table: Employees}


Conditions:
- Target: employee.full_time
Operator: Equals
Value: false
Phrasings:
- Noun:
Subject: employee
Nouns: [contractor]

Dynamic noun phrasings define a set of new nouns based on values in a column in the model, such as “jobs
define subsets of employees”. Dynamic noun phrasings are used in these kinds of questions:
List the cashiers in Chicago
Which employees are baristas?
List the referees in 1992
Here's an example of how a dynamic noun phrasing looks inside of the linguistic schema: employee_has_job:

Binding: {Table: Employees}


Phrasings:
- DynamicNoun:
Subject: employee
Noun: employee.job

Preposition phrasings
Preposition phrasings are used to describe how things in your model are related via prepositions. For example, a
“cities are in countries” phrasing improves understanding of questions like “count the cities in Washington”.
Some preposition phrasings are created automatically when a column is recognized as a geographical entity.
Preposition phrasings are used in these kinds of questions:
Count the customers in New York
List the books about linguistics
Which city is Robert King in?
How many books are by Stephen Pinker?
Here's an example of how a preposition phrasing looks inside of the linguistic schema: customers_are_in_cities:
Binding: {Table: Customers}
Phrasings:
- Preposition:
Subject: customer
Prepositions: [in]
Object: customer.city

Verb phrasings
Verb phrasings are used to describe how things in your model are related via verbs. For example, a “customers
buy products” phrasing improves understanding of questions like “who bought cheese?” and “what did John
buy?” Verb phrasings are the most flexible of all of the types of phrasings, often relating more than two things to
each other, such as in “employees sell customers products”. Verb phrasings are used in these kinds of questions:
Who sold what to whom?
Which employee sold chai to John?
How many customers were sold chai by Mary?
List the products that Mary sold to John.
Which discontinued products were sold to Chicago customers by Boston employees?
Verb phrasings can also contain prepositional phrases, thereby adding to their flexibility, such as in “athletes win
medals at competitions” or “customers are given refunds for products”. Verb phrasings with prepositional
phrases are used in these kinds of questions:
How many athletes won a gold medal at the Visa Championships?
Which customers were given a refund for cheese?
At which competition did Danell Leyva win a bronze medal?
Some verb phrasings are created automatically when a column is recognized as containing both a verb and a
preposition.
Here's an example of how a verb phrasing looks inside of the linguistic schema:
customers_buy_products_from_salespeople:

Binding: {Table: Orders}


Phrasings:
- Verb:
Subject: customer
Verbs: [buy, purchase]
Object: product
PrepositionalPhrases:
- Prepositions: [from]
Object: salesperson

Relationships with multiple phrasings


Frequently, a single relationship can be described in more than one way. In this case, a single relationship can
have more than one phrasing. It's common for the relationship between a table entity and a column entity to
have both an attribute phrasing and another phrasing. For example, in the relationship between customer and
customer name, you will want both an attribute phrasing (for example, “customers have names”) and a name
phrasing (for example, “customer names are the names of customers”) so you can ask both types of questions.
Here's an example of how a relationship with two phrasings looks inside of the linguistic schema:
customer_has_name:
Binding: {Table: Customers}
Phrasings:
- Attribute: {Subject: customer, Object: customer.name}
- Name:
Subject: customer
Object: customer.name

Another example would be adding the alternate phrasing “employees sell customers products” to the
“customers buy products from employees” relationship. Note that you don't need to add variations like
“employees sell products to customers” or “products are sold to customers by employees”, since the “by” and
“to” variations of the subject and indirect object are inferred automatically by Q&A.

Considerations and troubleshooting


If you make a change to a .lsdl.yaml file that does not conform to the linguistic schema format, you now see
validation squiggles to indicate issues:

More questions? Try the Power BI Community


Limitations of Power BI Q&A
7/29/2021 • 2 minutes to read • Edit Online

Power BI Q&A currently has some limitations.

Data sources
Supported data sources
Power BI Q&A supports the following configurations of data sources in the Power BI service:
Import mode
Live connect to Azure Analysis Services
Live connect to SQL Server Analysis Services (with a gateway)
Power BI datasets.
In each of these configurations, row-level security is also supported.
DirectQuer y suppor t for Q&A (preview)
Q&A now supports SQL DirectQuery sources, including SQL Server 2019, Azure SQL Database, and Azure
Synapse Analytics. You can use Q&A to ask natural-language questions against these data sources. There's one
small change to the behavior of Q&A when it's in DirectQuery mode: After you type your question, you select
the Submit button. This change prevents overloading the DirectQuery source with unnecessary queries as you
type.
Data sources not supported
Power BI Q&A currently does not support the following configurations:
Object level security with any type of data source
Composite models
Reporting Services

Tooling limitations
The new tooling dialog allows users to customize and improve the natural language in Q&A. To learn more
about tooling, read the intro to Q&A tooling.

Review question limitations


The review questions only store questions asked against your data model for up to 28 days. When using the
new review questions capability, you may notice some questions aren't recorded. They aren't recorded by
design, as the natural language engine performs a series of data cleansing steps to ensure every key stroke
from a user isn't recorded or shown.
Power BI administrators can use the tenant settings to manage the ability to store questions. Permissions are
based on security groups.
Users can also keep their questions from being recorded by selecting Settings > General and deselecting
Allow Q&A to record my utterance .

Teach Q&A limitations


Teach Q&A allows you to fix two types of errors:
Assign a word to a field.
Assign a word a filter condition.
Currently we don't support redefining a recognized term or defining other types of conditions or phrases. Also,
when defining filtering conditions, you can only use a limited subset of language, including:
Country which is USA
Country which is not USA
Products > 100
Products greater than 100
Products = 100
Products is 100
Products < 100
Products smaller than 100

NOTE
Q&A Tooling only supports import mode. It doesn't yet support connecting to an on-premises or Azure Analysis Services
data source. This current limitation will be removed in subsequent releases of Power BI.

Statements not supported


Multiple conditions aren't supported. As a workaround, create a DAX calculated column that evaluates a
multi-condition statement Boolean and use this field instead.
If you don't specify a filter condition when Q&A prompts for a subset of data, you can't save the definition,
even if the entire statement has no red underlines.

Next steps
There are a number of best practices for improving the natural language engine. For more information, Q&A
best practices.
Power BI Report Builder
9/23/2021 • 3 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Report Builder ✔
️ Power BI service ❌ Power BI Desktop
Power BI Report Builder is a tool for authoring paginated reports that you can publish to the Power BI service.
When you design a paginated report, you're creating a report definition that specifies what data to retrieve,
where to get it, and how to display it. When you run the report, the report processor takes the report definition
you have specified, retrieves the data, and combines it with the report layout to generate the report. You preview
your report in Report Builder. Then publish your report to the Power BI service.
Ready to start authoring? Install Power BI Report Builder from the Microsoft Download Center.
Prefer learning from videos? Check out the Video-based course: Power BI Paginated Reports in a Day.
The following paginated report is a sample of an invoice. You can download it and other samples, such as letters,
transcripts, and labels. Read more about sample Power BI paginated reports.
Prerequisites
You don't need any license to download Power BI Report Builder from the Microsoft Download Center for
free.
You need a Power BI Pro or Premium Per User (PPU) license to publish a report to the service.
You can publish and share paginated reports in your My Workspace or in other workspaces, as long as the
workspace is in a Power BI Premium capacity and you have write access to the workspace.
A Power BI admin needs to enable paginated reports in the Premium capacities section of the Power BI
admin portal.

Start with the Table, Matrix, or Chart wizard


Create a data source connection, drag and drop fields to create a dataset query, select a layout and style, and
customize your report.

Start with the Map wizard


Create reports that display aggregated data against a geographic or geometric background. Map data can be
spatial data from a Transact-SQL query or an Environmental Systems Research Institute, Inc. (ESRI) shapefile. You
can also add a Microsoft Bing map tile background.

Design your report


Create paginated repor ts with table, matrix, char t, and free-form repor t layouts. Create table
reports for column-based data, matrix reports (like cross-tab or PivotTable reports) for summarized data,
chart reports for graphical data, and free-form reports for anything else. Reports can embed other
reports and charts, together with lists, graphics, and controls for dynamic Web-based applications.
Repor t from a variety of data sources. You can create reports that use relational and
multidimensional data from SQL Server and Analysis Services, Oracle, Power BI datasets, and other
databases.
Modify existing repor ts. By using Report Builder, you can customize and update reports that were
created in SQL Server Data Tools (SSDT) Report Designer.
Modify your data . Filter, group, and sort data, or add formulas or expressions.
Add char ts, gauges, sparklines, and indicators . Summarize data in a visual format, and present
large volumes of aggregated information at a glance.
Add interactive features such as document maps, show/hide buttons, and drillthrough links to
subreports and drillthrough reports. Use parameters and filters to filter data for customized views.
Embed or reference images and other resources, including external content.

Manage your report


Save the definition of the repor t to your computer or to the report server, where you can manage it
and share it with others.
Choose a presentation format when you open the report, or after you open the report. You can select
Web-oriented, page-oriented, and desktop application formats. Formats include MHTML, PDF, XML, CSV,
Word, and Excel.
Set up subscriptions. After you publish the report to the Power BI service, you can configure your
report to run at a specific time and send as an e-mail subscription.

Use deployment pipelines with paginated reports


In the Power BI service, you can use the deployment pipeline tool with paginated reports. Deployment pipelines
let you develop and test your Power BI paginated reports before you release them to your users. The tool is a
pipeline with three stages:
Development
Test
Production
Read about how to get started with deployment pipelines in the Power BI service.

Next steps
What are paginated reports in Power BI Premium?
Video-based course: Power BI Paginated Reports in a Day
Keyboard shortcuts for accessibility in Report Builder
Sample Power BI paginated reports
Power BI Report Builder change log
9/1/2021 • 2 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Report Builder ✔
️ Power BI service ❌ Power BI Desktop
Learn about new items, bug fixes, and known issues for each release of Power BI Report Builder. We update this
article with each new release. For news about the rest of Power BI, see What's New in Power BI.
Ready to get started? Install Power BI Report Builder from the Microsoft Download Center.

September 2021
Version 15.7.01704.0001, released September 1, 2021
Bug fixes
Fixed connectivity issue to Power BI service for some users.
Fixed issue when maximizing Report Builder on different resolution screens.
Fixed issue previewing reports in some cases.

August 2021
Version 15.7.01678.0001, released August 6, 2021
Bug fixes
Various accessibility fixes related to keyboard shortcuts and screen reading tools.
Features
Moved to 64 bit architecture for enhanced memory limits and other performance gains. Note: Previously
installed third-party data providers may need to be updated to their x64 bit versions.
Enhanced support for DAX DateTime parameters.

June 2021
Version 15.6.01628.0002, released June 17, 2021
Bug fixes
Various accessibility fixes related to keyboard shortcuts and screen reading tools.
Features
Added new data tab which enables users to easily connect to all the most popular data sources when
creating your paginated reports.
Streamlined DAX copy/paste allowing these actions in the dataset without connecting to the model.
Added support for SSO for both SQL Server and Oracle data sources through the Power BI Enterprise
Gateway.

January 2021
Version 15.6.01487.0002, released January 26, 2021
Bug fixes
Changed the name Common Data Service to Dataverse.
Features
Enabled an improved experience to publish to the service to align with the Power BI service.
Added new Power BI Report Builder and Premium per user icons to create brand consistency and bring a
modern, full color experience.
Known issues
Error when connecting to the workspace through XMLA endpoint when workspace name contains plus sign
(+).
Other
See the January 2021 Power BI Report Builder blog post for the complete list of new and updated features.

September 2020
Version 15.6.01340.0002, released September 3, 2020
Bug fixes
Fixed tracing to better understand issues related to PBI service integration, as well as client side.
Fixed the connection string to not have an affinity to a cluster.
Features
Enabled new authentication type support for Azure SQL DB and Azure Synapse. It uses Azure Active
Directory (Azure AD) Multi-Factor Authentication (MFA) to align with the Power BI service.
Enabled connectivity to Dataverse through the SQL data connection. This connectivity supports the use of the
native relational query designer for SQL.
Enabled auto expansion of parameter drop-down to support even the largest item in the list.
Enabled better support for multi-value parameter for DAX.
Other
See the September 2020 Power BI Report Builder blog post for the complete list of new and updated features.

Next steps
What are paginated reports in Power BI Premium?
Tutorial: Create a paginated report and upload it to the Power BI service
Publish a paginated report to the Power BI service
Sample Power BI paginated reports
8/4/2021 • 4 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Report Builder ✔
️ Power BI service ❌ Power BI Desktop
This article provides information and links to several sample Power BI paginated reports to download and
explore. They demonstrate typical ways you can use paginated reports.

Prerequisites
You can share these reports online, just as they are, with no editing. To do so, you need a Power BI Pro license.
Sign up for a free trial of a Power BI Pro license.
You also need write access to a Power BI workspace in a Premium capacity, or a Premium Per User (PPU)
license.
To edit these reports, you need to install Power BI Report Builder from the Microsoft Download Center.
OK, you're ready to download these sample paginated reports from GitHub! You don't need a GitHub
account.

Download the reports


To download the reports successfully, you need to download the repo as a zip file and then extract them.
Paginated reports are .rdl files.
1. Open the Reporting Services GitHub repo.
2. Select the arrow on the green Code button > Download ZIP .

3. Open the file, select Extract all , and choose a location for the files. By default, the folder name is
Repor ting-Ser vices-master .
4. Open the Repor ting-Ser vices-master folder, then open the PaginatedRepor tSamples folder.

NOTE
You can delete all the other folders in the Repor ting-Ser vices-master folder. They contain other samples you
don't need.
5. Select one of the .rdl files to open it in Power BI Report Builder.
6. Now you can publish the paginated report to the Power BI service.

Invoice

This paginated report is a self-contained invoice. The scenario for this report is that you want a pixel-perfect
printable invoice. It needs to show the total sales with details listing item descriptions, quantities, discounts, and
cost.
This sample highlights unique characteristics for creating real-world invoices, such as:
A tablix (the data region underlying both tables and matrixes). It displays dynamically generated user-specific
content as well as theme.
A rectangular data region placed at each row of the tablix of the report body.
Report items such as text boxes and lines.
A report parameter to select the content dynamically. The content that is shown applies to a specific subject
by using expression placeholders.
Data source: Included in the .rdl file

Labels

This is a self-contained paginated report sample. It's a multi-column report perfectly sized to fit the print layout
of the mailing label template.
Label reports are simple, but have a few unique characteristics to create a paginated label:
A tablix with a fixed column count of three, with defined column spacing.
A rectangular data region that repeats across rows and columns on the printed page.
A report parameter to select the content to be shown in each rectangular data region.
Data source: Included in the .rdl

Mailing letter
This self-contained paginated report sample is designed for creating real world mailing letters. The scenario for
this report is that you wantapixel-perfectprintableletterwith dynamic content.
This sample has unique characteristics, such as:
A rectangular data region is placed at different sections of the report body.
Images to personalize the letter.
A tablix data region (the data region underlying both tables and matrixes). The tablix displays dynamically
generated user-specific content.
Report items such as text boxes and lines.
A report parameter to select the content dynamically. The content that is shown applies to a specific subject
by using expression placeholders.
Data source: Included in the .rdl

Transcript
The scenario for this report is that you wantapixel-perfectprintabletranscript. It needs to contain dynamic
content listing program description details and dates for each student.
This self-contained paginated report sample has unique characteristics such as:
A tablix data region (the data region underlying both tables and matrixes). The tablix displays dynamically
generated user-specific content using nested rows groups.
Rectangular data regions are placed in different sections of the report body.
Report items such as text boxes and lines.
Data source: Included in the .rdl
Sales Performance

Country Sales Performance is a self-contained paginated report sample. The scenario for this report is that you
want a pixel-perfect printable invoice to see total sales and details. It showcases these features:
The use of a parameter to expand details in the table.
Headers and footers.
Report items such as text boxes, lines, and rectangles using expression placeholders.
Data bars.
Trendlines.
Gauge panels.
Data source: Included in the .rdl

Regional Sales
Regional Sales is a self-contained paginated report sample. The scenario for this report is that you want a pixel-
perfect printable report to see total sales vs. quota. It showcases these features:
The use of a parameter to show selected details in the table.
Headers and footers.
Report items such as text boxes, lines, and rectangles using expression placeholders.
Gauge panels.
Line chart placed inside the table.
Data source: Included in the .rdl

Organization Expenditures
Organization Expenditures is a self-contained paginated report sample. The scenario for this report is that you
want a pixel-perfect printable expense report to see breakdown of expenses in your organization. It showcases
these features:
Headers and footers.
Report items such as text boxes, lines, and rectangles using expression placeholders.
Charts such as treemap and sun burst.
Data source: Included in the .rdl

Next steps
View a paginated report in the Power BI service
More questions? Try the Power BI Community
Getting around in Report Design View for
paginated reports
8/4/2021 • 5 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Report Builder ✔
️ Power BI service ❌ Power BI Desktop
Report Design View in Power BI Report Builder is the design space for creating paginated reports that you can
publish to the Power BI service. The design surface is at the center of Report Builder, with the ribbon and panes
around it. The design surface is where you add and organize your report items. This article explains the panes
you use to add, select, and organize your report resources, and change report item properties.

1. Report data pane


2. Report design surface
3. Parameters pane
4. Properties pane
5. Grouping pane
6. Current report status bar

1 Report Data pane


From the Report Data pane, you define the report data and report resources that you need for a report before
you design your report layout. For example, you can add data sources, datasets, calculated fields, report
parameters, and images to the Report Data pane.
After you add items to the Report Data pane, drag fields to report items on the design surface to control where
data appears in the report.
TIP
If you drag a field from the Report Data pane directly to the report design surface instead of placing it in a data region
such as a table or chart, when you run the report, you will see only the first value from the data in that field.

You can also drag built-in fields from the Report Data pane to the report design surface. When rendered, these
fields provide information about the report, such as the report name, the total number of pages in the report,
and the current page number.
Some things are automatically added to the Report Data pane when you add something to the report design
surface. For example, if you embed an image in your report, it will be added to the Images folder in the Report
Data pane.

NOTE
You can use the New button to add a new item to the Report Data pane. You can add multiple datasets from the same
data source or from other data sources to the report. To add a new dataset from the same data source, right-click a data
source > Add Dataset .

2 Report design surface


The Report Builder report design surface is the main work area for designing your reports. To place report items
such as data regions, subreports, text boxes, images, rectangles, and lines in your report, you add them from the
ribbon or the Report Part Gallery to the design surface. There, you can add groups, expressions, parameters,
filters, actions, visibility, and formatting to your report items.
You can also change the following:
The report body properties, such as border and fill color, by right-clicking the white area of the design
surface, outside any report items, and selecting Body Proper ties .
The header and footer properties, such as border and fill color, by right-clicking the white area of the
design surface in the header or footer area, outside any report items, and selecting Header Proper ties
or Footer Proper ties .
The properties of the report itself, such as page setup, by right-clicking the gray area around the design
surface and selecting Repor t Proper ties .
The properties of report items by right-clicking them and selecting Proper ties .
Design surface size and print area
The design surface size might be different from the page size print area you specify to print the report.
Changing the size of the design surface will not change the print area of your report. No matter what size you
set for the print area of your report, the full design area size does not change. For more information, see
Rendering Behaviors.
To display the ruler, on the View tab, select the Ruler check box.

3 Parameters pane
With report parameters, you can control report data, connect related reports together, and vary report
presentation. The Parameters pane provides a flexible layout for the report parameters.
Read more about Report Parameters
4 Properties pane
Every item in a report, including data regions, images, text boxes, and the report body itself, has properties
associated with it. For example, the BorderColor property for a text box shows the color value of the text box's
border, and the PageSize property for the report shows the page size of the report.
These properties are displayed in the Properties pane. The properties in the pane change depending on the
report item that you select.
To see the Properties pane, on the View tab in the Show/Hide group > Proper ties .
Changing Property Values
In Report Builder, you can change the properties for report items several ways:
By selecting buttons and lists on the ribbon.
By changing settings within dialog boxes.
By changing property values within the Properties pane.
The most commonly used properties are available in the dialog boxes and on the ribbon.
Depending on the property, you can set a property value from a drop-down list, type the value, or select
<Expression> to create an expression.

Changing the Properties Pane View


By default, properties displayed in the Properties pane are organized into broad categories, such as Action,
Border, Fill, Font, and General. Each category has a set of properties associated with it. For example, the
following properties are listed in the Font category: Color, FontFamily, FontSize, FontStyle, FontWeight,
LineHeight, and TextDecoration. If you prefer, you can alphabetize all the properties listed in the pane. This
removes the categories and lists all the properties in alphabetical order, regardless of category.
The Properties pane has three buttons at the top of pane: Categor y , Alphabetize , and Proper ty Page . Select
the Category and Alphabetize buttons to switch between the Properties pane views. Select the Proper ty Pages
button to open the properties dialog box for a selected report item.

5 Grouping pane
Groups are used to organize your report data into a visual hierarchy and to calculate totals. You can view the
row and column groups within a data region on the design surface and also in the Grouping pane. The Grouping
pane has two panes: Row Groups and Column Groups. When you select a data region, the Grouping pane
displays all the groups within that data region as a hierarchical list: Child groups appear indented under their
parent groups.
You can create groups by dragging fields from the Report Data pane and dropping them on the design surface
or in the Grouping pane. In the Grouping pane, you can add parent, adjacent, and child groups, change group
properties, and delete groups.
The Grouping pane is displayed by default but you can close it by clearing the Grouping pane check box on the
View tab. The Grouping pane is not available for the Chart or Gauge data regions.
For more information, see Grouping Pane and Understanding Groups.

6 Current report status bar


The current report status bar shows the name of the server the report is connected to, or it shows "No current
report server." You can select Connect to connect to a server.
Next steps
What are paginated reports in Power BI Premium?
Planning a report in Power BI Report Builder
8/4/2021 • 2 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Report Builder ✔
️ Power BI service ❌ Power BI Desktop
Power BI Report Builder lets you create many kinds of paginated reports. For example, you can create reports
that show summary or detailed sales data, marketing and sales trends, operational reports, or dashboards. You
can also create reports that take advantage of richly formatted text, such as for sales orders, product catalogs, or
form letters. All these reports are created by using different combinations of the same basic building blocks in
Report Builder. To create a useful, easily understood report, it helps to plan first. Here are some things you might
want to consider before you get started:

In what format do you want the report to appear?


You can render reports online in a browser such as the Power BI portal or export them to other formats such as
Excel, Word, or PDF. The final form your report takes is an important consideration because not all features are
available in all export formats.

In what structure do you want to present the data?


You have a choice among tabular, matrix (similar to a cross-tab or PivotTable report), chart, free-form structures,
or any combination of these to present data. For more information, see Tables, Matrices, and Lists in Power BI
Report Builder.

How do you want your report to look?


Report Builder provides a lot of report items that you can add to your report to make it easier to read, highlight
key information, help your audience navigate the report, and so on. Knowing how you want the report to appear
can determine whether you need report items such as text boxes, rectangles, images, and lines. You might also
want to show or hide items, add a document map, include drillthrough reports or subreports, or link to other
reports.

Should the data be filtered?


You might want to narrow the scope of the report to specific users or locations, or to a particular time period. To
filter the report data, use parameters to retrieve and display only the data you want. For more information, see
Report parameters in Power BI Report Builder.

Do you need to create calculations?


Sometimes, your data source and datasets do not contain the exact fields that you need for your report. In that
situation, you might have to create your own calculated fields. For example, you might want to multiply the price
per unit times the quantity to get a line item sales amount. Expressions are also used to provide conditional
formatting and other advanced features. For more information, see Expressions in Power BI Report Builder.

Do you want to hide report items initially?


Consider whether you want to hide report items, including data regions, groups and columns, when the report
is first run. For example, you can initially present a summary table, and then drill down into the detailed data.
How are you going to deliver your report?
You can save your report to your local computer and continue to work on it, or run it locally for your own
information. However, to share your report with others, you need to save the report to Power BI. Saving it to
Power BI lets others run it whenever they want to. Alternatively, you can set up a subscription and e-mail
delivery of the report to other individuals. You can have the report delivered in a specific export format if you
prefer.

Next steps
What are paginated reports in Power BI Premium?
Report data in Power BI Report Builder
8/4/2021 • 3 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Report Builder ✔
️ Power BI service ❌ Power BI Desktop
Report data can come from multiple sources of data in your organization. Your first step in designing a Power BI
Report Builder report is to create data sources and datasets that represent the underlying report data. Each data
source includes data connection information. Each dataset includes a query command that defines the set of
fields to use as data from a data source. To visualize data from each dataset, add a data region, such as a table,
matrix, chart, or map. When the report is processed, the queries run on the data source, and each data region
expands as needed to display the query results for the dataset.
Learn how to Create an embedded data source for paginated reports in Power BI Report Builder.

Terms
Data connection. Also known as a data source. A data connection includes a name and connection
properties that are dependent on the connection type. By design, a data connection doesn't include
credentials. A data connection doesn't specify which data to retrieve from the external data source. To do
that, you specify a query when you create a dataset.
Connection string. A connection string is a string version of the connection properties that are needed
to connect to a data source. Connection properties differ based on data connection type.

NOTE
Data source connection strings can't be expression-based.

Embedded data source. Also known as a report-specific data source. A data source that is defined in a
report and used only by that report.
Credentials. Credentials are the authentication information that must be provided to allow you access to
external data.

Tips for specifying report data


Use the following information to design your report data strategy.
Filter data Report data can be filtered in the query or in the report. You can use datasets and query
variables to create cascading parameters, and provide a user the ability to narrow choices from
thousands of selections to a more manageable number. You can filter data in a table or chart based on
parameter values or other values that you specify.
Parameters Dataset query commands that include query variables automatically create matching report
parameters. You can also manually create parameters. When you view a report, the report toolbar
displays the parameters. Users can select values to control report data or report appearance. To
customize report data for specific audiences, you can create sets of report parameters with different
default values linked to the same report definition, or use the built-in UserID field.
Group and aggregate data Report data can be grouped and aggregated in the query or in the report.
If you aggregate values in the query, you can continue to combine values in the report within the
constraints of what is meaningful.
Sor t data Report data can be sorted in the query or in the report. In tables, you can also add an
interactive sort button to let the user control the sort order.
Expression-based data Because most report properties can be expression-based, and expressions can
include references to dataset fields and report parameters, you can write powerful expressions to control
report data and appearance. You can provide a user the ability to control the data they see by defining
parameters.
Display data from a dataset Data from a dataset is typically displayed on one or more data regions,
for example, a table and a chart.
Display data from multiple datasets You can write expressions in a data region based on one dataset
that look up values or aggregates in other datasets. You can include subreports in a table based on one
dataset to display data from a different data source.
Use the following list to help define sources of data for a report.
Understand the software data layer architecture for your organization and the potential issues arising
from data types. Understand how data extensions and data processing extensions can affect query
results. Data types differ among the source of data, data providers, and the data types stored in the report
definition (.rdl) file.
Data sources and datasets are authored in a report and published to the Power BI service. After they are
published, you can configure credentials directly in the Power BI service or in your Enterprise Gateway.

Next steps
What are paginated reports in Power BI Premium?
Data retrieval guidance for paginated reports
Supported data sources for Power BI paginated
reports
8/4/2021 • 3 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Report Builder ✔
️ Power BI service ❌ Power BI Desktop
This article spells out supported data sources for paginated reports in the Power BI service, and how to connect
to Azure SQL Database data sources. Some data sources are supported natively. You can connect to others by
way of data gateways.

Prerequisites
To publish a Power BI paginated report to the Power BI service, you need a Power BI Pro license, or Premium
Per User (PPU) license, and write access to a workspace in aPower BI Premium capacity.

Natively supported data sources


Paginated reports natively support the following list of data sources:

DATA SO URC E A UT H EN T IC AT IO N N OT ES

Azure SQL Database Basic, single sign-on (SSO), OAuth2 You may use an Enterprise Gateway
Azure SQL Data Warehouse with Azure SQL Database. However,
you may not use SSO to authenticate
in those scenarios.

Azure SQL Managed Instance Basic via Public or Private Endpoint (Private
Endpoint needs to be routed through
Enterprise Gateway)

Azure Analysis Services SSO, OAuth2 The AAS firewall must be disabled or
configured to allow all IP ranges in the
BlackForest region. This applies only in
the BlackForest region. SSO from
external tenant is not supported.

Power BI dataset SSO Premium and non-Premium Power BI


datasets. Requires Read permission.
Only Import mode and DirectQuery
Power BI datasets are supported.
Report queries using a DirectQuery
Power BI dataset as a data source have
a fixed 10 minute time-out. For report
queries taking longer than 10 minutes,
use the Power BI dataset's XMLA
Read/Write endpoint as the report
data source.
DATA SO URC E A UT H EN T IC AT IO N N OT ES

Premium Power BI dataset (XMLA) SSO Power BI datasets aren't supported as


a data source for embedded paginated
reports in "app owns data" scenarios.
To ensure proper connectivity in Power
BI Report Builder, ensure that the Do
not use credentials option is
selected when setting your data
source.
Access through the XMLA honors
security group membership set at the
workspace or app level.
Users with at least a Contributor role
in a workspace can render paginated
reports with Premium Power BI
datasets. Other users need Build
permission on the underlying datasets.

Enter Data N/A Data is embedded in the report.

Dataverse SSO, OAuth2 Can't use a gateway as multifactor


authentication (MFA) isn't supported.

Except for Azure SQL Database, all data sources are ready to use after you have uploaded the report to the
Power BI service. The data sources default to using single sign-on (SSO), where applicable. For Azure Analysis
Services, you can change the authentication type to OAuth2. However, once the authentication type for a given
data source is changed to OAuth2, it can't revert back to use SSO. In addition, this change applies to all the
reports that use that data source across all workspaces for a given tenant. Row-level security in paginated
reports won't work unless users choose SSO for authentication type.
For Azure SQL Database data sources, you need to supply more information, as described in the Azure SQL
Database Authentication section.

Other data sources


In addition to the natively supported data sources above, the following data sources can be accessed via a Power
BI enterprise gateway:
SQL Server (supports SSO)
SQL Server Analysis Services
Oracle (supports SSO)
Teradata
ODBC
For paginated reports, Azure Analysis Services currently can't be accessed via a Power BI enterprise gateway.
When authenticating with SSO service principal is not supported.

IMPORTANT
Using the SSO via Kerberos options within the gateway's Advanced settings requires the configuration of Kerberos
constrained delegation on the on-premises data source and gateway service.

Azure SQL Database authentication


For Azure SQL Database data sources, you need to set an authentication type before you run the report. That
applies only when you use a data source for the first time in a workspace. That first time, you see the following
message:

If you don't supply any credentials, an error occurs when you run the report. Select Continue to go to the Data
source credentials page for the report you just uploaded:

Select the Edit credentials link for a given data source to bring up the Configure dialog box:

For Azure SQL Database data sources, here are the supported authentication types:
Basic (user name and password)
SSO (single sign-on)
OAuth2 (stored Azure Active Directory token)
For SSO and OAuth2 to work correctly, the Azure SQL Database server that the data source is connecting to
needs to have Azure Active Directory authentication support enabled. For the OAuth2 authentication method,
Azure Active Directory generates a token and stores it for future data source access. To use the SSO
authentication method instead, select the SSO option right below it, End users use their own OAuth2
credentials when accessing this data source via DirectQuer y .

Next steps
View a paginated report in the Power BI service
More questions? Try the Power BI Community
Power BI gateway and Report Builder support for
ODBC data sources (preview)
9/7/2021 • 3 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Report Builder ✔
️ Power BI service ❌ Power BI Desktop
This article spells out how to configure ODBC data sources in the Power BI gateway, and how to use ODBC data
sources in Power BI Report Builder.
Data Source Name (DSN) and driver connection strings are both supported.

NOTE
Power BI Report Builder is now 64-bit, and will no longer work with 32-bit drivers. Both Power BI Report Builder and The
Power BI Gateway require the 64-bit version.

Before you install the Power BI gateway


You need a Power BI gateway version February 2021 or later. We recommend installing the gateway on a
separate machine from Power BI Report Builder or Power BI Desktop. There are some scenarios where using the
same machine might cause problems.

Install, configure Power BI Report Builder for ODBC data source


The latest version of Power BI Report Builder already contains the ODBC data extension.
1. Install the latest version of Power BI Report Builder.
2. Install the 64-bit ODBC driver that you plan to use with Power BI Report Builder.

Install Power BI gateway, configure ODBC data sources


Follow these steps to set up the Power BI gateway for ODBC data sources.
1. Download the latest Power BI gateway.

NOTE
Personal gateways aren't supported for paginated reports, because they require DirectQuery support.

2. Refer to the article What is an on-premises data gateway? for information on setting it up.
3. Install the 64-bit ODBC driver that you plan to use on the gateway machine.

NOTE
File DSNs aren't supported. If you'd like to use a DSN, create a 64-bit System DSN on the gateway machine.

4. To configure an ODBC data source in the Manage Gateway page of the Power BI Service, select Add
data source > ODBC Data Source Type :
5. Paste in the connection string (System DSN or driver) and select an authentication method. For ODBC
data sources the following authentication methods are supported:
Basic
Windows
6. When you select the Add button, the Power BI service connects to the ODBC data source using the
supplied connection string and credentials to validate that the gateway is able to connect.

NOTE
For the public preview, the Anonymous authentication method isn't supported. You can select it for an ODBC data
source, but you receive an "Unexpected error occurred" like the following one when rendering the report:

ODBC connection string examples


Here are some ODBC connection string examples for a System DSN, as well as a variety of ODBC drivers:
"dsn=Northwind"
"driver={Microsoft Access Driver (*.mdb, *.accdb)};dbq=c:\Data\Northwind.mdb"
"driver={SnowflakeDSIIDriver};warehouse=DEMO_WH;server=org.snowflakecomputing.com"
"driver={Amazon Redshift (x64)};server=org.us-west-2.redshift.amazonaws.com;database=dev"
Certain drivers and configurations might not support all authentication methods.
In addition to creating ODBC data sources in the Gateway up front, you can create ODBC data sources on
demand when you upload a paginated report. If an ODBC data source doesn’t exist, the Upload process prompts
you to create one:

Known issues
In general, all the limitations that apply to using the ODBC data extension in Power BI Report Builder apply to
using the ODBC data extensions in the Power BI gateway as well.
Here are some of the known limitations:
For most ODBC drivers DateTime parameters require changes to the Command text in the RDL dataset to
cast a DateTime parameter value to the appropriate format for a given ODBC data source.
Example query:
SELECT * FROM DEMO_DB.PUBLIC.DATES WHERE DATE < DATE(?)

NOTE
Some data sources might require specific formatting. You can use an expression to format the parameter in the
example above. For example, =Format(Parameters!Date.Value, "yyyy-MM-dd") .

For some ODBC drivers, there is a behavior difference between the Gateway and Power BI Report Builder.
This may apply to all, some, or just one driver. One known example is that the Simba-BigQuery query
requires casting of the parameter if it is not a string type.
Example error string: "A data source used by this report returned an error. An exception encountered
while accessing the target data source ERROR [42000] [Simba][BigQuery] (70) Invalid query: No
matching signature for operator = for argument types: INT64, STRING. Supported signature: ANY = ANY
at [2:7]"
Example query with proper cast for an INT64 column:
SELECT * FROM 'teamplz.Sample.SampleTable' WHERE DataID=CAST(? as INT64)

Any special data types exposed by a given ODBC driver or backend that aren't simply mapped to an
ADO.Net data type aren't supported. One example is the Snowflake Array data type.
Scenarios where ODBC drivers use stored procedures without parameters are generally not supported.
However, the Amazon Redshift driver has in/out parameters that are supported.
Report design tips in Power BI Report Builder
8/4/2021 • 9 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Report Builder ✔
️ Power BI service ❌ Power BI Desktop
Use the following tips to help design your paginated reports in Power BI Report Builder.

Designing reports
A well-designed report conveys information that leads to action. Identify the questions that the report
helps to answer. Keep those questions in mind as you design the report.
To design effective data visualizations, think about how to display information that is easy for the report
user to understand. Choose a data region that is a good match for the data that you want to visualize. For
example, a chart effectively conveys summary and aggregated information better than a table that spans
many pages of detailed information. You can visualize data from a dataset in any data region, which
includes charts, maps, indicators, sparklines, data bars, and tabular data in various grid layouts based on
a tablix.
If you plan to deliver the report in a specific export format, test the export format early in your design.
Feature support varies based on the renderer that you choose.
When you build complex layouts, build the layout in stages. You can use rectangles as containers to
organize report items. You can build data regions directly on the design surface to maximize your
working area, and then, as you complete each one, drag it to the rectangle container. By using rectangles
as containers, you can position all its contents in one step. Rectangles also help control the way report
items render on each page.
To reduce clutter in a report, consider using conditional visibility for specific report items and let the user
choose whether to show the items. You can set visibility based on a parameter or a text box toggle. You
can add conditionally hidden text boxes to show interim expression results. When a report displays
unexpected data, you can show these interim results to help debug expressions.
When you work with nested items in tablix cells or rectangles, you can set different background colors for
the container and contained items. By default, the background color is No color . Items with a specific
background color show through items with a background color set to No color . This technique can help
you select the right item to set display properties, such as border visibility on tablix cells.
For more information about things to consider as you design your report, see Planning a Report in Report
Builder).

Naming conventions for reports, data sources, and datasets


Use naming conventions for data sources and datasets that document the source of data.
1. Data sources. If you don't want to use an actual server or database due to security reasons, use
an alias that indicates to the user what the source of data is.
2. Datasets. Use a name that indicates which data source it's based on.

Working with data


As a first step, get all the data that you want to work with to appear in the Report Data pane. As you refine
the questions that the report is designed to answer, think about how to limit the data in the report
datasets to just what is needed.
In general, only include the data that you will display in a report. Use query variables in your dataset
queries to enable the user to choose which data they want to see in the report. If you are creating shared
datasets, provide filters based on report parameters to provide the same functionality.
If you are an experienced query writer, understand that for intermediate amounts of data, you might want
to group data in the report, and not in the query. If you do all your grouping in the query, then the report
tends to be a presentation of the query result set. On the other hand, to display aggregated values for
large amounts of data on a chart or matrix, there is no need to include detail data.
Depending on your requirements, you can display names and locations of report data sources, dataset
query command text, and parameter values in the report. The first question many new users have is
about where the data comes from. To reduce clutter in the report, you can conditionally hide text boxes
with this type of information and let users choose whether to see it. Try adding this information on the
last page of report. Set the text box visibility based on a parameter that the user can change.

Interacting with the report design surface


The report design surface is not WYSIWIG. When you place report items on the design surface, their relative
location affects the way that the items appear on the rendered report page. White space is preserved.
Use snaplines and layout buttons to align and arrange items on the report design surface. For example,
you can align the tops or edges of selected items, expand an item to match the size of another item, or
adjust the spacing between items.
Use arrow keys to adjust the position and size of selected items on the design surface. For example, the
following key combinations are very useful:
Arrow keys Move the selected report item.
CTRL+Arrow keys Nudge the selected report item.
CTRL+SHIFT+Arrow keys Increase or decrease the size of the selected report item.
To add an item to a rectangle, use the upper left tip of the mouse to point to the initial location of the item
in the rectangle container. Use keyboard shortcuts to help position selected objects. The rectangle
automatically expands to accommodate the size of the contained items.
To add multiple items to a tablix cell, first add a rectangle, and then add the items.
By default, each tablix cell contains a text box. When you add a rectangle to a cell, the rectangle replaces
the text box. For example, place nested indicators in a rectangle in a tablix cell to help control how the size
of a chart or indicator expands as you change the height of the row that the cell is in.
Use the Zoom control to adjust your view of the design surface. You can work with the whole page or
smaller sections of the page.
To drag fields from the Report Data pane to the Grouping pane, avoid dragging the field across other
report items on the design surface because this selects the other items and unselects the tablix data
region. Drag the field down the Report Data pane and then across to the Grouping pane.
Selecting items
To help select the object that you want on the report design surface, use the ESC key, the right-click context
menu, the Properties pane, and the Grouping pane.
Press ESC to cycle through the stack of report items that occupy the same space on the design
surface.
On some report items, try using the right-click context menu to select the report item or the part
of the report item that you want.
The Properties pane displays properties for the current selection.
To work with row groups and column groups in a tablix data region, select the group from the
Grouping pane.

Working with specific types of report items


Working with parameters
The primary purpose of report parameters is to filter data at the data source, and retrieve just what is
needed for the purpose of the report.
For report parameters, find a balance between enabling interactivity and helping a user get the results
they want. For example, you can set default values for a parameter to values that you know are popular.
Working with text
When you paste multiline into a text box, the text is added as one text run. Each text run can only be
formatted as a unit. To format each line independently, insert a new line by pressing RETURN in the text
run as needed. You can then apply formatting and styles to each independent line of text in the text box.
You can set format properties and actions on a text box or on placeholder text in the text box. If there is
only one line of text, it's more efficient to set properties on the text box than on the text.
Working with expressions
Understand simple and complex expression formats. You can type simple expression format directly into
text boxes, properties in the Property pane, or in locations in dialog boxes that accept an expression.
When you create an expression, it helps to create each part independently and verify its value. You can
then combine all the parts into a final expression. A useful technique is to add a text box in a matrix cell,
display each part of the expression, and set conditional visibility on the text box. To control the border
style and color when the text box is hidden, first place the text box in a rectangle, and then set the border
style and color of the rectangle to match the matrix.
Working with indicators
By default, an indicator shows at least three states. After you add an indicator to a report, you can configure it
by adding or removing states. For easier viewing by your users, choose an indicator that varies by both color
and shape.

Controlling the rendering of report items on the report page


On the report design surface, report items grow to accommodate the contents from the associated
dataset, expression, subreport, or text.
When you position an item on the report page, the distance between the item and all items that
begin to the right of it becomes the minimum distance that must be maintained as a report item
grows horizontally. Similarly, the distance between an item and the item above it becomes a
minimum distance that must be maintained as the top item grows vertically.
An item in a report grows to accommodate its data and pushes peer items (items within the same
parent container) out of the way using the following rules:
Each item moves down to maintain the minimum space between itself and the items that end
above it.
Each item moves right to maintain the minimum space between itself and the items that end to the
left of it. For systems that right-to-left layouts, each item moves left to maintain the minimum
space between itself and the items that end to the right of it.
Containers expand to accommodate the growth of child items. For a selected item, in the
Properties pane, the Parent property identifies the container for the item. You can also use the
Document Outline pane to see the containment hierarchy of report items.
The Layout toolbar provides multiple buttons to help align edges, centers, and spacing for report
items. To enable the Layout toolbar, from the View menu, point to Toolbars , and then click
Layout .
If you plan to save the report as a .pdf file, the report width must be explicitly set to a value that gives you
the results that you want in the export file format. For example, set the report page width to exactly
7.9375 inches and the left and right margins to .5 inches.
Use Print Layout and Page Setup on the report viewer toolbar to render a report in a print-compatible
view. To help remove unnecessary blank pages, do the following:
1. Remove all extra white space between data regions and on the edges of the report.
2. Reduce page margins in the Repor t Proper ties dialog box.
3. Use Rectangles as containers to help control the way report items render.
4. In column headers, change the text box property WritingMode to use vertical text.
For more guidance, see Avoid blank pages when printing paginated reports.
The combination of this behavior, the width and height properties of report items, the size of the report body,
the page height and page width definition, the margin settings of the parent report, and the renderer-specific
support for paging all combine to determine what report items fit together on a rendered page.

Next steps
What are paginated reports in Power BI Premium?
Tables, matrixes, and lists in Power BI Report Builder
8/4/2021 • 6 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Report Builder ✔
️ Power BI service ❌ Power BI Desktop
In Report Builder, tables, matrixes, and lists are data regions that display paginated report data in cells that are
organized into rows and columns. The cells typically contain text data such as text, dates, and numbers but they
can also contain gauges, charts, or report items such as images. Collectively, tables, matrixes, and lists are
frequently referred to as tablix data regions.
The table, matrix, and list templates are built on the tablix data region, which is a flexible grid that can display
data in cells. In the table and matrix templates, cells are organized into rows and columns. Because templates are
variations of the underlying generic tablix data region, you can display data in combination of template formats
and change the table, matrix, or list on to include the features of another data region as you develop your report.
For example, if you add a table and find it does not serve your needs, you can add column groups to make the
table a matrix.
The table and matrix data regions can display complex data relationships by including nested tables, matrixes,
lists, charts and gauges. Tables and matrixes have a tabular layout and their data comes from a single dataset,
built on a single data source. The key difference between tables and matrixes is that tables can include only row
groups, where as matrixes have row groups and column groups.
Lists are a little different. They support a free-layout that and can include multiple peer tables or matrixes, each
using data from a different dataset. Lists can also be used for forms, such as invoices.
The following pictures show simple reports with a table, matrix, or list.

Tables
Use a table to display detail data, organize the data in row groups, or both. The Table template contains three
columns with a table header row and a details row for data. The following figure shows the initial table template,
selected on the design surface:

You can group data by a single field, by multiple fields, or by writing your own expression. You can create nested
groups or independent, adjacent groups and display aggregated values for grouped data, or add totals to
groups. For example, if your table has a row group called Categor y , you can add a subtotal for each group as
well as a grand total for the report. To improve the appearance of the table and highlight data you want to
emphasize, you can merge cells and apply formatting to data and table headings.
You can initially hide detail or grouped data, and include drilldown toggles to enable a user to interactively
choose how much data to show.

Matrixes
Use a matrix to display aggregated data summaries, grouped in rows and columns, similar to a PivotTable or
crosstab. The number of rows and columns for groups is determined by the number of unique values for each
row and column groups. The following figure shows the initial matrix template, selected on the design surface:

You can group data by multiple fields or expressions in row and column groups. At run time, when the report
data and data regions are combined, a matrix grows horizontally and vertically on the page as columns for
column groups and rows for row groups are added. The matrix cells display aggregate values that are scoped to
the intersection of the row and column groups to which the cell belongs. For example, if your matrix has a row
group (Category) and two column groups (Territory and Year) that display the sum of sales, the report displays
two cells with sums of sales for each value in the Category group. The scope of the cells are the two
intersections are: Category and Territory and Category and Year. The matrix can include nested and adjacent
groups. Nested groups have a parent-child relationship and adjacent groups a peer relationship. You can add
subtotals for any and all levels of nested row and column groups within the matrix.
To make the matrix data more readable and highlight the data you want to emphasize, you can merge cells or
split horizontally and vertically and apply formatting to data and group headings.
You can also include drilldown toggles that initially hide detail data; the user can then click the toggles to display
more or less detail as needed.

Lists
Use a list to create a free-form layout. You are not limited to a grid layout, but can place fields freely inside the
list. You can use a list to design a form for displaying many dataset fields or as a container to display multiple
data regions side by side for grouped data. For example, you can define a group for a list; add a table, chart, and
image; and display values in table and graphic form for each group value, as you might for an employee or
patient record.

Preparing data
A table, matrix, and list data regions display data from a dataset. You can prepare the data in the query that
retrieves the data for the dataset or by setting properties in the table, matrix, or list.
The query languages such as Transact-SQL, that you use to retrieve the data for the report datasets can prepare
the data by applying filters to include only a subset of the data, replacing null values or blanks with constants
that make the report more readable, and sorting and grouping data.
If you choose to prepare the data in the table, matrix, or list data region of a report, you set properties on the
data region or cells within the data region. If you want to filter or sort the data, set the properties on the data
region. For example, to sort the data you specify the columns to sort on and the sort direction. If you want to
provide an alternative value for a field, you set the values of the cell text that displays the field. For example, to
display Blank when a field is empty or null, you use an expression to set the value.

Building and configuring a table, matrix, or list


When you add tables or matrixes to your report, you can use the Table and Matrix Wizard or build them
manually from the templates that Report Builder provides. Lists are built manually from the list template.
The wizard guides you through the steps to quickly build and configure a table or matrix. After you complete the
wizard or if you build the tablix data regions from scratch, you can further configure and refine them. The dialog
boxes, available from the right-click menus on the data regions, make it easy to set the most commonly used
properties for page breaks, repeatability and visibility of headers and footers, display options, filters, and
sorting. But the tablix data region provides a wealth of additional properties, which you can set only in the
Properties pane of Report Builder. For example, if you want to display a message when the dataset for a table,
matrix, or list is empty, you specify the message text in the NoRowsMessage tablix property in the Properties
pane.

Changing between tablix templates


You are not limited by your initial tablix template choice. As you add groups, totals, and labels, you might want
to modify your tablix design. For example, you might start with a table and then delete the details row and add
column groups.
You can continue to develop a table, matrix, or list by adding any tablix feature. Tablix features include displaying
detail data or aggregates for grouped data on rows and columns. You can create nested groups, independent
adjacent groups, or recursive groups. You can filter and sort grouped data, and easily combine groups by
including multiple group expressions in a group definition
You can also add totals for a group or grand totals for the data region. You can hide rows or columns to simplify
a report and enable the user to toggle the display of the hidden data, as in a drilldown report.

Next steps
What are paginated reports in Power BI Premium?
Report parameters in Power BI Report Builder
8/4/2021 • 9 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Report Builder ✔
️ Power BI service ❌ Power BI Desktop
This topic describes the common uses for Power BI Report Builder report parameters, the properties you can set,
and much more. Report parameters enable you to control report data, connect related reports together, and
vary report presentation. You can use report parameters in paginated reports you create in Report Builder.

Common uses for parameters


Here are some of the most common ways to use parameters.
Control paginated repor t data
Filter paginated report data at the data source by writing dataset queries that contain variables.
Enable users to specify values to customize the data in a paginated report. For example, provide two
parameters for the start date and end date for sales data.
Var y repor t presentation
Enable users to specify values to help customize the appearance of a report. For example, provide a
Boolean parameter to indicate whether to expand or collapse all nested row groups in a table.
Enable users to customize report data and appearance by including parameters in an expression.

Viewing a report with parameters


When you view a report that has parameters, the report viewer toolbar displays each parameter so you can
interactively specify values. The following illustration shows the parameter area for a report with parameters
@ReportMonth, @ReportYear, @EmployeeID, @ShowAll, @ExpandTableRows, @CategoryQuota, and
@SalesDate.

1. Parameters pane The report viewer toolbar displays a prompt and default value for each parameter.
You can customize the layout of parameters in the parameters pane.
2. @SalesDate parameter The parameter @SalesDate is data type DateTime . The prompt Select the Date
appears next to the text box. To modify the date, type a new date in the text box or use the calendar
control.
3. @ShowAll parameter The parameter @ShowAll is data type Boolean . Use the radio buttons to specify
True or False .
4. Show or Hide Parameter Area handle On the report viewer toolbar, click this arrow to show or hide
the parameters pane.
5. @Categor yQuota parameter The parameter @CategoryQuota is data type Float , so it takes a numeric
value. @CategoryQuota is set to allow multiple values.
6. View Repor t After you enter parameter values, click View Repor t to run the report. If all parameters
have default values, the report runs automatically on first view.

Creating parameters
You can create report parameters in a few different ways.

NOTE
Not all data sources support parameters.

Dataset quer y or stored procedure with parameters


Add a dataset query that contains variables or a dataset stored procedure that contains input parameters. A
dataset parameter is created for each variable or input parameter, and a report parameter is created for each
dataset parameter.

This image from Report Builder shows:


1. The report parameters in the Report Data pane.
2. The dataset with the parameters.
3. The Parameters pane.
4. The parameters listed in the Dataset Properties dialog box.
Create a parameter manually
Create a parameter manually from the Report Data pane. You can configure report parameters so that a user
can interactively enter values to help customize the contents or appearance of a report. You can also configure
report parameters so that a user cannot change preconfigured values.
NOTE
Because parameters are managed independently on the server, republishing a main report with new parameter settings
doesn't overwrite the existing parameters settings on the report.

Parameter values
The following are options for selecting parameter values in the report.
Select a single parameter value from a drop-down list.
Select multiple parameter values from a drop-down list.
Select a value from a drop-down list for one parameter, which determines the values that are available in
the drop-down list for another parameter. These are cascading parameters. Cascading parameters
enables you to successively filter parameter values from thousands of values to a manageable number.
For more information, see Use cascading parameters in paginated reports.
Run the report without having to first select a parameter value because a default value has been created
for the parameter.

Report parameter properties


You can change the report parameter properties by using the Report Properties dialog box. The following table
summarizes the properties that you can set for each parameter:

P RO P ERT Y DESC RIP T IO N

Name Type a case-sensitive name for the parameter. The name


must begin with a letter and can have letters, numbers, an
underscore (_). The name cannot have spaces. For
automatically generated parameters, the name matches the
parameter in the dataset query. By default, manually created
parameters are similar to ReportParameter1.

Prompt The text that appears next to the parameter on the report
viewer toolbar.

Data type A report parameter must be one of the following data types:

Boolean . The user selects True or False from a radio button.

DateTime . The user selects a date from a calendar control.

Integer . The user types values in a text box.

Float . The user types values in a text box.

Text . The user types values in a text box.

When available values are defined for a parameter, the user


chooses values from a drop-down list, even when the data
type is DateTime .
P RO P ERT Y DESC RIP T IO N

Allow blank value Select this option if the value of the parameter can be an
empty string or a blank.

If you specify valid values for a parameter, and you want a


blank value to be one of the valid values, you must include it
as one of the values that you specify. Selecting this option
doesn't automatically include a blank for available values.

Allow null value Select this option if the value of the parameter can be a null.

If you specify valid values for a parameter, and you want null
to be one of the valid values, you must include null as one of
the values that you specify. Selecting this option doesn't
automatically include a null for available values.

Allow multiple values Provide available values to create a drop-down list that your
users can choose from. This is a good way to ensure that
only valid values are submitted in the dataset query.

Select this option if the value for the parameter can be


multiple values that are displayed in a drop-down list. Null
values are not allowed. When this option is selected, check
boxes are added to the list of available values in a parameter
drop-down list. The top of the list includes a check box for
Select All. Users can check the values that they want.

If the data that provides values changes rapidly, the list the
user sees might not be the most current.

Visible Select this option to display the report parameter at the top
of the report when it's run. This option allows users to select
parameter values at run time.

Hidden Select this option to hide the report parameter in the


published report. The report parameter values can still be
set on a report URL, in a subscription definition, or on the
report server.

Internal Select this option to hide the report parameter. In the


published report, the report parameter can only be viewed
in the report definition.

Available values If you have specified available values for a parameter, the
valid values always appear as a drop-down list. For example,
if you provide available values for a DateTime parameter, a
drop-down list for dates appears in the parameter pane
instead of a calendar control.

To ensure that a list of values is consistent among a report


and subreports, you can set an option on the data source to
use a single transaction for all queries in the datasets that
are associated with a data source.

Security Note In any report that includes a parameter of


data type Text , be sure to use an available values list (also
known as a valid values list) and ensure that any user
running the report has only the permissions necessary to
view the data in the report.
P RO P ERT Y DESC RIP T IO N

Default values Set default values from a query or from a static list.

When each parameter has a default value, the report runs


automatically on first view.

Advanced Set the report definition attribute UsedInQuer y , a value


that indicates whether this parameter directly or indirectly
affects the data in a report.

Automatically determine when to refresh


Choose this option when you want the report processor to
determine a setting for this value. The value is True if the
report processor detects a dataset query with a direct or
indirect reference to this parameter, or if the report has
subreports.

Always refresh
Choose this option when the report parameter is used
directly or indirectly in a dataset query or parameter
expression. This option sets UsedInQuer y to True.

Never refresh
Choose this option when the report parameter is not used
directly or indirectly in a dataset query or parameter
expression. This option sets UsedInQuer y to False.

Caution Use Never Refresh with caution. On the report


server, UsedInQuer y is used to help control cache options
for report data and for rendered reports, and parameter
options for snapshot reports. If you set Never Refresh
incorrectly, you could cause incorrect report data or reports
to be cached, or cause a snapshot report to have
inconsistent data.

Dataset query
To filter data in the dataset query, you can include a restriction clause that limits the retrieved data by specifying
values to include or exclude from the result set.
Use the query designer for the data source to help build a parameterized query.
For Transact-SQL queries, different data sources support different syntax for parameters. Support ranges
from parameters that are identified in the query by position or by name. In the relational query designer,
you must select the parameter option for a filter to create a parameterized query.
For queries that are based on a multidimensional data source such as Microsoft SQL Server Analysis
Services, you can specify whether to create a parameter based on a filter that you specify in the query
designer.

Parameter management for a published report


When you design a report, report parameters are saved in the report definition. When you publish a report,
report parameters are saved and managed separately from the report definition.
For a published report, you can use the following:
Repor t parameter proper ties. Change report parameter values directly on the report server
independently from the report definition.
Repor t subscriptions. You can specify parameter values to filter data and deliver reports through
subscriptions.
Parameter properties for a published report are preserved if you republish the report definition. If the report
definition is republished as the same report, and parameter names and data types remain the same, your
property settings are retained. If you add or delete parameters in the report definition, or change the data type
or name of an existing parameter, you may need to change the parameter properties in the published report.
Not all parameters can be modified in all cases. If a report parameter gets a default value from a dataset query,
that value cannot be modified for a published report and cannot be modified on the report server. The value
that is used at run time is determined when the query runs, or in the case of expression-based parameters,
when the expression is evaluated.
Report execution options can affect how parameters are processed. A report that runs as a snapshot cannot use
parameters that are derived from a query unless the query includes default values for the parameters.

Parameters for a subscription


You can define a subscription for an on demand or for a snapshot and specify parameter values to use during
subscription processing.
On-demand repor t. For an on-demand report, you can specify a different parameter value than the
published value for each parameter listed for the report. For example, suppose you have a Call Service report
that uses a Time Period parameter to return customer service requests for the current day, week, or month. If
the default parameter value for the report is set to today , your subscription can use a different parameter
value (such as week or month ) to produce a report that contains weekly or monthly figures.

Next steps
What are paginated reports in Power BI Premium?
Use cascading parameters in paginated reports
URL parameters in paginated reports in Power BI
8/4/2021 • 3 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Report Builder ✔
️ Power BI service ❌ Power BI Desktop
You can send commands to paginated reports in Power BI by adding a parameter to a URL. For example, you
may have viewed the report using a specific set of report parameter values. You encapsulate this information in
the URL by using predefined URL access parameters. You further customize how Power BI processes the report
by embedding parameters for rendering formats, or for the look and feel of the report toolbar. You then paste
this URL directly into an email or Web page so others experience your report in the same manner in the
browser.
Here are actions you can perform through URL access parameters:
Send report parameters to a report.
Initiate the export of the report content in a supported file format.
Hide or view the parameters pane.
Specify DeviceInfo setting.
For the complete list of commands and settings available through URL access, seeURL access parameter
reference later in this article.

URL access concepts


URL requests to Power BI contain parameters that are processed by the service. The way in which the service
handles URL requests depends on the parameters, parameter prefixes, and types of items that are included in
the URL. Paginated report URL functionality is compatible with most browsers and applications that support
standard URL addressing.

URL access syntax


URL requests can contain multiple parameters, listed in any order. Parameters are separated by an ampersand
(&). Name and value pairs are separated by an equal sign (=). For example:

powerbiserviceurl?rp:parametervalueh&rdl:parameter=value

Syntax description
powerbiserviceurl
The Web service URL of your Power BI tenant. For example:
& Used to separate name and value pairs of URL access parameters.
prefix A prefix for the URL parameter (for example,rp:orrdl:) that specifies an action in the Power BI service.

NOTE
Report parameters require a parameter prefix and are case-sensitive.

parameter The parameter name.


value
URL text corresponding to the value of the parameter being used.
For examples of passing report parameters on the URL, seePass a report parameter in a URL.

URL access parameter reference


You can use the following parameters as part of a URL to configure the look and feel of your paginated reports
in Power BI. The most common parameters are listed in this section. Parameters are case-insensitive and begin
with the parameter prefix rdl: if related to the output format.
Report commands ( rdl: )
Expor t format Specifies the format in which to render and export a report.
Example: rdl:format=PDF
Available values are:
PPTX (PowerPoint)
MHTML
IMAGE
EXCELOPENXML (EXCEL)
WORDOPENXML (WORD)
CSV
PDF
ACCESSIBLEPDF (PDF)
XML
Repor t View Specifies the type of view use to displayed the report.
rdl:reportView
'interactive' (default): load the report in interactive mode.
'pageView': load the report in page view mode.
Parameter panel Specifies whether the parameter panel is closed or open when the report loads, or is hidden
altogether.
rdl:parameterPanel
'collapsed': load the report with parameter panel closed. The parameter button is enabled so that
users can click the button to expand;
'hidden': load the report with parameter panel closed and the parameter button disabled;
'expanded' (default): load the report with parameter panel open and the parameter button enabled;
Device Info You may specify additional output parameters for the following export formats.
PDF / ACCESSIBLEPDF:
rdl:AccessiblePDF=true/false
rdl:Columns=integer
rdl:ColumnSpacing=decimal(in)
rdl:DpiX=integer
rdl:DpiY=integer
rdl:EndPage=integer
rdl:HumanReadablePDF=true/false
rdl:MarginBottom=decimal(in)
rdl:MarginLeft=decimal(in)
rdl:MarginRight=decimal(in)
rdl:MarginTop=decimal(in)
rdl:PageHeight=decimal(in)
rdl:PageWidth=decimal(in)
rdl:StartPage=integer
CSV:
rdl:Encoding=string
rdl:ExcelMode=true/false
rdl:FieldDelimiter=string
rdl:NoHeader=true/false
rdl:Qualifier=string
rdl:RecordDelimiter=string
rdl:SuppressLineBreaks=true/false
rdl:UseFormattedValues=true/false
WORDOPENXML (WORD):
rdl:AutoFit=string -> True/False/Never/Default
rdl:ExpandToggles=true/false
rdl:FixedPageWidth=true/false
rdl:OmitHyperlinks=true/false
rdl:OmitDrillthroughs=true/false
EXCELOPENXML (EXCEL):
rdl:OmitDocumentMap=true/false
rdl:OmitFormulas=true/false
rdl:SimplePageHeaders=true/false
PPTX (PowerPoint):
rdl:Columns=integer
rdl:ColumnSpacing=decimal(in)
rdl:DpiX=integer
rdl:DpiY=integer
rdl:EndPage=integer
rdl:MarginBottom=decimal(in)
rdl:MarginLeft=decimal(in)
rdl:MarginRight=decimal(in)
rdl:MarginTop=decimal(in)
rdl:PageHeight=decimal(in)
rdl:PageWidth=decimal(in)
rdl:StartPage=integer
rdl:UseReportPageSize=true/false
XML:
rdl:UseFormattedValues=true/false
rdl:Indented=true/false
rdl:OmitNamespace=true/false
rdl:OmitSchema=true/false
rdl:Encoding=string
rdl:Schema=true/false
Open hyperlink in same browser window You can append 'rdl:targetSameWindow=true' to the hyperlink
URL in your report to make Power BI to open this hyperlink in the same browser window. For information on
adding hyperlinks to a report, see Add a hyperlink to a URL in the SQL Server Reporting Services
documentation.

Next steps
Pass a report parameter in a URL for a paginated report in Power BI
What are paginated reports in Power BI Premium?
Expression examples in Power BI Report Builder
8/4/2021 • 18 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Report Builder ✔
️ Power BI service ❌ Power BI Desktop
Expressions are used frequently in Power BI Report Builder paginated reports to control content and report
appearance. Expressions are written in Microsoft Visual Basic, and can use built-in functions, custom code, report
and group variables, and user-defined variables. Expressions begin with an equal sign (=).
This topic provides examples of expressions that can be used for common tasks in a report.
Visual Basic Functions Examples for date, string, conversion and conditional Visual Basic functions.
Report Functions Examples for aggregates and other built-in report functions.
Appearance of Report Data Examples for changing the appearance of a report.
Properties Examples for setting report item properties to control format or visibility.
Parameters Examples for using parameters in an expression.
Custom Code Examples of embedded custom code.
For more information about simple and complex expressions, where you can use expressions, and the types of
references that you can include in an expression, see topics under Expressions in Power BI Report Builder.

Functions
Many expressions in a report contain functions. You can format data, apply logic, and access report metadata
using these functions. You can write expressions that use functions from the Microsoft Visual Basic run-time
library, and from the xref:System.Convert and xref:System.Math namespaces. You can add references to
functions in custom code. You can also use classes from the Microsoft .NET Framework, including
xref:System.Text.RegularExpressions .

Visual Basic functions


You can use Visual Basic functions to manipulate the data that is displayed in text boxes or that is used for
parameters, properties, or other areas of the report. This section provides examples demonstrating some of
these functions. For more information, see Visual Basic Runtime Library Members on MSDN.
The .NET Framework provides many custom format options, for example, for specific date formats. For more
information, see Formatting Types.
Math functions
The Round function is useful to round numbers to the nearest integer. The following expression rounds a
1.3 to 1:

= Round(1.3)

You can also write an expression to round a value to a multiple that you specify, similar to the MRound
function in Excel. Multiply the value by a factor that creates an integer, round the number, and then divide
by the same factor. For example, to round 1.3 to the nearest multiple of .2 (1.4), use the following
expression:

= Round(1.3*5)/5

Date functions
The Today function provides the current date. This expression can be used in a text box to display the
date on the report, or in a parameter to filter data based on the current date.

=Today()

Use the DateInter val function to pull out a specific part of a date. Here are some valid DateInter val
parameters:
DateInterval.Second
DateInterval.Minute
DateInterval.Hour
DateInterval.Weekday
DateInterval.Day
DateInterval.DayOfYear
DateInterval.WeekOfYear
DateInterval.Month
DateInterval.Quarter
DateInterval.Year
For example, this expression will show the number of the week in the current year for today's date:

=DatePart(DateInterval.WeekOfYear, today())

The DateAdd function is useful for supplying a range of dates based on a single parameter. The following
expression provides a date that is six months after the date from a parameter named StartDate.

=DateAdd(DateInterval.Month, 6, Parameters!StartDate.Value)

The Year function displays the year for a particular date. You can use this to group dates together or to
display the year as a label for a set of dates. This expression provides the year for a given group of sales
order dates. The Month function and other functions can also be used to manipulate dates. For more
information, see the Visual Basic documentation.

=Year(Fields!OrderDate.Value)

You can combine functions in an expression to customize the format. The following expression changes
the format of a date in the form month-day-year to month-week-week number. For example, 12/23/2009
to December Week 3:

=Format(Fields!MyDate.Value, "MMMM") & " Week " &


(Int(DateDiff("d", DateSerial(Year(Fields!MyDate.Value),
Month(Fields!MyDate.Value),1), Fields!FullDateAlternateKey.Value)/7)+1).ToString

When used as a calculated field in a dataset, you can use this expression on a chart to aggregate values
by week within each month.
The following expression formats the SellStartDate value as MMM-YY. SellStartDate field is a datetime
data type.

=FORMAT(Fields!SellStartDate.Value, "MMM-yy")

The following expression formats the SellStartDate value as dd/MM/yyyy. The SellStartDate field is a
datetime data type.

=FORMAT(Fields!SellStartDate.Value, "dd/MM/yyyy")

The CDate function converts the value to a date. The Now function returns a date value containing the
current date and time according to your system. DateDiff returns a Long value specifying the number of
time intervals between two Date values.
The following example displays the start date of the current year

=DateAdd(DateInterval.Year,DateDiff(DateInterval.Year,CDate("01/01/1900"),Now()),CDate("01/01/1900"))

The following example displays the start date for the previous month based on the current month.

=DateAdd(DateInterval.Month,DateDiff(DateInterval.Month,CDate("01/01/1900"),Now())-
1,CDate("01/01/1900"))

The following expression generates the interval years between SellStartDate and LastReceiptDate. These
fields are in two different datasets, DataSet1 and DataSet2.

=DATEDIFF("yyyy", First(Fields!SellStartDate.Value, "DataSet1"), First(Fields!LastReceiptDate.Value,


"DataSet2"))

The DatePar t function returns an Integer value containing the specified component of a given Date
value.The following expression returns the year for the first value of the SellStartDate in DataSet1. The
dataset scope is specified because there are multiple datasets in the report.

=Datepart("yyyy", First(Fields!SellStartDate.Value, "DataSet1"))

The DateSerial function returns a Date value representing a specified year, month, and day, with the time
information set to midnight. The following example displays the ending date for the prior month, based
on the current month.

=DateSerial(Year(Now()), Month(Now()), "1").AddDays(-1)


The following expressions display various dates based on a date parameter value selected by the user.

EXA M P L E DESC RIP T IO N EXA M P L E

Yesterday =DateSerial(Year(Parameters!TodaysDate.Value),Month(Parameters!TodaysDate.Value),Day(Parameters!To
1)

Two Days Ago =DateSerial(Year(Parameters!TodaysDate.Value),Month(Parameters!TodaysDate.Value),Day(Parameters!To


2)

One Month Ago =DateSerial(Year(Parameters!TodaysDate.Value),Month(Parameters!TodaysDate.Value)-


1,Day(Parameters!TodaysDate.Value))

Two Months Ago =DateSerial(Year(Parameters!TodaysDate.Value),Month(Parameters!TodaysDate.Value)-


2,Day(Parameters!TodaysDate.Value))

One Year Ago =DateSerial(Year(Parameters!TodaysDate.Value)-


1,Month(Parameters!TodaysDate.Value),Day(Parameters!TodaysDate.Value))

Two Years Ago =DateSerial(Year(Parameters!TodaysDate.Value)-


2,Month(Parameters!TodaysDate.Value),Day(Parameters!TodaysDate.Value))

String functions
Combine more than one field by using concatenation operators and Visual Basic constants. The following
expression returns two fields, each on a separate line in the same text box:

=Fields!FirstName.Value & vbCrLf & Fields!LastName.Value

Format dates and numbers in a string with the Format function. The following expression displays values
of the StartDate and EndDate parameters in long date format:

=Format(Parameters!StartDate.Value, "D") & " through " & Format(Parameters!EndDate.Value, "D")

If the text box contains only a date or number, you should use the Format property of the text box to
apply formatting instead of the Format function within the text box.
The Right , Len , and InStr functions are useful for returning a substring, for example, trimming
DOMAIN\username to just the user name. The following expression returns the part of the string to the
right of a backslash (\) character from a parameter named User:

=Right(Parameters!User.Value, Len(Parameters!User.Value) - InStr(Parameters!User.Value, "\"))

The following expression results in the same value as the previous one, using members of the .NET
Framework xref:System.String class instead of Visual Basic functions:

=Parameters!User.Value.Substring(Parameters!User.Value.IndexOf("\")+1, Parameters!User.Value.Length-
Parameters!User.Value.IndexOf("\")-1)

Display the selected values from a multivalue parameter. The following example uses the Join function to
concatenate the selected values of the parameter MySelection into a single string that can be set as an
expression for the value of a text box in a report item:

= Join(Parameters!MySelection.Value)

The following example does the same as the above example, as well as displays a text string prior to the
list of selected values.

="Report for " & JOIN(Parameters!MySelection.Value, " & ")

The Regex functions from the .NET Framework xref:System.Text.RegularExpressions are useful for
changing the format of existing strings, for example, formatting a telephone number. The following
expression uses the Replace function to change the format of a ten-digit telephone number in a field
from "nnn-nnn-nnnn" to "(nnn) nnn-nnnn":

=System.Text.RegularExpressions.Regex.Replace(Fields!Phone.Value, "(\d{3})[ -.]*(\d{3})[ -.]*


(\d{4})", "($1) $2-$3")

NOTE
Verify that the value for Fields!Phone.Value has no extra spaces and is of type xref:System.String .

Lookup
By specifying a key field, you can use the Lookup function to retrieve a value from a dataset for a one-to-
one relationship, for example, a key-value pair. The following expression displays the product name from
a dataset ("Product"), given the product identifier to match on:

=Lookup(Fields!PID.Value, Fields!ProductID.Value, Fields.ProductName.Value, "Product")

LookupSet
By specifying a key field, you can use the LookupSet function to retrieve a set of values from a dataset
for a one-to-many relationship. For example, a person can have multiple telephone numbers. In the
following example, assume the dataset PhoneList contains a person identifier and a telephone number in
each row. LookupSet returns an array of values. The following expression combines the return values
into a single string and displays the list of telephone numbers for the person specified by ContactID:

=Join(LookupSet(Fields!ContactID.Value, Fields!PersonID.Value, Fields!PhoneNumber.Value,


"PhoneList"),",")

Conversion functions
You can use Visual Basic functions to convert a field from the one data type to a different data type. Conversion
functions can be used to convert the default data type for a field to the data type needed for calculations or to
combine text.
The following expression converts the constant 500 to type Decimal in order to compare it to a Transact-
SQL money data type in the Value field for a filter expression.

=CDec(500)

The following expression displays the number of values selected for the multivalue parameter
MySelection.

=CStr(Parameters!MySelection.Count)

Decision functions
The Iif function returns one of two values depending on whether the expression is true or not. The
following expression uses the Iif function to return a Boolean value of True if the value of LineTotal
exceeds 100. Otherwise it returns False :

=IIF(Fields!LineTotal.Value > 100, True, False)

Use multiple IIF functions (also known as "nested IIFs") to return one of three values depending on the
value of PctComplete . The following expression can be placed in the fill color of a text box to change the
background color depending on the value in the text box.

=IIF(Fields!PctComplete.Value >= 10, "Green", IIF(Fields!PctComplete.Value >= 1, "Blue", "Red"))

Values greater than or equal to 10 display with a green background, between 1 and 9 display with a blue
background, and less than 1 display with a red background.
A different way to get the same functionality uses the Switch function. The Switch function is useful
when you have three or more conditions to test. The Switch function returns the value associated with
the first expression in a series that evaluates to true:

=Switch(Fields!PctComplete.Value >= 10, "Green", Fields!PctComplete.Value >= 1, "Blue",


Fields!PctComplete.Value = 1, "Yellow", Fields!PctComplete.Value <= 0, "Red")

Values greater than or equal to 10 display with a green background, between 1 and 9 display with a blue
background, equal to 1 display with a yellow background, and 0 or less display with a red background.
Test the value of the ImportantDate field and return "Red" if it's more than a week old, and "Blue"
otherwise. This expression can be used to control the Color property of a text box in a report item:

=IIF(DateDiff("d",Fields!ImportantDate.Value, Now())>7,"Red","Blue")

Test the value of the PhoneNumber field and return "No Value" if it's null (Nothing in Visual Basic);
otherwise return the phone number value. This expression can be used to control the value of a text box
in a report item.

=IIF(Fields!PhoneNumber.Value Is Nothing,"No Value",Fields!PhoneNumber.Value)

Test the value of the Department field and return either a subreport name or a null (Nothing in Visual
Basic). This expression can be used for conditional drillthrough subreports.
=IIF(Fields!Department.Value = "Development", "EmployeeReport", Nothing)

Test if a field value is null. This expression can be used to control the Hidden property of an image report
item. In the following example, the image specified by the field [LargePhoto] is displayed only if the value
of the field is not null.

=IIF(IsNothing(Fields!LargePhoto.Value),True,False)

The MonthName function returns a string value containing the name of the specified month. The
following example displays NA in the Month field when the field contains the value of 0.

IIF(Fields!Month.Value=0,"NA",MonthName(IIF(Fields!Month.Value=0,1,Fields!Month.Value)))

Report functions
In an expression, you can add a reference to additional report functions that manipulate data in a report. This
section provides examples for two of these functions.
Sum
The Sum function can total the values in a group or data region. This function can be useful in the header
or footer of a group. The following expression displays the sum of data in the Order group or data region:

=Sum(Fields!LineTotal.Value, "Order")

You can also use the Sum function for conditional aggregate calculations. For example, if a dataset has a
field that is named State with possible values Not Started, Started, Finished, the following expression,
when placed in a group header, calculates the aggregate sum for only the value Finished:

=Sum(IIF(Fields!State.Value = "Finished", 1, 0))

RowNumber
The RowNumber function, when used in a text box within a data region, displays the row number for
each instance of the text box in which the expression appears. This function can be useful to number rows
in a table. It can also be useful for more complex tasks, such as providing page breaks based on number
of rows. For more information, see Page Breaks in this topic.
The scope you specify for RowNumber controls when renumbering begins. The Nothing keyword
indicates that the function will start counting at the first row in the outermost data region. To start
counting within nested data regions, use the name of the data region. To start counting within a group,
use the name of the group.

=RowNumber(Nothing)

Appearance of report data


You can use expressions to manipulate how data appears on a report. For example, you can display the values of
two fields in a single text box, display information about the report, or affect how page breaks are inserted in the
report.
Page headers and footers
When designing a report, you may want to display the name of the report and page number in the report footer.
To do this, you can use the following expressions:
The following expression provides the name of the report and the time it was run. It can be placed in a
text box in the report footer or in the body of the report. The time is formatted with the .NET Framework
formatting string for short date:

=Globals.ReportName & ", dated " & Format(Globals.ExecutionTime, "d")

The following expression, placed in a text box in the footer of a report, provides page number and total
pages in the report:

=Globals.PageNumber & " of " & Globals.TotalPages

The following examples describe how to display the first and last values from a page in the page header, similar
to what you might find in a directory listing. The example assumes a data region that contains a text box named
LastName .

The following expression, placed in a text box on the left side of the page header, provides the first value
of the LastName text box on the page:
=First(ReportItems("LastName").Value)

The following expression, placed in a text box on the right side of the page header, provides the last value
of the LastName text box on the page:

=Last(ReportItems("LastName").Value)

The following example describes how to display a page total. The example assumes a data region that contains a
text box named Cost .
The following expression, placed in the page header or footer, provides the sum of the values in the Cost
text box for the page:

=Sum(ReportItems("Cost").Value)

NOTE
You can refer to only one report item per expression in a page header or footer. Also, you can refer to the text box name,
but not the actual data expression within the text box, in page header and footer expressions.

Page breaks
In some reports, you may want to place a page break at the end of a specified number of rows instead of, or in
addition to, on groups or report items. To do this, create a group that contains the groups or detail records you
want, add a page break to the group, and then add a group expression to group by a specified number of rows.
The following expression, when placed in the group expression, assigns a number to each set of 25 rows.
When a page break is defined for the group, this expression results in a page break every 25 rows.

=Ceiling(RowNumber(Nothing)/25)

To allow the user to set a value for the number of rows per page, create a parameter named RowsPerPage
and base the group expression on the parameter, as shown in the following expression:

=Ceiling(RowNumber(Nothing)/Parameters!RowsPerPage.Value)

Properties
Expressions are not only used to display data in text boxes. They can also be used to change how properties are
applied to report items. You can change style information for a report item, or change its visibility.
Formatting
The following expression, when used in the Color property of a text box, changes the color of the text
depending on the value of the Profit field:

=Iif(Fields!Profit.Value < 0, "Red", "Black")

You can also use the Visual Basic object variable Me . This variable is another way of referring to the value
of a text box.
=Iif(Me.Value < 0, "Red", "Black")

The following expression, when used in the BackgroundColor property of a report item in a data region,
alternates the background color of each row between pale green and white:

=Iif(RowNumber(Nothing) Mod 2, "PaleGreen", "White")

If you are using an expression for a specified scope, you may have to indicate the dataset for the
aggregate function:

=Iif(RowNumber("Employees") Mod 2, "PaleGreen", "White")

NOTE
Available colors come from the .NET Framework KnownColor enumeration.

Chart colors
To specify colors for a Shape chart, you can use custom code to control the order that colors are mapped to data
point values. This helps you use consistent colors for multiple charts that have the same category groups.
Visibility
You can show and hide items in a report using the visibility properties for the report item. In a data region such
as a table, you can initially hide detail rows based on the value in an expression.
The following expression, when used for initial visibility of detail rows in a group, shows the detail rows
for all sales exceeding 90 percent in the PctQuota field:

=Iif(Fields!PctQuota.Value>.9, False, True)

The following expression, when set in the Hidden property of a table, shows the table only if it has more
than 12 rows:

=IIF(CountRows()>12,false,true)

The following expression, when set in the Hidden property of a column, shows the column only if the
field exists in the report dataset after the data is retrieved from the data source:

=IIF(Fields!Column_1.IsMissing, true, false)

URLs
You can customize URLs by using report data and also conditionally control whether URLs are added as an
action for a text box.
The following expression, when used as an action on a text box, generates a customized URL that
specifies the dataset field EmployeeID as a URL parameter.

="https://adventure-works/MyInfo?ID=" & Fields!EmployeeID.Value

The following expression conditionally controls whether to add a URL in a text box. This expression
depends on a parameter named IncludeURLs that allows a user to decide whether to include active URLs
in a report. This expression is set as an action on a text box. By setting the parameter to False and then
viewing the report, you can export the report Microsoft Excel without hyperlinks.

=IIF(Parameters!IncludeURLs.Value,"https://adventure-works.com/productcatalog",Nothing)

NOTE
Power BI paginated reports don't support using JavaScript within a Go To URL expression.

Report data
Expressions can be used to manipulate the data that is used in the report. You can refer to parameters and other
report information. You can even change the query that is used to retrieve data for the report.
Parameters
You can use expressions in a parameter to vary the default value for the parameter. For example, you can use a
parameter to filter data to a particular user based on the user ID that is used to run the report.
The following expression, when used as the default value for a parameter, collects the user ID of the
person running the report:

=User!UserID

To refer to a parameter in a query parameter, filter expression, text box, or other area of the report, use
the Parameters global collection. This example assumes that the parameter is named Department:

=Parameters!Department.Value

Parameters can be created in a report but set to hidden. When the report runs on the report server, the
parameter doesn't appear in the toolbar and the report reader cannot change the default value. You can
use a hidden parameter set to a default value as custom constant. You can use this value in any
expression, including a field expression. The following expression identifies the field specified by the
default parameter value for the parameter named ParameterField:

=Fields(Parameters!ParameterField.Value).Value

Custom code
You can use custom code embedded in a report.
Using group variables for custom aggregation
You can initialize the value for a group variable that is local to a particular group scope and then include a
reference to that variable in expressions. One of the ways that you can use a group variable with custom code is
to implement a custom aggregate.

Suppressing null or zero values at run time


Some values in an expression can evaluate to null or undefined at report processing time. This can create run-
time errors that result in #Error displaying in the text box instead of the evaluated expression. The IIF function
is particularly sensitive to this behavior because, unlike an If-Then-Else statement, each part of the IIF statement
is evaluated (including function calls) before being passed to the routine that tests for true or false . The
statement =IIF(Fields!Sales.Value is NOTHING, 0, Fields!Sales.Value) generates #Error in the rendered report
if Fields!Sales.Value is NOTHING.
To avoid this condition, use one of the following strategies:
Set the numerator to 0 and the denominator to 1 if the value for field B is 0 or undefined; otherwise, set
the numerator to the value for field A and the denominator to the value for field B.

=IIF(Field!B.Value=0, 0, Field!A.Value / IIF(Field!B.Value =0, 1, Field!B.Value))

Use a custom code function to return the value for the expression. The following example returns the
percentage difference between a current value and a previous value. This can be used to calculate the
difference between any two successive values and it handles the edge case of the first comparison (when
there is no previous value) and cases whether either the previous value or the current value is null
(Nothing in Visual Basic).

Public Function GetDeltaPercentage(ByVal PreviousValue, ByVal CurrentValue) As Object


If IsNothing(PreviousValue) OR IsNothing(CurrentValue) Then
Return Nothing
Else if PreviousValue = 0 OR CurrentValue = 0 Then
Return Nothing
Else
Return (CurrentValue - PreviousValue) / CurrentValue
End If
End Function

The following expression shows how to call this custom code from a text box, for the
"ColumnGroupByYear" container (group or data region).

=Code.GetDeltaPercentage(Previous(Sum(Fields!Sales.Value),"ColumnGroupByYear"),
Sum(Fields!Sales.Value))

This helps to avoid run-time exceptions. You can now use an expression like
=IIF(Me.Value < 0, "red", "black") in the Color property of the text box to conditionally the display text
based on whether the values are greater than or less than 0.

Next steps
What are paginated reports in Power BI Premium?
Pagination in Power BI paginated reports
8/4/2021 • 8 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Report Builder ✔
️ Power BI service ❌ Power BI Desktop
Pagination refers to the number of pages in a report, and the arrangement of report items on those pages.
Pagination in Power BI paginated reports varies depending on the rendering extension you use to view and
deliver the report. When you run a report on the report server, the report uses the HTML renderer. HTML
follows a specific set of pagination rules. If you export the same report to PDF, for example, you're using the PDF
renderer, which uses a different set of rules. Therefore, the report paginates differently. You need to understand
the rules used to control pagination in Power BI paginated reports. Then you can successfully design an easy-to-
read report that you optimize for the renderer you plan to use to deliver your report.
This topic discusses the impact of the physical page size and the report layout on how hard-page-break
renderers render the report. You can set properties to modify the physical page size and margins, and divide the
report into columns; use the Repor t Proper ties pane, the Proper ties pane, or the Page Setup dialog box.
Access the Repor t Proper ties pane by clicking the blue area outside the report body. Access the Page Setup
dialog box by clicking Run on the Home tab, and then clicking Page Setup on the Run tab.

NOTE
If you've designed a report to be one page wide, but it renders across multiple pages, check that the width of the report
body, including margins, isn't larger than the physical page size width. To prevent empty pages from being added to your
report, you can reduce the container size by dragging the container corner to the left.

The report body


The report body is a rectangular container displayed as white space on the design surface. It can grow or shrink
to accommodate the report items contained within it. The report body doesn't reflect the physical page size, and
in fact, the report body can grow beyond the boundaries of the physical page size to span multiple report pages.
Some renderers render reports that grow or shrink depending on the contents of the page. Reports rendered in
these formats are optimized for screen-based viewing, such as in a Web browser. These renderers, such as
Microsoft Excel, Word, HTML, and MHTML, add vertical page breaks when required.
You can format the report body with a border color, border style, and border width. You can also add a
background color and background image.

The physical page


The physical page size is the paper size. The paper size that you specify for the report controls how the report is
rendered. Reports rendered in hard-page-break formats insert page breaks horizontally and vertically based on
the physical page size. These page breaks provide an optimized reading experience when printed or viewed in a
hard-page-break file format. Reports rendered in soft-page-break formats insert page breaks horizontally based
on the physical size. Again, the page breaks provide an optimized reading experience when viewed in a Web
browser.
By default, the page size is 8.5 x 11 inches. You can change this size in the Repor t Proper ties pane or Page
Setup dialog box, or by changing the PageHeight and PageWidth properties in the Proper ties pane. The page
size doesn't grow or shrink to accommodate the contents of the report body. If you want the report to appear on
a single page, all the content within the report body must fit on the physical page. If it doesn't fit and you use the
hard-page-break format, then the report will require additional pages. If the report body grows past the right
edge of the physical page, then a page break is inserted horizontally. If the report body grows past the bottom
edge of the physical page, then a page break is inserted vertically.
You can override the physical page size that's defined in the report. Specify the physical page size using the
Device Information settings for the renderer that you're using to export the report. For a complete list, see
Device Information Settings for Rendering Extensions in the SQL Server Reporting Services documentation.
Margins
Report Builder draws margins from the edge of the physical page dimensions inward to the specified margin
setting. If a report item extends into the margin area, it is clipped so that the overlapping area isn't rendered. If
you specify margin sizes that cause the horizontal or vertical width of the page to equal zero, the margin
settings default to zero. You specify margins in the Repor t Proper ties pane or Page Setup dialog box, or by
changing the TopMargin, BottomMargin, LeftMargin and RightMargin properties in the Proper ties pane. To
override the margin size defined in the report, specify the margin size using the Device Information settings for
the specific renderer that you are using to export the report.
The usable page area is the area of the physical page that remains after allocating space for margins, column
spacing, and the page header and footer. Margins are only applied when you render and print reports in hard-
page-break renderer formats. The following image indicates the margin and usable page area of a physical
page.

Newsletter-style columns
Your report can be divided into columns, like columns in a newspaper. Columns are treated as logical pages
rendered on the same physical page. They're arranged from left to right, top to bottom, and are separated by
white space between each column. If the report is divided into more than one column, each physical page is
divided vertically into columns. Each column is considered a logical page. For example, suppose you have two
columns on a physical page. The content of your report fills the first column and then the second column. If the
report doesn't fit entirely within the first two columns, the report then fills the first and second column on the
next page. Columns continue to be filled, from left to right, top to bottom until all report items are rendered. If
you specify column sizes that cause the horizontal width or vertical width to equal zero, the column spacing
defaults to zero.
You specify columns in the Repor t Proper ties pane or Page Setup dialog box, or by changing the TopMargin,
BottomMargin, LeftMargin and RightMargin properties in the Proper ties pane. To use a margin size that isn't
defined, specify the margin size using the Device Information settings for the specific renderer where you're
exporting the report. Columns are only applied when you render and print reports in PDF or Image formats. The
following image indicates the usable page area of a page containing columns.

Page breaks and page names


A report might be more readable and its data easier to audit and export when the report has page names.
Report Builder provides properties for these items:
reports
table, matrix, and list data regions
groups
rectangles in the report to control pagination, reset page numbers, and provide new report page names on
page breaks.
These features can enhance reports regardless of the format in which reports are rendered. They're especially
useful when exporting reports to Excel workbooks.

NOTE
Table, matrix, and list data regions are all really the same kind of data region behind the scenes: a tablix. So you may
encounter that name.

The InitialPageName property provides the initial page name of the report. If your report doesn't include page
names for page breaks, then the initial page name is used for all the new pages created by page breaks. You're
not required to use an initial page name.
A rendered report can provide a new page name for the new page that a page break causes. To provide the page
name, you set the PageName property of a table, matrix, list, group, or rectangle. You don't have to specify page
names on breaks. If you don't, the value of InitialPageName is used instead. If InitialPageName is also blank, the
new page has no name.
Table, matrix, and list data regions, groups, and rectangles support page breaks.
The page break includes the following properties:
BreakLocation provides the location of the break for the page break enabled report element: at the
start, end, or start and end. On groups, BreakLocation can be located between groups.
Disabled indicates whether a page break is applied to the report element. If this property evaluates to
True, the page break is ignored. This property is used to dynamically disable page breaks based on
expressions when the report is run.
ResetPageNumber indicates whether the page number should be reset to 1 when a page break occurs.
If this property evaluates to True, the page number is reset.
You can set the BreakLocation property in the Tablix Proper ties , Rectangle Proper ties , or Group
Proper ties dialog boxes, but you must set the Disabled, ResetPageNumber, and PageName properties in the
Report Builder Properties pane. If the properties in the Properties pane are organized by category, you find the
properties in the PageBreak category. For groups, the PageBreak category is inside the Group category.
You can use constants and simple or complex expressions to set the value of the Disabled and
ResetPageNumber properties. However, you can't use expression with the BreakLocation property. For more
information about writing and using expressions, see Expressions in Power BI Report Builder.
In your report you can write expressions that reference the current page names or page numbers by using the
Globals collection. For more information, see Built-in Globals and Users References in the Report Builder and
Reporting Services documentation.
Naming Excel worksheet tabs
These properties are useful when you export reports to Excel workbooks. Use the InitialPage property to specify
a default name for the worksheet tab name when you export the report, and use page breaks and the
PageName property to provide different names for each worksheet. Each new report page, defined by a page
break, is exported to a different worksheet named by the value of the PageName property. If PageName is
blank, but the report has an initial page name, then all worksheets in the Excel workbook use the same name,
the initial page name.
For more information about how these properties work when reports are exported to Excel, see Exporting to
Microsoft Excel in the Report Builder and Reporting Services documentation.

Next steps
View a paginated report in the Power BI service
Avoid blank pages when printing paginated reports
More questions? Try the Power BI Community
Previewing reports in Power BI Report Builder
8/4/2021 • 4 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Report Builder ✔
️ Power BI service ❌ Power BI Desktop
While you create a Report Builder paginated report, it's helpful to preview the report often to verify that the
report displays what you want. To preview your report, click Run . The report renders in preview mode.
Report Builder improves the preview experience by using edit sessions when connected to a report server. The
edit session creates a data cache and makes the datasets in the cache available for repeated report previews. An
edit session is not a feature that you interact with directly, but understanding when the cached dataset is
refreshed will help you improve performance when you preview a report and understand why the report
renders faster or slower.

NOTE
There are some differences between previewing in Report Builder and viewing in a browser. For example, a calendar
control, which is added to a report when you specify a Date/Time type parameter, is different in Report Builder and in a
browser.

Improving preview performance


How you create and update reports affects how fast the report renders in preview. The first time that you
preview a report that relies on a server reference, an edit session is created for you and the data used when the
report is run is added to a data cache that is stored. When you make changes to the report that does not affect
the data, the cached copy of the data is used by the report. This means that you will not see data change each
time you preview the report. If you want new data, click the Refresh button on the ribbon.
The following actions cause the cache to be refreshed and slow down report rendering the next time you
preview the report:
Add, change, or delete a dataset. The cached dataset contains all the datasets that a report uses and
modification to any dataset invalidates the cached dataset. This includes changing the name, query, or
fields in the dataset.

NOTE
If the dataset has a large number of fields that you don't expect to use, you should consider updating the dataset
to omit those fields. Although this creates a new edit session and the first preview of the report is slower, there
smaller cached dataset is overall beneficial to the performance of the report server.

Add, change, or delete a data source. This includes changing the name or properties of the data source,
the data extension of the data source, or the properties of the connection to the data source.
Change the data source that the report uses to a different data source.
Change the language of the report.
Change the assemblies or custom code that the report uses.
Add, change, or delete the query parameters in the report or parameter values.
Changes to the report layout and data formatting don't affect the cached dataset. You can do the following
actions without refreshing the cached dataset:
Add or remove data regions such as tables, matrices or charts.
Add or delete columns from the report. All the fields in the dataset are available to use in the report.
Adding or removing fields in the report has no effect on the dataset.
Change the order of fields in tables and matrices.
Add, change, or delete row and column groups.
Add, change, or delete formatting of data values in fields.
Add, change, or delete images, lines, or text boxes.
Change page breaks.
The edit session is created the first time that you preview a report. By default, an edit session lasts 7200 seconds
(2 hours). The session is reset to two hours every time you run the report. When the edit session expires, the
data cache is deleted. If the edit session expires, one is automatically created again the next time that you
preview the report.
By default, the data cache can hold up to five datasets. If you use many different combinations of parameter
values, the report might need more data. This requires the cache be refreshed and the report renders more
slowly the next time that you preview it.

Concurrency of report updates


Frequently, you preview a report as a step in updating and then saving a report to the Power BI service. When
you are updating a report, it's possible that someone else is updating and then saving the report at the same
time. The report that is saved last is the version of report that is available for future viewing and updating. This
means that the version of the report that you previewed might not be the version you reopen. You have the
option to save the report with a new name by using the Save As option on the Report Builder menu.

External report items


Your report might include items such as external images that are stored separately from the report. Because the
items are stored separately it's possible that they can be moved to a different location or be deleted. If this
happens, your report could fail to preview. You can either update the report to indicate the updated location of
the item or if the item was deleted, replace it with an existing item, or remove the reference to the item it from
the report.

Next steps
What are paginated reports in Power BI Premium?
Use default system credentials for web proxy in
Power BI Report Builder
9/29/2021 • 2 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Report Builder ✔
️ Power BI service ❌ Power BI Desktop
Web requests issued by Power BI Report Builder don't use web proxy credentials. In networks that use a proxy
server, Power BI Report Builder may not be able to successfully make web requests. You may see the error - "The
remote server returned an error: (407) Proxy Authentication Required."
System or network administrators can allow the use of default system credentials for web proxy authentication.
Administrators can create a REG_DWORD registry entry called UseDefaultCredentialsForProxy , and set the
value to one (1) to enable the use of default system credentials for web proxy authentication.
The registry entry can be placed in the following location (you may need to create the Microsoft Power BI
Repor t Builder registry key):
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Power BI Report Builder]

After you create the registry entry, a reboot may be necessary. From then on, when Power BI Report Builder
makes web requests, it uses the proxy settings that are defined in Internet Explorer.
As with any change to proxy or credential settings, there are security implications to creating this registry entry.
Administrators must make sure they have configured the Internet Explorer proxies correctly before they enable
this feature.

Limitations and considerations for using default system credentials


Administrators, there are security implications to consider before enabling this capability. Follow these
recommendations whenever enabling this feature for clients:
Only use Negotiation as the authentication scheme for the proxy server, to ensure only proxy servers that
are joined to the Active Directory network are used by the client.
Don't use NTLM fallback on clients that use this feature.
If users aren't on a network with a proxy when admins enable and configure this feature as recommended in
this article, the process of attempting to contact the proxy server and using default system credentials isn't
used.

Next steps
What are paginated reports in Power BI Premium?
Introduction to deployment pipelines
9/20/2021 • 2 minutes to read • Edit Online

In today’s world, analytics is a vital part of decision making in almost every organization. The growing use of
Power BI as an analytics tool, requires it to use more data, look appealing and be user-friendly. Above all
however, Power BI needs to always be available and reliable. To meet these requirements, BI creators must
collaborate effectively.
The deployment pipelines tool enables BI creators to manage the lifecycle of organizational content. It's an
efficient and reusable tool for creators in an enterprise with Premium capacity. Deployment pipelines enable
creators to develop and test Power BI content in the Power BI service, before the content is consumed by users.
The content types include reports, paginated reports, dashboards, and datasets.
The tool is designed as a pipeline with three stages:
Development
This stage is used to design, build, and upload new content with fellow creators. This is the first stage in
deployment pipelines.
Test
You're ready to enter the test stage after you've made all the needed changes to your content. You upload
the modified content so it can be moved to this test stage. Here are three examples of what can be done
in the test environment:
Share content with testers and reviewers
Load and run tests with larger volumes of data
Test your app to see how it will look for your end users
Production
After testing the content, use the production stage to share the final version of your content with business
users across the organization.

Next steps
Get started with deployment pipelines
Understand the deployment pipelines process
Automate your deployment pipeline using APIs and DevOps
Deployment pipelines troubleshooting
Deployment pipelines best practices
Understand the deployment process
9/21/2021 • 12 minutes to read • Edit Online

The deployment process lets you clone content from one stage in the pipeline to another, typically from
development to test, and from test to production.
During deployment, Power BI copies the content from the current stage, into the target one. The connections
between the copied items are kept during the copy process. Power BI also applies the configured deployment
rules to the updated content in the target stage. Deploying content may take a while, depending on the number
of items being deployed. During this time, you can navigate to other pages in the Power BI portal, but you
cannot use the content in the target stage.
You can also deploy content programmatically, using the deployment pipelines REST APIs. You can learn more
about this process in the Automate your deployment pipeline using APIs and DevOps article.

Deploying content to an empty stage


When you deploy content to an empty stage, the metadata of the reports, dashboards, and datasets in the
workspace you're deploying from, is copied to the stage you're deploying to. A new workspace for the stage you
deployed to, is created on a Premium capacity.
There are two ways to deploy content from one stage to the next one. You can deploy all the content, or you can
select which content items to deploy.
You can also deploy content backwards, from a later stage in the deployment pipeline, to an earlier one.
After the deployment is complete, refresh the datasets so that you can use the newly copied content. The dataset
refresh is required because data isn't copied from one stage to another. To understand which item properties are
copied during the deployment process, and which item properties are not copied, review the item properties
copied during deployment section.
Creating a Premium workspace
During first-time deployment, deployment pipelines checks if you have Premium permissions.
If you have Premium permissions, the content of the workspace is copied to the stage you're deploying to, and a
new workspace for that stage is created on the Premium capacity.
If you don't have Premium permissions, the workspace is created but the content isn’t copied. You can ask a
capacity admin to add your workspace to a capacity, or ask for assignment permissions for the capacity. Later,
when the workspace is assigned to a capacity, you can deploy content to this workspace.
If you're using Premium Per User (PPU), your workspace is automatically associated with your PPU. In such cases
Premium permissions are not required. However, workspaces created by a PPU user, can only be accessed by
other PPU users. In addition, content created in such workspaces can only be consumed by PPU users.
Workspace and content ownership
The deploying user automatically becomes the dataset owner of the cloned datasets, and the only admin of the
new workspace.

Deploy content to an existing workspace


Deploying content in a working production pipeline, to a stage that has an existing workspace, includes the
following:
Deploying new content as an addition, to a stage that already contains content.
New content deployed to replace old content, in a current working stage.
Deployment process
Content from the current stage is copied over to the target stage. Power BI identifies existing content in the
target stage and overwrites it. To identify which content item needs to be overwritten, deployment pipelines
uses the connection between the parent item and its clones. This connection is kept when new content is
created. The overwrite operation only overwrites the content of the item. The item's ID, URL, and permissions
remain unchanged.
In the target stage, item properties that are not copied, remain as they were before deployment. New content
and new items are copied from the current stage to the target stage.
Auto -binding
When you use selective deploy to deploy Power BI items, deployment pipelines checks for dependencies. The
deployment will either succeed or fail, depending on the location of the item that provides the data that the
deployed item relies on.
Linked item exists in the target stage - Deployment pipelines will automatically bind the deployed
item, to the item it relies on in the deployed stage. For example, if you deploy a paginated report from
development to test, and it's connected to a Power BI dataset that was previously deployed to the test
stage, it will be automatically connected to that database.
Linked item doesn't exist in the target stage - Deployment pipelines will fail a deployment if an
item has a dependency on another item, and the item providing the data isn't deployed and doesn't
reside in the target stage. For example, if you deploy a report from development to test, and the test
stage doesn't contain its Power BI dataset, the deployment will fail. To avoid failed deployments due to
dependent items not being deployed, use the Select related button. Select related automatically selects all
the related items that provide dependencies to the items you're about to deploy.
Auto-binding works only with Power BI items that are supported by deployment pipelines and reside within
Power BI. To view the dependencies of a Power BI item, from the item's More options menu, select View lineage.
Refreshing data
Data in the target Power BI item, such as a dataset or dataflow, is kept when possible. If there are no changes to a
Power BI item that holds the data, the data is kept as it was before the deployment.
In many cases, when you have a small change such as adding or removing a table, Power BI keeps the original
data. For breaking schema changes, or changes in the data source connection, a full refresh is required.
Requirements for deploying to a stage with an existing workspace
A user with a Pro license or a PPU user who's a member of both the target and source deployment workspaces,
can deploy content that resides on a premium capacity to a stage with an existing workspace. For more
information, review the permissions section.

Deployed items
When you deploy content from one pipeline stage to another, the copied content contains the following Power
BI items:
Datasets
Reports
Dataflows
Dashboards
Paginated reports
Unsupported items
Deployment pipelines doesn't support the following items:
Datasets that do not originate from a PBIX
PUSH datasets
Streaming dataflows
Reports based on unsupported datasets
Template app workspaces
Workbooks
Goals

Item properties copied during deployment


During deployment, the following item properties are copied and overwrite the item properties at the target
stage:
Data sources (deployment rules are supported)
Parameters (deployment rules are supported)
Report visuals
Report pages
Dashboard tiles
Model metadata
Item relationships
Sensitivity labels are copied only when one of the conditions listed below is met. If these conditions are not met,
sensitivity labels will not be copied during deployment.
A new item is deployed.
An item is deployed to an empty stage.
The source item has a label with protection and the target item doesn't. In such cases, a pop-up window
asking for consent to override the target sensitivity label appears.
Item properties that are not copied
The following item properties are not copied during deployment:
Data - Data isn't being copied, only metadata is copied
URL
ID
Permissions - For a workspace or a specific item
Workspace settings - Each stage has its own workspace
App content and settings - To deploy your apps, see deploying Power BI apps
Personal bookmarks
The following dataset properties are also not copied during deployment:
Role assignment
Refresh schedule
Data source credentials
Query caching settings (can be inherited from the capacity)
Endorsement settings

Supported dataset features


Deployment pipelines supports many Power BI dataset features. This section lists two Power BI dataset features
that can enhance your deployment pipelines experience:
Incremental refresh
Composite models
Incremental refresh
Deployment pipelines supports incremental refresh, a feature that allows large datasets faster and more reliable
refreshes, with lower consumption.
With deployment pipelines, you can make updates to a dataset with incremental refresh while retaining both
data and partitions. When you deploy the dataset, the policy is copied along.
To understand how incremental refresh behaves with dataflows, see why do I see two data sources connected to
my dataflow after using dataflow rules?
Activating incremental refresh in a pipeline
To enable incremental refresh, configure it in Power BI Desktop, and then publish your dataset. After you publish,
the incremental refresh policy is similar across the pipeline, and can be authored only in Power BI Desktop.
Once your pipeline is configured with incremental refresh, we recommend that you use the following flow:
1. Make changes to your PBIX file in Power BI Desktop. To avoid long waiting times, you can make changes
using a sample of your data.
2. Upload your PBIX file to the development stage.
3. Deploy your content to the test stage. After deployment, the changes you made will apply to the entire
dataset you're using.
4. Review the changes you made in the test stage, and after you verify them, deploy to the production stage.
Usage examples
Below are a few examples of how you may integrate incremental refresh with deployment pipelines.
Create a new pipeline and connect to it a workspace with a dataset that has incremental refresh enabled.
Enable incremental refresh in a dataset that's already in a development workspace.
Create a pipeline from a production workspace that has a dataset that uses incremental refresh. This is
done by assigning the workspace to a new pipeline's production stage, and using backwards deployment
to deploy to the test stage, and then to the development stage.
Publish a dataset that uses incremental refresh to a workspace that's part of an existing pipeline.
Limitations and considerations
For incremental refresh, deployment pipelines only supports datasets that use enhanced dataset metadata. All
datasets created or modified with Power BI Desktop automatically implement enhanced dataset metadata.
When republishing a dataset to an active pipeline with incremental refresh enabled, the following changes will
result in deployment failure due to data loss potential:
Republishing a dataset that doesn't use incremental refresh, to replace a dataset that has incremental
refresh enabled.
Renaming a table that has incremental refresh enabled.
Renaming non-calculated columns in a table with incremental refresh enabled.
Other changes such as adding a column, removing a column, and renaming a calculated column, are permitted.
However, if the changes affect the display, you'll need to refresh before the change is visible.
Composite models
Using composite models you can set up a report with multiple data connections.
You can use the composite models functionality to connect a Power BI dataset to an external dataset such as
Azure Analysis Services. For more information, see Using DirectQuery for Power BI datasets and Azure Analysis
Services.
In a deployment pipeline, you can use composite models to connect a dataset to another Power BI dataset
external to the pipeline.
Limitations
The following composite models connections are not supported:
Connecting datasets that reside in the same workspace.
Connecting datasets that reside in distinct pipelines.
Connecting datasets that reside in the same pipeline.

Deploying Power BI apps


Power BI apps are the recommended way of distributing content to free Power BI consumers. Using deployment
pipelines you can manage Power BI apps in a deployment pipeline, so that you have more control and flexibility
when it comes to your app's lifecycle.
Create an app for each deployment pipeline stage, so that you can test each app update from an end user's point
of view. A deployment pipeline allows you to manage this process easily. Use the publish or view button in the
workspace card, to publish or view the app in a specific pipeline stage.

In the production stage, the main action button on the bottom-right corner opens the update app page in Power
BI, so that any content updates become available to app users.
IMPORTANT
The deployment process does not include updating the app content or settings. To apply changes to content or settings,
you need to manually update the app in the required pipeline stage.

Permissions
Pipeline permissions and workspace permissions are granted and managed separately. For example, a user with
pipeline access that doesn't have workspace permissions, will be able to view the pipeline and share it with
others. However, this user will not be able to view the content of the workspace in the pipeline, or in the
workspace page, and will not be able to perform deployments.
When deploying Power BI items, the ownership of the deployed item may change. Review the table below to
understand who can deploy each item and how the deployment affects the item's ownership.

REQ UIRED P ERM ISSIO N TO DEP LO Y A N IT EM O W N ERSH IP A F T ER


P O W ER B I IT EM EXIST IN G IT EM DEP LO Y M EN T

Dataset Workspace member Unchanged

Dataflow Dataflow owner Unchanged

Paginated report Workspace member The user who made the deployment
becomes the owner

User with pipeline access


Users with pipeline access have the following permissions:
View the pipeline
Share the pipeline with others
Edit and delete the pipeline

NOTE
Pipeline access doesn't grant permissions to view or take actions on the workspace content.

Workspace viewer
Workspace viewers that have pipeline access, can also do the following:
Consume content
NOTE
Workspace members assigned the Viewer role without build permissions cannot access the dataset or edit workspace
content.

Workspace contributor
Workspace contributors that have pipeline access, can also do the following:
Consume content
Compare stages
View datasets
Workspace member
Workspace members that have pipeline access, can also do the following:
View workspace content
Compare stages
Deploy reports, dashboards and paginated reports
Remove workspaces
Update datasets

NOTE
If the block republish and disable package refresh setting located in the tenant dataset security section is enabled, only
dataset owners will be able to update datasets.

Workspace admin
Workspace administrators that have pipeline access, can perform workspace member actions, and also do the
following:
Assign workspaces
Remove workspaces
Dataset owner
Dataset owners that are either workspace members or admins, can also do the following:
Configure rules

NOTE
This section describes user permissions in deployment pipelines. The permissions listed in this section may have different
applications in other Power BI features.

Limitations
This section lists most of the limitations in deployment pipelines.
The workspace must reside on apremium capacity.
The maximum number of Power BI items that can be deployed in a single deployment is 300.
Downloading a PBIX file after deployment isn't supported.
For a list of workspace limitations, see workspace assignment limitations.
For a list of unsupported items, see unsupported items.
Dataset limitations
Datasets that use real-time data connectivity cannot be deployed.
During deployment, if the target dataset is using a live connection, the source dataset must use this
connection mode too.
After deployment, downloading a dataset (from the stage it's been deployed to) is not supported.
For a list of deployment rule limitations, see deployment rules limitations.
Dataflow limitations
When deploying a dataflow with linked entities that reside on the same workspace, the deployment will
fail.
When deploying a dataflow to an empty stage, deployment pipelines creates a new workspace and sets
the dataflow storage to a Power BI blob storage. Blob storage is used even if the source workspace is
configured to use Azure data lake storage Gen2 (ADLS Gen2).
In deployment pipelines, service principal isn't supported for dataflows.
For deployment pipeline rule limitations that effect dataflows, see Deployment rules limitations.

Next steps
Introduction to deployment pipelines
Get started with deployment pipelines
Automate your deployment pipeline using APIs and DevOps
Deployment pipelines troubleshooting
Deployment pipelines best practices
Deployment pipelines best practices
9/21/2021 • 9 minutes to read • Edit Online

This article provides guidance for BI creators who are managing their content throughout its lifecycle. It focuses
on leveraging deployment pipelines as a BI content lifecycle management tool.
The article is divided into four sections:
Content preparation - Prepare your content for lifecycle management.
Development - Learn about the best ways of creating content in the deployment pipelines development
stage.
Test - Understand how to use the deployment pipelines test stage, to test your environment.
Production - Utilize the deployment pipelines production stage when making your content available for
consumption.

Content preparation
Prepare your content for on-going management throughout its lifecycle. Make sure you review the information
in this section, before you do any of the following:
Release your content to production
Start using a deployment pipeline for a specific workspace
Publish your work
Treat each workspace as a complete package of analytics
Ideally, a workspace should contain a complete view of one aspect (such as department, business unit, project,
or vertical) in your organization. This makes it easier to manage permissions for different users, and allows
content releases for the entire workspace to be controlled according to a planned schedule.
If you're using centralized datasets that are used across the organization, we recommend that you create two
types of workspaces:
Modeling and data workspaces - These workspaces will contain all the centralized datasets
Repor ting workspaces - These workspaces will contain all dependent reports and dashboards
Plan your permission model
A deployment pipeline is a Power BI object, with its own permissions. In addition, the pipeline contains
workspaces, that have their own permissions.
To implement a secure and easy workflow, plan who gets access to each part of the pipeline. Some of the
considerations to take into account are:
Who should have access to the pipeline?
Which operations should users with pipeline access be able to perform in each stage?
Who's reviewing content in the test stage?
Should the test stage reviewers have access to the pipeline?
Who will oversee deployment to the production stage?
Which workspace are you assigning?
Which stage are you assigning your workspace to?
Do you need to make changes to the permissions of the workspace you're assigning?
Connect different stages to different databases
A production database should always be stable and available. It's better not to overload it with queries
generated by BI creators for their development or test datasets. Build separate databases for development and
testing. This helps protect production data, and doesn't overload the development database with the entire
volume of production data, which can slow down things.

NOTE
If your organization is using shared centralized datasets, you can skip this recommendation.

Use parameters in your model


As you can't edit datasets data sources in Power BI service, we recommend using parameters to store
connection details such as instance names and database names, instead of using a static connection string. This
allows you to manage the connections through the Power BI service web portal, or using APIs, at a later stage.
In deployment pipelines, you can configure parameter rules to set specific values for the development, test, and
production stages.
If you don’t use parameters for your connection string, you can define data source rules to specify a connection
string for a given dataset. However, in deployment pipelines, this isn't supported for all data sources. To verify
that you can configure rules for your data source, see deployment rules limitations.
Parameters have additional uses, such as making changes to queries, filters, and the text displayed in the report.

Development
This section provides guidance for working with the deployment pipelines development stage.
Use Power BI Desktop to edit your reports and datasets
Consider Power BI Desktop as your local development environment. Power BI Desktop allows you to try, explore,
and review updates to your reports and datasets. Once the work is done, you can upload your new version to
the development stage. Due to the following reasons, it's recommended to edit PBIX files in the Desktop (and
not in Power BI service):
It is easier to collaborate with fellow creators on the same PBIX file, if all changes are being done on the
same tool.
Making online changes, downloading the PBIX file, and then uploading it again, creates reports and
datasets duplication.
You can use version control to keep your PBIX files up to date.
Version control for PBIX files
If you want to manage the version history of your reports and datasets, use Power BI's autosync with OneDrive.
This will keep your files updated with the latest version. It will also enable you to retrieve older versions if
needed.
NOTE
Use auto-sync with OneDrive (or any other repository) only with the PBIX files in the deployment pipeline's development
stage. Do not sync PBIX files into the deployment pipeline's test and production stages. This will cause problems with
deploying content across the pipeline.

Separate modeling development from report and dashboard development


For enterprise scale deployments, it's recommended to separate dataset development, and the development of
reports and dashboards. To promote changes to only a report or a dataset, use the deployment pipelines
selective deploy option.
This approach should start from Power BI Desktop, by creating a separate PBIX file for datasets and reports. For
example, you can create a dataset PBIX file and uploaded it to the development stage. Later, your report authors
can create a new PBIX only for the report, and connect it to the published dataset using a live connection. This
technic allows different creators to separately work on modeling and visualizations, and deploy them to
production independently.
With shared datasets, you can also use this method across workspaces.
Manage your models using XMLA read/write capabilities
Separating modeling development from report and dashboard development, allows you to use advanced
capabilities such as source control, merging diff changes, and automated processes. These changes should be
done in the development stage, so that finalized content can be deployed to the test and production stages. This
allows changes to go through a unified process with other dependent items, before they're deployed to the
production stage.
You can separate modeling development from visualizations, by managing a shared dataset in an external
workspace, using XMLA r/w capabilities. The shared dataset can connect to multiple reports in various
workspaces that are managed in multiple pipelines.

Test
This section provides guidance for working with the deployment pipelines test stage.
Simulate your production environment
Other than verifying that new reports or dashboards look alright, it's also important to see how they perform
from an end user's perspective. The deployment pipelines test stage, allows you to simulate a real production
environment for testing purposes.
Make sure that these three factors are addressed in your test environment:
Data volume
Usage volume
A similar capacity as in production
When testing, you can use the same capacity as the production stage. However, this can make production
unstable during load testing. To avoid unstable production, use another capacity similar in resources to the
production capacity, for testing. To avoid extra costs, you can use Azure A capacities to pay only for the testing
time.
Use deployment rules with a real-life data source
If you're using the test stage to simulate real life data usage, it's recommended to separate the development and
test data sources. The development database should be relatively small, and the test database should be as
similar as possible to the production database. Use data source rules to switch data sources in the test stage.
Controlling the amount of data you import from your data source, is useful if you're using a production data
source in the test stage. To do this, add a parameter to your data source query in Power BI Desktop. Use
parameter rules to control the amount of imported data, or edit the parameter's value. You can also use this
approach if you don't want to overload your capacity.
Measure performance
When you simulate a production stage, check the report load and the interactions, and find out if the changes
you made impact them.
You also need to monitor the load on the capacity, so that you can catch extreme loads before they reach
production.

NOTE
It's recommended to monitor capacity loads again, after deploying updates to the production stage.

Check related items


Related times can be affected by changes to datasets or reports. During testing, verify that your changes don't
impact or break the performance of existing items, which can be dependent on the updated ones.
You can easily find the related items using the workspace lineage view.
Test your app
If you are distributing content to your end users through an app, review the app's new version, before it's in
production. As each deployment pipeline stage has its own workspace, you can easily publish and update apps
for development and test stages. This will allow you to test the app from an end user's point of view.

IMPORTANT
The deployment process does not include updating the app content or settings. To apply changes to content or settings,
you need to manually update the app in the required pipeline stage.

Production
This section provides guidance to the deployment pipelines production stage.
Manage who can deploy to production
As deploying to production should be handled carefully, it's good practice to let only specific people manage this
sensitive operation. However, you probably want all BI creators for a specific workspace to have access to the
pipeline. This can be managed using production workspace permissions.
To deploy content between stages, users need to have either member or admin permissions for both stages.
Make sure that only the people you want deploying to production, will have production workspace permissions.
Other users can have production workspace contributor or viewer roles. They will be able to see content from
within the pipeline but won't be able to deploy.
In addition, you should limit access to the pipeline by only enabling pipeline permissions to users that are part
of the content creation process.
Set rules to ensure production stage availability
Deployment rules are a powerful way to ensure the data in production is always connected and available to
users. Once deployment rules are applied, deployments can run while you have the assurance that end users
will see the relevant info without disturbance.
Make sure that you set production deployment rules for data sources and parameters defined in the dataset.
Update the production app
Deployment in a pipeline updates the workspace content, but it doesn't update the associated app automatically.
If you're using an app for content distribution, don't forget to update the App after deploying to production, so
that end users will immediately be able to use the latest version.
Quick fixes to content
In case there are bugs in production that require a quick fix, don't be tempted to either upload a new PBIX
version directly to the production stage, or make an online change in Power BI service. Deploying backwards to
test and development stages isn't possible when there's already content in those stages. Furthermore, deploying
a fix without testing it first is bad practice. Therefore, the correct way to treat this problem, is to implement the
fix in the development stage, and push it to the rest of the deployment pipeline stages. This allows checking that
the fix works, before deploying it to production. Deploying across the pipeline takes only a few minutes.

Next steps
Introduction to deployment pipelines
Get started with deployment pipelines
Understand the deployment pipelines process
Automate your deployment pipeline using APIs and DevOps
Deployment pipelines troubleshooting
Automate your deployment pipeline using APIs and
Azure DevOps
9/20/2021 • 4 minutes to read • Edit Online

The Power BI deployment pipelines tool enables BI teams to build an efficient and reusable release process for
their Power BI content.
To achieve continuous integration and continuous delivery (CI/CD) of content, many organizations use various
automation tools, including Azure DevOps.
You can leverage the deployment pipelines Power BI REST APIs, to integrate Power BI into your organization's
automation process. Here are a few examples of what can be done using the APIs:
Integrate Power BI into familiar DevOps tools such as Azure DevOps or GitHub Actions.
Schedule pipeline deployments to happen automatically at a given time.
Deploy multiple pipelines at same time.
Cascade depending pipeline deployments - If you have content that’s connected across pipelines, you can
make sure some pipelines are deployed before others.

Deployment pipelines API functions


Using the deployment pipelines Power BI REST APIs, you can get information about the pipeline, and deploy
Power BI content from one stage to another.
Get pipeline information - Retrieve information about your pipelines and their content. Getting the
pipeline information will enable you to dynamically build the deployment API calls. You can also check the
status of a deployment, or the deployment history.
Deploy - The REST calls enables developers to use any type of deployment available in the Power BI
service.
Which deployments are supported by the APIs?
Here's a list of the different deployment types the APIs support:
Deploy all - A single API call that deploys all the content in the workspace to the next stage in the
pipeline. For this operation, use the Deploy all API.
Selective deploy - Deploy only specific Power BI items (such as reports or dashboards) in the pipeline.
For this operation, use the Selective deploy API.
Backward deploy - Use to deploy new Power BI items to the previous stage. Backward deployment only
works if the Power BI items that are deployed, don’t already exist in the target stage. For this operation
use either the Deploy all or the Selective deploy APIs, with isBackwardDeployment set to True .
Update App - As part of the deployment API call, you can update the content of the app that’s related to
that stage. Using this capability, new or updated Power BI items will automatically be available to your
end users, once a deployment has been completed. For this operation use either the Deploy all or the
Selective deploy APIs, with PipelineUpdateAppSettings.

Before you begin


Before you start using the deployment pipelines APIs, make sure you have the following:
A pipeline with Power BI content. To create a new pipeline, follow the steps in Get started using
deployment pipelines.
The service principal or user you're using to call the APIs, needs pipeline and workspace permissions, and
access to an Azure AD application.
If you're going to use PowerShell scripts, install the Power BI PowerShell cmdlets Install-Module
MicrosoftPowerBIMgmt.

Integrate your pipeline with Azure DevOps


You can use PowerShell to integrate a Power BI deployment pipeline into Azure DevOps. The script signs into
Power BI using a service principal or a user, and allows you to automate Power BI deployment processes from
within your release pipeline in Azure DevOps. You can also use other Power BI REST API calls, to complete
related operations such as importing a PBIX into the pipeline, updating datasources and updating parameters.
This section describes an example PowerShell script that deploys a dataset, report and dashboard, from the
development stage to the test stage. The script then checks whether the deployment was successful.
To run a PowerShell script that performs a deployment, you'll need the components listed below. You can add
any of these parts into tasks in your Azure pipeline stages.
1. Sign in - Before you can deploy your content, you need to sign in to Power BI using a service principal or
a user. Use the Connect-PowerBIServiceAccount command to sign in.
2. Build your request body - In this part of the script you specify which Power BI items (such as reports
and dashboards) you're deploying.

$body = @{
sourceStageOrder = 0 # The order of the source stage. Development (0), Test (1).
datasets = @(
@{sourceId = "Insert your dataset ID here" }
)
reports = @(
@{sourceId = "Insert your report ID here" }
)
dashboards = @(
@{sourceId = "Insert your dashboard ID here" }
)

options = @{
# Allows creating new artifact if needed on the Test stage workspace
allowCreateArtifact = $TRUE

# Allows overwriting existing artifact if needed on the Test stage workspace


allowOverwriteArtifact = $TRUE
}
} | ConvertTo-Json

3. Deploy - Here you perform the deployment.

$url = "pipelines/{0}/Deploy" -f "Insert you pipeline ID here"


$deployResult = Invoke-PowerBIRestMethod -Url $url -Method Post -Body $body | ConvertFrom-Json

4. (Optional) Deployment completion notification - As the deployment API is asynchronous, you can
program the script to notify you when the deployment is complete.
$url = "pipelines/{0}/Operations/{1}" -f "Insert you pipeline ID here",$deployResult.id
$operation = Invoke-PowerBIRestMethod -Url $url -Method Get | ConvertFrom-Json
while($operation.Status -eq "NotStarted" -or $operation.Status -eq "Executing")
{
# Sleep for 5 seconds
Start-Sleep -s 5
$operation = Invoke-PowerBIRestMethod -Url $url -Method Get | ConvertFrom-Json
}

Access the PowerShell samples


To view or copy the text in a PowerShell example, use these links:
Deploy all
Selective deployment
Wait for deployment
You can also download the entire PowerBI-Developer-Samples GitHub folder.

Limitations and considerations


Deployment using APIs is subject to the same limitations as the Power BI deployment pipelines user
interface.
A service principal cannot configure OAuth credentials. After deploying new items, the signed in service
principal becomes the owner of any deployed paginated reports and datasets. In such cases, a refresh
cannot be completed.
Deploying dataflows using a service principal isn't supported.
The maximum number of Power BI items that can be deployed in a single deployment is 300.

Next steps
Introduction to deployment pipelines
Get started with deployment pipelines
Understand the deployment pipelines process
Deployment pipelines troubleshooting
Deployment pipelines best practices
Create quick reports in the Power BI service
9/15/2021 • 4 minutes to read • Edit Online

There's a new way to create reports quickly in the Power BI service. Instead of downloading the Power BI
Desktop app and importing the data, you can paste data straight into Power BI on the web, and Power BI
automatically generates visuals for you.
New to creating in Power BI? Try reading Reports in Power BI for some quick background information.

Create a quick report


In the navigation pane in the Power BI service, you can select the Create button that opens a page where you
can select your data source. It's also accessible from the New repor t button on Home.

Currently, we only support creating a report based on an existing dataset, or typing or pasting data directly in a
table. Over time you'll see other sources, such as uploading an Excel file.
When you choose to type or paste data, you get a grid which you can start to type into. You can also paste data
by using Ctrl + V or the context menu.

You can use the context menu to add and remove columns. If your pasted data includes a header row, select Use
first row as headers to automatically promote the first row to the header row. Power BI automatically detects
the data types, but you have the option to set them manually. Select the Data type button next to the column
name.
As you go through the creation process, Power BI creates a new dataset for you, and autogenerates a
summarized view of your data. These autogenerated visuals propel you from raw data to insights faster than
ever.

Changing the data you see in the report is easy, too. Use the Your data pane to add or remove fields from the
report. Select and unselect fields to update what you want to measure and analyze. Power BI automatically adds
or removes charts to show the new combinations.
Currently you can see a maximum of three measures, shown as rows within the report, and four categories,
shown as columns within the report.
To see a field summarized in a different way, use the context menu of the field in the Your data pane to switch
between sum, average, maximum, minimum, and so on.
You can save this report to the workspace you were in when you first selected Create . From there, you can
share it, just like any other report. The next time you or anyone with edit permissions opens the report, you land
right back in this quick edit experience.
If you want to switch to a full edit experience, select the Edit button in the menu bar. Be aware though, that once
you save the report in the full edit experience, you can't go back to the quick edit view.

This experience should make it easier to create reports on your data and unlock the power of report building to
a whole new set of users. Try the new Create experience today.

Considerations and limitations


Licenses
You need the same license to create a quick report as you do to create any other report in Power BI. If you have a
free Power BI license and your My Workspace is assigned to a Premium capacity, you can create quick reports
there. If you have a Power BI Pro license, you can create quick reports anywhere in the Power BI service. See
Power BI service features by license type for details.
Get data limitations
If you use the Paste or manually enter data option, there’s currently no way to update the data later. If you
want to add, modify, or delete data later, you need to go through the Create workflow again and get a new
report.
If you have a CSV or Excel file, you need to use the paste option to add your data. A file upload option is
coming later.
When copying data into the Enter data window, the size of data you paste in can't exceed 512 KB.
The table name can’t be longer than 80 characters, and column names can’t be longer than 512 characters.
Table and column names can’t contain double quotes ("), periods (.), or leading or trailing white spaces.
Model limitations
When going through this create process, you’re creating a model behind the scenes on the web. These web-
authored models are similar to the ones created in Power BI Desktop, but do have a few limitations.

F EAT URE STAT US DETA IL S

ALM Not currently supported ALM doesn't work for web-authored


datasets.

Bring your own key (BYOK) Not currently supported You can't use your own encryption key
for web-authored datasets.

Template apps Not currently supported You can't create apps for workspaces
with web-authored datasets.

Admin public APIs Partially supported Most admin public APIs are supported.
However, there is a known issue with
the following operation, Admin -
Groups GetGroupsAsAdmin with
datasets expanded . For this
operation, web-authored datasets are
returned, but the ContentProviderType
is incorrectly marked as "RealTime".

Report limitations
If you use the Edit option to switch into full editing mode and save the report, you can no longer switch back to
the auto-generated view with the summarize pane. Power BI reminds you of this when you select Edit .

Next steps
Reports in Power BI
Create a report quickly from a SharePoint list in the Power BI service
More questions? Try the Power BI Community
Create a report from an Excel file in the Power BI
service
7/2/2021 • 2 minutes to read • Edit Online

You've read Reports in Power BI and now you want to create your own. There are different ways to create a
report. In this article, we start by creating a basic report in the Power BI service from an Excel file. Once you
understand the basics of creating a report, check out the Next steps at the end for more advanced report topics.

Prerequisites
Sign up for the Power BI service.
Download the Retail Analysis sample Excel file and save it to your computer or to OneDrive for Business.

Import the Excel file


This method of creating a report starts with a file and a blank report canvas. You can follow along in the Retail
Analysis sample Excel file.
1. In the navigation pane, select My Workspace .

2. From the bottom of the nav pane, select Get data .


3. Select Files and navigate to the location where you saved the Retail Analysis sample.

4. For this exercise, select Impor t .

5. Select Open .
Once the Excel file is imported, it's listed as a dataset in the workspace list.
6. Select More options (...) next to the dataset, and select Create repor t .
7. The report editor opens.

TIP
Select the menu icon to hide the navigation pane, to give you more room.

Add a Radial Gauge to the report


Now that our dataset is imported, let's start answering some questions. Our Chief Marketing Officer (CMO)
wants to know how close we are to meeting this year's sales goals. A Gauge is a good visualization choice for
displaying this type of information.
1. In the Fields pane, select Sales > This Year Sales > Value .

2. Convert the visual to a Gauge by selecting the Gauge template from the Visualizations pane.

3. Drag Sales > This Year Sales > Goal to the Target value well. Looks like we're very close to our goal.
4. Now would be a good time to save your report.

Add an area chart and slicer to the report


Our CMO has some additional questions for us to answer. They'd like to know how sales this year compare to
last year. And, they'd like to see the findings by district.
1. First, let's make some room on our canvas. Select the Gauge and move it into the top-right corner. Then
grab and drag one of the corners and make it smaller.
2. Deselect the gauge. In the Fields pane, select Sales > This Year Sales > Value and select Sales > Last
Year Sales .
3. Convert the visual to an Area chart by selecting the Area chart template from the Visualizations
pane.
4. Select Time > Period to add it to the Axis well.

5. To sort the visualization by time period, select the ellipses and choose Sor t by Period .
6. Now let's add the slicer. Select an empty area on the canvas and choose the Slicer template. We now
have an empty slicer on our canvas.
7. From the Fields pane, select District > District . Move and resize the slicer.

8. Use the slicer to look for patterns and insights by District.

Continue exploring your data and adding visualizations. When you find especially interesting insights, pin them
to a dashboard.
Next steps
Pin visualizations to a dashboard
Change report settings in the Power BI service
More questions? Try the Power BI Community
Create a report quickly from a SharePoint list in the
Power BI service
9/14/2021 • 3 minutes to read • Edit Online

There's a new way to create reports quickly in the Power BI service from data in SharePoint lists. Power BI
automatically generates the visuals for you. SharePoint list and Microsoft List users can explore their list data
with just a few clicks.

New to creating in Power BI? Try reading Reports in Power BI for some quick background information.
If you use Power BI Desktop, you can also create a report on a SharePoint List in Power BI Desktop.

Visualize in Power BI
1. In SharePoint, select Integrate > Power BI > Visualize the list .

A new browser tab opens with an automatically generated report with two measures, shown as rows in
the report, and three categories, shown as bar charts in the report. Currently you can add a maximum of
three measures and four categories.
2. Changing the data you see in the report is easy. In the Summarize pane, add or remove fields from the
report. Select and unselect fields to update what you want to measure and analyze. Power BI
automatically adds or removes charts to show the new combinations.

3. To see a field summarized in a different way, use the context menu of the field in the Summarize pane to
switch between sum, average, maximum, minimum, and so on.

4. (optional) To switch to a full edit experience, select the Edit button in the menu bar.
Be aware though, that once you save the report in the full edit experience, you can't go back to the quick
edit view. Power BI reminds you of this when you select Edit .

Publish the report


To share the insights you find with others on your team, you can publish the report back to the list using the
Publish to the list button in the app bar.

Name your report and confirm you’re ready to publish back to the list. Once it's published, everyone who has
access to the list can open the report, and see all the data in the report. Learn more about list permissions in
SharePoint Server.
The reports you share in this way aren't visible in the Power BI service. Instead, to make it easy for other list
users to find, these published reports are on the same Integrate menu of the list.

If you make changes to the report, use Publish to the list again to save your changes. Use the Delete button
to remove the report from the list for everyone.

Refresh visuals
The data in the report will update regularly to stay in sync with the list. After a refresh, use the Refresh visuals
button in the ribbon to update the visuals.

Licenses
Anyone can use the Visualize the list feature to explore their list data, but to enter the full edit experience,
publish reports, access reports that others have published, or delete reports, you need a Power BI Pro license. If
you don’t currently have a Pro license, you can buy a Power BI Pro license or start a free trial.

Known issues and limitations


The first time you visualize a list, creating the dataset and report can take some time. We’re working to
improve the end-to-end performance of this experience.
Currently, some complex column types in SharePoint will show up as [Record]s or [List]s within the report.
We’re working on updating the experience so these column values match what you see in the list.
Data refresh is limited to once every 3 hours. If the list has been updated with new data or metadata, such as
an updated list name, after the most recent data refresh, these changes will not be reflected in the report
until the next refresh.
This feature isn't supported for guest users in a tenant.

Troubleshooting
If you don't see Power BI on the Integrate menu in a SharePoint or Microsoft list, your Power BI admin may
have disabled it for specific groups or your entire organization. See the Integration with SharePoint and
Microsoft Lists section of the "Power BI admin portal" article for details.

Next steps
As we continue expanding our experience to quickly explore your data, we’d love to hear your thoughts and
feedback! Let us know what you’d like to see added to this experience or where’d you like to see us integrate
next.
Create quick reports in the Power BI service
Create a report on a SharePoint List in Power BI Desktop
More questions? Try the Power BI Community
Automatic page refresh in Power BI
6/17/2021 • 18 minutes to read • Edit Online

When you monitor critical events, it's important for data to be refreshed as soon as the source data is updated.
For example, in the manufacturing industry, it's critical to know when a machine is malfunctioning or is close to
malfunctioning. If you're monitoring signals like social media sentiment, you want to know about sudden
changes as soon as they happen.
Automatic page refresh in Power BI enables your active report page to query for new data, at a predefined
cadence, for DirectQuery sources.

Refresh types
When using automatic page refresh, there are two refresh types available: fixed interval and change detection.
Fixed interval
This refresh type allows you to update all visuals in a report page based on a constant interval such as one
second or five minutes. When that specific interval is reached, all visuals in that page send an update query to
the data source and update accordingly.
Change detection
This refresh type allows you to refresh visuals on a page based on detecting changes in the data rather than a
specific refresh interval. Specifically, this measure polls for changes to your DirectQuery source. Besides defining
the measure, you also have to select how frequently Power BI Desktop will check for changes. When publishing
to the service, this refresh type is only supported in workspaces that are part of a Premium capacity.
LiveConnect sources such as Analysis Services and Power BI datasets are not supported.

Authoring reports with automatic page refresh in Power BI Desktop


Automatic page refresh is available for DirectQuery sources and some LiveConnect scenarios, so it will only be
available when you are connected to a supported data source. This restriction applies to both automatic page
refresh types.
To use automatic page refresh in Power BI Desktop, select the report page for which you want to enable
automatic page refresh. In the Visualizations pane, select the Formatting button (a paint roller) and find the
Page refresh section near the bottom of the pane.
1. Turns page refresh on or off.
2. Refresh type
3. Inputs and information (depending on refresh type)
The Page refresh card will only be available if you are connected to a DirectQuery source. To enable automatic
page refresh the toggle needs to be on the On position. The inputs needed and information provided will
depend on the refresh type selected.
Fixed interval setup
When selecting Auto page refresh as the refresh type, you need to provide the desired refresh interval. The
default value is 30 minutes. (The minimum refresh interval is one second.) Your report will begin refreshing at
the interval you set.
If you are the administrator and need to make changes to the refresh interval, visit Configure workloads in a
Premium capacity.
When clicking on show details Power BI will provide further information on:
If the feature is enabled by your admin (only when logged into your Power BI account)
The minimum interval allowed by your admin (only when logged into your Power BI account)
Actual rate of refresh (usually longer than your selected interval)
Last refresh time
Change detection setup
When selecting Change detection as your refresh type, you are presented with a link to Add change
detection . You can also access the change detection window from the Modeling tab in the ribbon. Then click
on the Change detection icon on the Page refresh section. Finally, you can right-click or select the drop-down
arrow next to any value in the Values well, and select Change detection from the menu.

Once the window is open, you are presented with the Measure type option where you can select an existing
measure or create a new one from scratch. When selecting an existing, you just have to select the desired
measure from the fields list or drag and drop it into the Choose existing measure section. When creating a
new measure, you can Choose a calculation for the measure between count, count distinct, minimum,
maximum and sum. For example, you can use count distinct to count customer IDs and only refresh when a new
customer is added to the list. Once you have a measure selected, you have to define how often Power BI will
Check for changes . That's the interval on how often Power BI will calculate the measure and poll changes.
Once you click apply, a new measure with the change detection icon will appear in your field list.
Then, back on the page refresh section, you will see the information of which measure is being used for change
detection and the defined interval for your reference.
NOTE
Only one change detection measure is allowed per model.

Determining the refresh interval


When automatic page refresh is enabled, Power BI Desktop is constantly sending queries to your DirectQuery
source. After the query is sent, there's a delay before data is returned. So, for short refresh intervals, you should
confirm that queries are successfully returning the queried data within the configured interval. If data isn't
returned within the interval, visuals will update less frequently than configured.
These considerations apply for both refresh types: fixed interval and change detection. The main difference will
be that for change detection there is only one query going back to the source at a fixed interval and the visuals
refresh is triggered only when the value of the change detection measure changes.
As a best practice, the refresh interval should at least match your expected new data arrival rate:
If new data arrives at the source every 20 minutes, your refresh interval can't be less than 20 minutes.
If new data arrives every second, set the interval to one second.
For low refresh intervals like one second, take factors like the following into consideration:
The type of the DirectQuery data source
The load your queries create on it
The distance of your report viewers from the capacity's datacenter
You can estimate return times by using the Performance Analyzer in Power BI Desktop and the show details
menu in the page refresh section for fixed interval refresh type. Performance Analyzer lets you check if each
visual query has enough time to come back with results from the source. It also lets you determine where time
is spent. Based on the results from Performance Analyzer, you can adjust the data source, or you can experiment
with other visuals and measures in your report.
This image shows the results of a DirectQuery source in Performance Analyzer:

Let's consider some other characteristics of this data source:


Data arrives at a rate of 2 seconds
Performance Analyzer shows a maximum query + display time of approximately 4.9 seconds (4,688
milliseconds)
The data source is configured to handle approximately 1,000 concurrent queries per second
You expect approximately 10 users to be viewing the report concurrently
So that results in the following equation:
5 visuals x 10 users = approximately 50 queries
The result of this calculation shows much more load than the data source can support. The data arrives at a rate
of two seconds, so that should be your refresh rate. But because the query takes around five seconds to
complete, you should set it to more than five seconds.
Also note that this result might differ as you publish your report to the service. This difference occurs because
the report will use the Azure Analysis Services instance that's hosted in the cloud. You might want to adjust your
refresh rates accordingly.
To account for queries and refresh timing, Power BI will only run the next refresh query when all the remaining
refresh queries are complete. So even if your refresh interval is shorter than the time your queries take to
process, Power BI will refresh again only after remaining queries complete.
In the case of change detection refresh type, these considerations still apply. Also, the Performance Analyzer will
show you the results for the change detection measure query even though it does not match to any visual in
your report. We have provided this capability for you to be able to troubleshoot this particular type of measure
following the same guidance we mentioned previously. The main difference for this refresh type is that only one
query is going to the data source instead of all queries from all visuals. This is still the case if multiple users are
viewing the report.

For the same scenario we discussed before:


1 change detection measure quer y for 5 visuals generates only one quer y for any number of
viewers
When the change detection measure triggers an update assuming same scenario as before
with 5 visuals x 10 users = approximately 50 queries
To summarize, when using change detection only one query is sent to the data source until a change is detected.
When that happens, the same logic used for fixed interval refresh type applies updating all visuals for all users
generating the same number of queries. This approach should be more efficient in the long run.
Now let's look at how you can potentially detect and diagnose performance problems as a capacity
administrator. You can also check the Frequently asked questions section, later in this article, for more questions
and answers about performance and troubleshooting.

Automatic page refresh in the Power BI service


You can also set automatic page refresh for reports that have been published to the Power BI service as long as
the data source is DirectQuery.
To configure automatic page refresh for reports in the Power BI service, the steps are similar to Power BI
Desktop. When configured in the Power BI service, automatic page refresh also supports embedded Power BI
content. This image shows the Page refresh configuration for the Power BI service:

1. Turns page refresh on or off.


2. Refresh type
3. Inputs and information (depending on refresh type)

NOTE
When you publish your automatic page refresh-enabled report from Power BI Desktop to the service, you'll have to
provide the credentials for the DirectQuery data source on the dataset settings menu. You can set up the credentials so
report viewers access this data source with their own identities, respecting any security set up at the source. In the case of
change detection measure, it will always be evaluated with the author's credentials.

Page refresh intervals


The page refresh types and intervals allowed in the Power BI service are affected by the report's workspace type.
This applies to these scenarios:
Publishing a report into a workspace that has automatic page refresh enabled
Editing a page refresh interval that's already in a workspace
Creating a report directly in the service
Power BI Desktop has no restrictions for refresh intervals and can be as frequent as every second. But when
reports are published to the Power BI service, certain restrictions apply which are described in the following
sections.
Restrictions on refresh intervals
In the Power BI service, restrictions on automatic page refresh apply based on the workspace where the report is
published, whether you're using Premium services, the Premium capacity admin settings, and the type of data
source.
To clarify how these restrictions work, let's start with some background on capacities and workspaces.
Capacities are an important Power BI concept. They represent a set of resources (storage, processor, and
memory) that are used to host and deliver Power BI content. Capacities are either shared or dedicated. A shared
capacity is shared with other Microsoft customers. A dedicated capacity is fully committed to a single customer.
For an introduction to dedicated capacities, see Managing Premium capacities.
In shared capacity, workloads run on computational resources shared with other customers. Because the
capacity needs to share resources, limitations are imposed to ensure fair play, such as setting a maximum model
size (1 GB) and maximum daily refresh frequency (eight times per day).
Power BI workspaces reside within capacities. They represent security, collaboration, and deployment containers.
Each Power BI user has a personal workspace known as My Workspace . Additional workspaces can be created
to enable collaboration and deployment. They're known as workspaces. By default, workspaces, including
personal workspaces, are created in the shared capacity.
Here are some details for the two workspace scenarios:
Shared workspaces . For regular workspaces (workspaces that aren't part of a Premium capacity), automatic
page refresh has a minimum interval of 30 minutes (the lowest interval allowed). Change detection refresh type
is not available in shared capacities.
Premium workspaces . The availability of automatic page refresh in Premium workspaces (both for fixed
interval and change detection) depends on the workload settings your Premium administrator has set up for the
Power BI Premium capacity. There are two variables that might affect your ability to set up automatic page
refresh:
Feature on/off . If your capacity administrator has disabled the feature, you won't be able to set up any
type of page refresh in your published report. Fixed interval and change detection can be turned on and
off separately.
Minimum refresh inter val . When enabling automatic page refresh for fixed interval, your capacity
administrator needs to set up a minimum refresh interval (default value is five minutes). If your interval is
lower than the minimum, the Power BI service overrides your interval to respect the minimum interval
set by your capacity administrator.
Minimum execution inter val . When enabling change detection, your capacity administrator needs to
set up a minimum execution interval (default value is five seconds). If your interval is lower than the
minimum, the Power BI service overrides your interval to respect the minimum interval set by your
capacity administrator.

WARNING
When enabled in your dataset, change detection measure will open a connection to your DirectQuery data source to
calculate the measure and poll for changes. This connection is different from the Low Priority refresh connections Power BI
already makes.
This table describes with more detail where this feature is available and the limits for each capacity type and
storage mode:

STO RA GE M O DE DEDIC AT ED C A PA C IT Y SH A RED C A PA C IT Y

DirectQuery FI suppor ted : Yes FI suppor ted : Yes


CD suppor ted : Yes CD suppor ted : No
Minimum : 1 second Minimum : 30 minutes
Admin override : Yes Admin override : No

Import FI suppor ted : No FI suppor ted : No


CD suppor ted : No CD suppor ted : No
Minimum : N/A Minimum : N/A
Admin override : N/A Admin override : N/A

Mixed mode (DirectQuery + other FI suppor ted : Yes FI suppor ted : Yes
data sources) CD suppor ted : Yes CD suppor ted : No
Minimum : 1 second Minimum : 30 minutes
Admin override : Yes Admin override : No

Analysis Services (Azure and On FI suppor ted : Yes FI suppor ted : Yes
Premises) CD suppor ted : No CD suppor ted : No
Minimum : 30 minutes Minimum : 30 minutes
Admin override : Yes Admin override : No

Power BI datasets (connected live) FI suppor ted : Yes FI suppor ted : Yes
CD suppor ted : No CD suppor ted : No
Minimum : 1 second Minimum : 30 minutes
Admin override : Yes Admin override : No

Power BI datasets (DirectQuery FI suppor ted : No FI suppor ted : No


connection) CD suppor ted : No CD suppor ted : No
Minimum : N/A Minimum : N/A
Admin override : N/A Admin override : N/A

Power BI Push datasets FI suppor ted : Yes FI suppor ted : Yes


CD suppor ted : No CD suppor ted : No
Minimum : 30 minutes Minimum : 30 minutes
Admin override : Yes Admin override : No
STO RA GE M O DE DEDIC AT ED C A PA C IT Y SH A RED C A PA C IT Y

Power BI streaming datasets FI suppor ted : No FI suppor ted : No


CD suppor ted : No CD suppor ted : No
Minimum : N/A Minimum : N/A
Admin override : N/A Admin override : N/A

Table legend:
1. FI: Fixed interval
2. CD: Change detection

WARNING
We have a known issue when connected from Power BI Desktop to Analysis Services or Power BI datasets and the refresh
interval is 30 minutes or more. Visuals in a report page might show an error after 30 minutes.

Considerations and limitations


There are a few things to keep in mind when you use automatic page refresh in Power BI Desktop or in the
Power BI service:
Import storage mode is not supported for automatic page refresh.
Composite models that have at least one DirectQuery data source are supported.
You can only have one change detection measure per dataset.
There can only be a maximum of 10 models with change detection measure in a Power BI tenant.
Performance diagnostics
Automatic page refresh is useful for monitoring scenarios and exploring fast-changing data. But sometimes it
can put undue load on the capacity or data source.
To prevent undue load on data sources, Power BI has these safeguards:
All automatic page refresh queries run at a lower priority to ensure that interactive queries (like page load
and cross-filtering visuals) take precedence.
If a query hasn't finished before the next refresh cycle, Power BI doesn't issue new refresh queries until the
previous query completes. For example, if you have a refresh interval of one second and your queries take an
average of four seconds, Power BI effectively only issues a query every four seconds.
There are two areas where you could still encounter performance bottlenecks:
1. The capacity . The query first hits the Premium capacity, which will fold and evaluate the DAX query
generated from the report visualizations into the source queries.
2. The DirectQuer y data source . The translated queries in the previous step are then run against the source.
The source would be your SQL Server instances, SAP Hana sources, and so on.
By using the Premium Capacity Metrics app that's available to admins, you can visualize how much of the
capacity is being used by low-priority queries.
Low-priority queries consist of automatic page refresh queries and model refresh queries. There's currently no
way to distinguish between the load from automatic page refresh and model refresh queries.
If you notice that your capacity is overloaded with low-priority queries, there are a few actions you can take:
Request a larger premium SKU.
Ask the report owner to lower the refresh interval.
In the capacity admin portal, you can:
Turn off automatic page refresh for that capacity.
Raise the minimum refresh interval, which will affect all reports on that capacity.
Frequently asked questions
I'm a repor t author. I defined my repor t refresh inter val to one second on Power BI Desktop, but,
after publishing, my repor t isn't refreshing in the ser vice.
Ensure that automatic page refresh is turned on for the page. Because this setting is per page, you need to
ensure it's turned on for each page in the report you want to refresh.
Check whether you uploaded to a workspace with an attached Premium capacity. If you haven't, your refresh
interval will be locked at 30 minutes for fixed interval and it will not be available for change detection.
If your report is on a Premium workspace, ask your admin if this feature is enabled for the attached capacity.
Also, ensure that the minimum refresh interval for the capacity is equal or lower than the interval for your
report. This applies separately for both fixed interval and change detection
I'm a capacity admin. I changed the settings for my automatic page refresh inter val, but the
changes aren't reflected. In other words, repor ts are still refreshing at a rate they shouldn't be, or
not refreshing even though I turned on automatic page refresh.
It takes up to 5 minutes for automatic page refresh setting changes made in the capacity admin UI to
propagate to reports.
In addition to turning on automatic page refresh for the capacity, you also need to turn it on for the pages of
a report where you want to enable it.
Both refresh types are managed separately so make sure that the type of refresh you are enabling is turned
on.
For more information on enabling and configuring workloads in a Premium capacity, visit Configure
workloads in a Premium capacity.
My repor t is operating in mixed mode. (Mixed mode means the repor t has a DirectQuer y
connection and an Impor t data source.) Some visuals aren't refreshing.
If your visuals reference Import tables, this behavior is expected. Automatic page refresh isn't supported for
Import.
See the first question in this section.
My repor t was refreshing fine in the ser vice, but then it suddenly stopped.
Try refreshing the page to see if the problem resolves itself.
Check with your capacity admin. The admin might have turned off the feature or raised the minimum refresh
interval. (See the second question in this section.)
I'm a repor t author. My visuals aren't refreshing at the cadence I specified. They're refreshing at a
slower rate.
If your queries are taking longer to run, your refresh interval will be delayed. Automatic page refresh waits
for all queries to finish before running new ones.
Your capacity admin might have set a minimum refresh interval that's higher than the one you set in your
report. Ask your capacity admin to lower the minimum refresh interval.
Are automatic page refresh queries ser ved from the cache?
No. All automatic page refresh queries bypass any cached data.
My change detection measure is not triggering any updates
Ensure that change detection is turned on for the page. Because this setting is per page, you need to ensure
it's turned on for each page in the report you want to refresh.
Check whether you uploaded to a workspace with an attached Premium capacity. If you haven't, change
detection will not work.
If your report is on a Premium workspace, ask your admin if this feature is enabled for the attached capacity.
Also, ensure that the minimum execution interval for the capacity is equal or lower than the interval for your
report.
I you have checked for all of the items mentioned before, check in Power BI Desktop or in edit mode if the
measure is changing at all. To do this, drag it into the canvas and check if the value changes. If it does not, the
measure might not be a good choice to poll for data source changes.
When connected to analysis ser vices I cannot see the APR toggle
Make sure your Analysis Services model is in Direct Query mode.

Next steps
For more information, see these articles:
Using DirectQuery in Power BI
Use composite models in Power BI Desktop
Use Performance Analyzer to examine report element performance
Deploying and managing Power BI Premium capacities
Data sources in Power BI Desktop
Shape and combine data in Power BI Desktop
Connect to Excel workbooks in Power BI Desktop
Enter data directly into Power BI Desktop
Use Performance Analyzer to examine report
element performance
9/9/2021 • 4 minutes to read • Edit Online

In Power BI Desktop you can find out how each of your report elements, such as visuals and DAX formulas,
are performing. Using the Performance Analyzer , you can see and record logs that measure how each of your
report elements performs when users interact with them, and which aspects of their performance are most (or
least) resource intensive.

Performance Analyzer inspects and displays the duration necessary for updating or refreshing all visuals that
user interactions initiate, and presents the information so you can view, drill down, or export the results.
Performance Analyzer can help you identify visuals that are impacting the performance of your reports, and
identify the reason for the impact.

Displaying the Performance Analyzer pane


In Power BI Desktop select the View ribbon, and then select Performance Analyzer to display the
Performance Analyzer pane.

Once selected, the Performance Analyzer is displayed in its own pane, to the right of the report canvas.

Using Performance Analyzer


Performance analyzer measures the processing time (including the time to create or update a visual) required to
update report elements initiated as a result of any user interaction that results in running a query. For example,
adjusting a slicer requires the slicer visual to be modified, a query to be sent to the data model, and affected
visuals that must be updated as a result of the new settings.
To have Performance Analyzer begin recording, simply select Star t recording .
Any actions you take in the report are displayed and logged in the Performance Analyzer pane, in the order that
the visual is loaded by Power BI. For example, perhaps you have a report that users have said takes a long time
to refresh. Or certain visuals in a report take a long time to display when a slider is adjusted. Performance
analyzer can tell you which visual is the culprit, and identifies which aspects of the visual is taking the longest
duration to process.
Once you start recording, the Star t recording button is grayed out (inactive, since you've already begun
recording) and the Stop button is active.
Performance analyzer collects and displays the performance measurement information in real time. So each
time you click on a visual, move a slicer, or interact in any other way, Performance Analyzer immediately displays
the performance results in its pane.
If the pane has more information than can be displayed, a scroll bar appears to navigate to additional
information.
Each interaction has a section identifier in the pane, describing the action that initiated the log entries. In the
following image, the interaction was that the users changed a slicer.
Each visual's log information includes the time spent (duration) to complete the following categories of tasks:
DAX quer y - if a DAX query was required, this is the time between the visual sending the query, and for
Analysis Services to return the results.
Visual display - time required for the visual to draw on the screen, including time required to retrieve any
web images or geocoding.
Other - time required by the visual for preparing queries, waiting for other visuals to complete, or
performing other background processing.
The Duration (ms) values indicate the difference between a start and end timestamp for each operation. Most
canvas and visual operations execute sequentially on a single User Interface thread, which is shared by multiple
operations. The reported durations include time spent queued while other operations complete. The
Performance Analyzer sample on GitHub and its associated documentation provide details about how visuals
query data, and how they render.
After you've interacted with elements of the report you want to measure with Performance Analyzer, you can
select the Stop button. The performance information remains in the pane after you select Stop for you to
analyze.
To clear out the information in the Performance Analyzer pane, select Clear . All information is erased and is not
saved when you select Clear . See the next section to learn how to save information in logs.

TIP
When Power BI processes queries and their associated metadata, the processing of the query can be impacted by the
complexity of the schema, the number of tables in the database(s), the complexity of the relationships between them, and
the number of foreign key constraints on the tables. Such complexity can result in initial delays in returning or rendering a
report.

Refreshing visuals
You can select Refresh visuals in the Performance Analyzer pane to refresh all visuals on the current page of
the report, and thereby have Performance Analyzer gather information about all such visuals.
You can also refresh individual visuals. When Performance Analyzer is recording, you can select Analyze this
visual found in the top-right corner of each visual, to refresh that visual, and capture its performance
information.
Saving performance information
You can save the information that Performance Analyzer creates about a report by selecting the Expor t button.
Selecting Expor t creates a .json file with information from the Performance Analyzer pane.

Next steps
For more information about Power BI Desktop , and how to get started, check out the following articles.
What is Power BI Desktop?
Query Overview with Power BI Desktop
Data Sources in Power BI Desktop
Connect to Data in Power BI Desktop
Shape and Combine Data with Power BI Desktop
Common Query Tasks in Power BI Desktop
For information about the Performance Analyzer sample, check out the following resources.
Performance Analyzer sample
Performance Analyzer sample documentation
Use visual elements to enhance Power BI reports
6/3/2021 • 4 minutes to read • Edit Online

With Power BI Desktop you can use visual elements, such as wallpaper and improved visual headers for
visualizations, to enhance the appearance of your reports.

You can put enhancements to use in your reports and make your analytics and reports even more appealing
than before. The enhancements discussed in this article include the following:
Apply wallpaper to your reports so your background can enhance or highlight elements of the story you
want to tell with your data
Use improved visual headers for individual visualizations to create perfectly aligned visuals on your report
canvas.
The following sections describe how to use these enhancements, and how to apply them to your reports.

Using wallpaper in Power BI reports


You can format the gray area outside your report page using wallpaper . The following image has a red box that
clarifies where the wallpaper area applies.

You can either set wallpaper on a per-report-page basis, or have the same wallpaper for every page in your
report. To set your wallpaper, tap or click the Formatting icon when no visual is selected in your report and the
Wallpaper card appears in the pane.

You can choose a color to apply as wallpaper by selecting the Color dropdown, or you can select the Add
Image button to select an image to apply as wallpaper. You can also apply transparency to your wallpaper,
whether it's a color or an image, using the Transparency slider.
It's useful to keep in mind the following definitions that pertain to wallpaper :
The gray area outside of your report area is the wallpaper area
The area in the canvas where you can place visuals is referred to as the report page , and in the Format
pane can be modified using the Page background dropdown.
The report page is always in the foreground (when compared to the wallpaper), while the wallpaper is behind
it and the furthest-back element on the report page. When you apply transparency to the page, the visuals in
your report also have the transparency applied, allowing your wallpaper to be visible in the background through
your visuals.
For all new reports, the default settings are the following:
The report page is set to white and its transparency is set to 100%
The wallpaper is set to white and its transparency is set to 0%
When you set your page background to greater than 50% transparency, a dotted border appears while you are
creating or editing your report, to show you the boundary of the report canvas border.
It's important to note that the dotted boundary only shows up when editing your report, and does not appear
for people who are viewing your published report, such as when it's viewed in the Power BI ser vice .

NOTE
If you use dark-colored backgrounds for wallpaper and set text color to white or very light, be mindful that the Expor t to
PDF feature does not include wallpaper, so any exports with white fonts will be nearly invisible in the exported PDF file.
See export to PDF for more information on Expor t to PDF .

Using improved visual headers in Power BI reports


The headers for visuals in reports have been significantly improved. The primary improvements are that the
header has been detached from the visual so its position can be adjusted based on your preference of layout
and positioning, and the header now appears within the visual itself instead of floating above it.
By default, the header appears inside the visual aligned with the title. In the following image, you can see the
header (the pin icon, the expand icon, and the ellipses icon) within the visual and aligned to the right, along the
same horizontal position as the visual's title.
If your visual doesn't have a title, the header floats above the top of the visual aligned to the right, as shown in
the following image.

If your visual is positioned all the way to the top of your report, the visual header instead snaps to the bottom of
the visual.

Each visual also has a card in the Formatting section of the Visualizations pane called Visual header . In that
card you can adjust all sorts of characteristics of the visual header
NOTE
The visibility of toggles do not affect your report when you are authoring or editing the report. You must publish the
report and view it in reading mode to see the effect. This behavior ensures that the many options provided in visual
headers are important during editing, especially warning icons that alert you to issues while editing.

For reports that only appear in the Power BI ser vice , you can adjust the use of visual headers by going to My
Workspace > Repor ts , selecting a report, and then selecting the Settings icon. There you see settings for the
report for which you selected Settings and you can adjust the settings from there, as shown in the following
image.
Enabling improved visual headers for existing reports
The new visual header is the default behavior for all new reports. For existing reports, you need to enable this
behavior in Power BI Desktop by going to File > Options and settings > Options and then in the Repor t
settings section, enable the Use the modern visual header with updated styling options checkbox.
Next steps
For more information about Power BI Desktop , and how to get started, check out the following articles.
What is Power BI Desktop?
Query Overview with Power BI Desktop
Data Sources in Power BI Desktop
Connect to Data in Power BI Desktop
Shape and Combine Data with Power BI Desktop
Common Query Tasks in Power BI Desktop
Create tooltips based on report pages in Power BI
Desktop
6/22/2021 • 6 minutes to read • Edit Online

You can create visually rich repor t tooltips that appear when you hover over visuals, based on report pages
you create in Power BI Desktop . By creating a report page that serves as your tooltip, your custom tooltips can
include visuals, images, and any other collection of items you create in the report page.

You can create as many tooltip pages as you want. Each tooltip page can be associated with one or more fields in
your report, so that when you hover over a visual that includes the selected field, the tooltip you created on your
tooltip page appears when you hover over the visual, filtered by the datapoint over which your mouse is
hovering.
There are all sorts of interesting things you can do with report tooltips. Let's take a look at how to create tooltips
and what you must do to configure them.

TIP
You may be interested in trying the new visual tooltips, currently in preview. They can include drill-down and drillthrough
actions, and can reflect report theme styling. Read more about visual tooltips.

Create a report tooltip page


To get started, create a new report page by clicking the + button, found along the bottom of the Power BI
Desktop canvas, in the page tabs area. The button is located beside the last page in the report.

Your tooltip can be any size, but keep in mind that tooltips hover over the report canvas, so you might want to
keep them reasonably small. In the Format pane in the Page Size card, you can see a new page size template
called Tooltip. This provides a report page canvas size that's ready for your tooltip.

By default, Power BI Desktop fits your report canvas to the available space on the page. Often that's good, but
not in the case of tooltips. To get a better sense and view of what your tooltip will look like when you're done,
you can change the Page View to actual size.
To do that, select the View tab from the ribbon. From there, select Page View > Actual Size , as shown in the
following image.
You can also name the report page so its purpose is clear. Just select the Page Information card in the Format
pane, then type the name into the Name field you find there. In the following image the tooltip report name is
Tooltip 1, but feel free to name yours something more inspired.

From there, you can create whatever visuals you would like to show up in your tooltip. In the following image,
there are two cards and one clustered bar chart on the tooltip page, along with a background color for the page
itself, and backgrounds for each of the visuals, to give it the look we wanted.
There are more steps to complete before your tooltip report page is ready to work as a tooltip. You need to
configure the tooltip page in a few ways, as described in the next section.

Configure your tooltip report page


Once you have the tooltip report page created, you need to configure the page in order for Power BI Desktop
to register it as a tooltip, and to ensure it appears in over the right visuals.
To begin with, you need to turn the Tooltip slider to On , in the Page Information card, to make the page a
tooltip.
Once that slider is set to on, you specify the fields for which you want the report tooltip to appear. For visuals in
the report that include the field you specify, the tooltip will appear. You specify which field or fields apply by
dragging them into the Tooltip fields bucket, found in the Fields section of the Visualizations pane. In the
following image, the Sales $ field has been dragged into the Tooltips fields bucket.

You can include both categorical and numerical fields in the Tooltips fields bucket, including measures.
Once completed, the tooltip report page you created will be used as a tooltip in visuals in the report that use any
fields you placed into the Tooltips fields bucket, replacing the default Power BI tooltip.
Manually setting a report tooltip
In addition to creating a tooltip that automatically appears when hovering over a visual that contains the
specified field, you can manually set a tooltip.
Any visual that supports report tooltips now has a Tooltip card in its Formatting pane.
To set a tooltip manually, select the visual for which you want to specify the manual tooltip, then in the
Visualizations pane, select the Format section and expand the Tooltip card.

Then, in the Page dropdown, select the tooltip page you want to use for the selected visual. Note that only
report pages that are specified as Tooltip pages show up in the dialog.
Being able to manually set a tooltip has many uses. You can set a blank page for a tooltip, and thereby override
the default Power BI tooltip selection. Another use is when you don't want the tooltip that is automatically
selected by Power BI to be the tooltip. For example, if you have a visual that includes two fields, and both of
those fields have an associated tooltip, Power BI selects only one to show. You might not want that to be the
case, so you could manually select which tooltip should be displayed.

Reverting to default tooltips


If you create a manual tooltip for a visual but decide you want the default tooltip instead, you can always return
to the default tooltip that Power BI provides. To do so, when a visual is selected and the Tooltip card is
expanded, just select Auto from the Page dropdown to go back to the default.
Custom report tooltips and line charts
There are a few considerations to keep in mind when your report tooltips are interacting with line chart visuals,
and with visuals when cross-highlighting.
Report tooltips and line charts
When a report tooltip is displayed for a line chart, only one tooltip for all lines in the chart is displayed. This is
similar to the default tooltip behavior for line charts, which also displays only one tooltip.
This is because the field in the legend does not get passed through as a filter for the tooltip. In the following
image, the tooltip being displayed is showing all units sold on that day across all three classes displayed in the
report tooltip (in this example, Deluxe, Economy, and Regular).

Report tooltips and cross-highlighting


When a visual is being cross-highlighted in a report, report tooltips always show the cross-highlighted data,
even if you're hovering over the faded section of the data point. In the following image, the mouse is hovering
over the faded section of the bar graph (the section that is not highlighted), but the report tooltip still shows
data for the highlighted portion of that datapoint (the highlighted data).
Limitations and considerations
There are a few limitations and considerations for tooltips to keep in mind.
Button visuals also support tooltips.
Report tooltips are not supported for Power BI visuals.
Clusters are not currently supported as fields that can be shown in report tooltips.
When choosing a field to be shown for report tooltips, when using a field versus a category, visuals that
contain that field will only show the specified tooltip when summarization with the selected field matches.
You can turn tooltips off completely for a visual in Power BI reports. However, when you pin that visual to a
dashboard in the Power BI service, the basic tooltip will still be displayed.

Next steps
For more information about features that are similar or interact with report tooltips, take a look at the following
articles:
Use drillthrough in Power BI Desktop
Display a dashboard tile or report visual in Focus mode
Create modern visual tooltips (preview)
9/23/2021 • 2 minutes to read • Edit Online

The public preview of modern visual tooltips includes data point drill actions and updated styling to match your
report theme.

Video
Sujata demonstrates how the modern visual tooltips work in this video.

NOTE
This video might use earlier versions of Power BI Desktop or the Power BI service.

Turn on the new tooltips


When you enable this preview, new reports have modern tooltips enabled by default. However, to have the new
tooltips in existing reports, you need to enable them for each report.
For new reports in Power BI Desktop
For existing reports in Power BI Desktop
For reports in the Power BI service

1. In Power BI Desktop, go to File > Options and settings > Options > Preview features .
2. Select the Modern visual tooltips checkbox.
3. Restart Power BI Desktop.

Drill actions
When you enable these new tooltips, you can drill down and up, and drill through on a data point without
having to use the right-click menu or the header for the visual.
For example, when you hover over the Word data point in a bar chart, you have the option to Drill down on the
data point or Drill through . If you select Drill down , the visual updates to display the next level in the
hierarchy and filter to Word.

If you select Drill through , you see which pages you can drill through to. In this example, choose either the
Market Basket Analysis or the Category Details page.
If you select Market Basket Analysis in the tooltip, you drill through to the Market Basket Analysis page,
filtered to Word and any other filters on the source data point.

Updated styling
Once you upgrade to the new tooltips, you may notice an updated styling that is based on the report’s theme
colors:
The background of the tooltips default to the Background elements .
The text and icon color of the tooltips default to the First-level elements .
The separator line and hover color on the tooltip default to the Secondar y background elements .
For example, this tooltip has the Default theme style:

Here’s an example with the Innovate theme:


Here’s an example with the Frontier theme:

To customize the styling further, you can update the Tooltip theme in the Customize theme dialog:

Additionally, you can format tooltips per visual by customizing the settings in the Format pane:
Limitations and considerations
Currently, drill actions aren't available in the tooltip for the following scenarios:
Report page tooltips
AppSource visuals (custom visuals)
Matrix visuals
Line charts
Area charts
Stacked area charts
Decomposition trees
We currently don't have visual-level control to turn on or off the drill actions for the tooltips. You can enable or
disable this capability for a whole report.

Next steps
For more information about features that are similar or interact with report tooltips, take a look at the following
articles:
Create tooltips based on report pages in Power BI Desktop
Use drillthrough in Power BI Desktop
Create a Power Automate visual for Power BI
(preview)
7/21/2021 • 3 minutes to read • Edit Online

When you create a Power Automate visual in a Power BI report, your end-users can run an automated flow, just
by clicking a button in your report. Furthermore, the flow can be data contextual, meaning that the flow inputs
can be dynamic, based on the filters the end-users set.

Add the Power Automate visual


1. Select the Power Automate icon from the Visualizations pane.

In Power BI Desktop , you can also add the visual from the ribbon. On the Inser t tab, select Power
Automate (preview) in the Power Platform section.
Once you select the visual, it automatically gets added to your current report page, with getting started
instructions.
2. Scroll, resize the visual, or select the Focus mode icon to see all the instructions.

3. After you’ve reviewed the instructions, resize the button and place it where you’d like on the report.

Edit the flow


1. With the flow selected, add any data fields to the Power Automate Data region, to be used as dynamic
inputs to the flow.

2. Select More options (...) > Edit to configure the button:


3. In the edit mode of the visual, you either select an existing flow to apply to the button, or create a new
flow to be applied to the button.

4. You can start from scratch or start with one of the built-in templates as an example. To start from scratch,
select New > Instant cloud flow :
5. Select New step .

6. Here, you can choose a subsequent action or specify a Control if you want to specify additional logic to
determine the subsequent action.
7. Optionally, you can reference the data field(s) as dynamic content if you want the flow to be data
contextual. This example uses the Region data field to create an item in a SharePoint list. Based on the
end-user’s selection, Region could have multiple values or just one.
8. After you’ve configured your flow logic, you can name the flow and select Save .

9. Select the arrow button to go to the Details page of the flow you just created:

Here's the Details page for a saved flow:

10. Select the Apply button to attach the flow you’ve created to your button.
Format the flow
Optionally, you can change the button text, font color, font size, or fill color of the button. These options along
with other settings are available in the Format pane:

Test the flow


After you have applied a flow to the button, we recommend testing it before you share the flow with others.
These Power BI flows can only run in the context of a Power BI report. You can't run these flows in a Power
Automate web app or elsewhere.
If your flow is data contextual, you'll want to test how the filter selections in the report impact the flow outcome.
1. To test the flow in edit mode of the report, select Back to repor t , then press Ctrl while you select the
button to run the flow.

The button text indicates that the flow has been triggered.
2. To check if the flow has run successfully, select the More commands (...) menu > Details in the flow
that has been triggered:
3. On the Details page, you can see the run histor y and status for the flow:

Share the flow


When the flow is running successfully, you can share it with your report readers.
1. Select Edit in the Run only users section:

2. Specify which users or groups you want to give run access to:
Give users edit access
Alternatively, you can give any users edit access to the flow, not just run permissions.
1. Select Share , and specify the users or groups that you want to add as an owner:

Limitations and considerations


Additional manual inputs to the button aren't supported at this time. We plan to add support for this by the
general availability release.
Currently, we only have a few built-in templates; we plan to add more based on user feedback.
The visual isn't supported for PaaS embedded scenarios, nor in Sovereign Cloud scenarios.

Next steps
For more information about Power Automate, take a look at the following articles:
Integrate Power BI data alerts with Power Automate
Export and email a Power BI report with Power Automate
Get started with Power Automate
More questions? Try the Power BI Community
Export reports to PDF from Power BI Desktop
4/22/2021 • 2 minutes to read • Edit Online

In Power BI Desktop or the Power BI service, you can export reports to a PDF file, and thereby easily share or
print your reports from that PDF.

The process of exporting your report from Power BI Desktop to a PDF, so that you can print the PDF or share
that PDF document with others, is straightforward. Simply select File > Expor t > Expor t to PDF from Power BI
Desktop.
The Expor t to PDF process will export all visible pages in the report, with each report page exporting to a
single page in the PDF. Report pages that are currently not visible, such as any tooltips or hidden pages, are not
exported to the PDF file.

When you select File > Expor t > Expor t to PDF the export is initiated, and a dialog appears that shows the
export process is underway. The dialog remains on the screen until the export process completes. During the
export process, all interaction with the report being exported is disabled. The only way to interact with the
report is to wait until the export process completes, or to cancel the export.
When the export completes, the PDF is loaded into the default PDF viewer on the computer.

Considerations and limitations


There are a few considerations to keep in mind with the Expor t to PDF feature:
Visuals with scrollbars are exported in their default state. The visual will display all possible rows, starting
with the first row. Even if you have the visual scrolled down, when exported, the visual will display
unscrolled.

The feature does export Power BI visuals, but it does not export any wallpaper you may have applied to
the report.
Since wallpaper is not exported to the PDF, you should pay special attention to reports that use dark
wallpaper. If the text in your report is light or white, to have it stand out against your dark wallpaper, it will
be difficult to read or unreadable in the export to PDF process since the wallpaper will not be exported
with the rest of the report.

Next steps
There are all sorts of interesting visual elements and features in Power BI Desktop . For more information in
information, check out the following resources:
Use visual elements to enhance Power BI reports
What is Power BI Desktop?
Add a filter to a report in Power BI
8/3/2021 • 5 minutes to read • Edit Online

This article explains how to add a visualization filter, page filter, or report filter to a report in Power BI. You need
to be able to edit a report to add filters. The examples in this article are in the Power BI service, and the steps are
almost identical in Power BI Desktop. Looking for an overview? Check out Filters and highlighting in Power BI
reports first.

Power BI offers a number of different kinds of filters, from the manual and automatic to the drillthrough and
pass-through. Read about the different kinds of filters.
After you add filters, you can format the filters in your Power BI reports to look and act the way you want.

Filters in Editing view or Reading view


You interact with reports in two different views: Reading view and Editing view. This article describes how to
create filters in report Editing view . For more information on filters in Reading view, see interacting with filters
in report Reading view.
Because filters persist, when you navigate away from the report Power BI retains the filter, slicer, and other data
view changes that you've made. So you can pick up where you left off when you return to the report. If you don't
want your filter changes to persist, select Reset to default from the top menu bar.

Keep in mind that as the report creator, whatever filters you save with the report become the default filter state
for all your report readers. When they select Reset to default , that's what they return to.

Levels of filters in the Filters pane


Whether you're using Power BI Desktop or Power BI service, the Filters pane displays along the right side of the
report canvas. If you don't see the Filters pane, select the ">" icon from the upper-right corner to expand it.
You can set filters at three different levels for the report: visual-level, page-level, and report-level. This article
explains how to set the different levels.

Add a filter to a visual


Visuals have two different kinds of filters. You can add a visual-level filter to a visual in two different ways.
The fields that are in a visual are automatically filters for that visual.
As the report designer, you can identify a field that isn't already the visual, and add that field directly to the
Visual level filters bucket.
By the way, this article uses the Retail Analysis sample, if you'd like to install it and follow along. Install the Retail
Analysis sample.
Filter with a field that's not in the visual
1. In the Power BI service, select Edit to open your report in Editing view.

2. Open the Visualizations, Filters, and Fields panes, if they're not already open.

3. Select a visual to make it active. In this case, it's the scatter chart on the Overview page. All the fields in
the visual are in the Visualizations pane. They're also listed in the Filters pane, under the Filters on
this visual heading.
4. From the Fields pane, select the field you want to add as a new visual-level filter, and drag it into the
Filters on this visual area. In this example, we drag Categor y to Add data fields here .
Notice Categor y is not added to the visualization itself.
5. Select Kids . The scatter chart is filtered, but the other visuals stay the same.

If you save your report with this filter, report readers can interact with the Categor y filter in Reading
view, selecting or clearing values.
If you drag a numeric column to the filter pane to create a visual-level filter, the filter is applied to the
underlying rows of data. For example, adding a filter on the UnitCost field and setting it where UnitCost
> 20 would only show data for the Product rows where the Unit Cost was greater than 20, regardless of
the total Unit Cost for the data points shown in the visual.

Add a filter to an entire page


You can also add a page-level filter to filter an entire page.
1. In the Power BI service, open the Retail Analysis report, then go to the District Monthly Sales page.
2. Select Edit to open your report in Editing view.

3. Open the Visualizations, Filters, and Fields panes, if they're not already open.
4. From the Fields pane, select the field you want to add as a new page-level filter, and drag it to the bottom
of the Filters on this page area.
5. Select the values you want to filter and set either Basic or Advanced filtering controls.
All the visualizations on the page are redrawn to reflect the change.
If you save your report with the filter, report readers can interact with the filter in Reading view, selecting
or clearing values.

Add a report-level filter to filter an entire report


1. Select Edit to open the report in Editing view.

2. Open the Visualizations and Filters pane and the Fields pane, if they're not already open.
3. From the Fields pane, select the field you want to add as a new report-level filter, and drag it into the
Repor t level filters area.
4. Select the values you want to filter.
The visuals on the active page, and on all pages in the report, change to reflect the new filter. If you save
your report with the filter, report readers can interact with the filter in Reading view, selecting or clearing
values.
5. Select the back arrow to return to the previous report page.

Considerations and troubleshooting


If you don't see the Fields pane, make sure you're in report Editing view.
If you've made lots of changes to the filters and want to return to the default settings, select Reset to
default from the top menu bar. Remember: As the report author, whatever filters are in place when you save
the report become the default filter settings.

Next steps
Format the filters in your Power BI reports
Take a tour of the report Filters pane
Filters and highlighting in reports
Different kinds of filters in Power BI
More questions? Try the Power BI Community
Format filters in Power BI reports
8/3/2021 • 6 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Desktop ✔
️ Power BI service
You have a lot of control over report filter design and functionality. This article explains how you can format the
Filters pane to look like the rest of the report. You can lock and even hide filters.

The first step is to add filters to your report. Then, as a report designer, there are lots of ways you can format the
Filters pane:
Add and remove fields to filter on.
Change the filter state.
Format and customize the Filters pane so that it feels part of your report.
Define whether the Filters pane is open or collapsed by default when a consumer opens the report.
Hide the entire Filters pane or specific filters that you don't want report consumers to see.
Control and even bookmark the visibility, open, and collapsed state of the Filters pane.
Lock filters that you don't want consumers to edit.
When reading a report, users can hover over any visual to see a read-only list of all the filters or slicers affecting
that visual.
Read about how report readers use filters in report Reading mode.

Build the Filters pane


By default the Filters pane is formatted based on your current report settings. In the Filters pane, you configure
which filters to include, and update existing filters. The Filters pane looks the same for your report consumers
when you publish your report.
1. When you add a visual to a report canvas, Power BI automatically adds a filter to the Filters pane for each
field in the visual.
2. To build your Filters pane, drag other fields of interest into the Filters pane either as visual, page, or report
level filters.

Show or hide the Filters pane


Hide the Filters pane in Reading mode
If you don't want your report readers to see the Filters pane at all, select the eye icon next to Filters .

Hide the Filters pane while editing


You can hide the Filters pane while you're editing your report, when you aren't using the Filters pane and you
need extra space on the screen.
On the View tab, the Filters button allows you to show or hide the Filters pane.

This setting only hides the Filters pane in Power BI Desktop. There's no equivalent in Editing mode in the Power
BI service.

Lock or hide filters


You can lock or hide individual filter cards. If you lock a filter, your report consumers can see but not change it. If
you hide it, they can't even see it. Hiding filter cards is typically useful if you need to hide data cleanup filters that
exclude nulls or unexpected values.
In the Filters pane, select or clear the Lock filter or Hide filter icons in a filter card.

As you turn these settings on and off in the Filters pane, you see the changes reflected in the report. Hidden
filters don't show up in the pop-up filter list for a visual.
You can also configure the Filters pane state to flow with your report bookmarks. The pane's open, close, and
visibility state are all bookmarkable.

Format the Filters pane


A big part of the filter experience is that you can format the Filters pane to match the look and feel of your
report. You can also format the Filters pane differently for each page in the report. Here are elements you can
format:
Background color
Background transparency
Border on or off
Border color
Title and header font, color, and text size
You can also format these elements for filter cards, depending on if they're applied (set to something) or
available (cleared):
Background color
Background transparency
Border: on or off
Border color
Font, color, and text size
Input box color
Format the Filters pane and cards
1. In the report, click the report itself, or the background (wallpaper), then in the Visualizations pane,
select Format . You see options for formatting the report page, the wallpaper, and also the Filters pane
and Filter cards.
2. Expand Filters pane to set color for the background, icon, and left border, to complement the report
page.
3. Expand Filter cards to set the Available and Applied color and border. If you make available and
applied cards different colors, it's obvious which filters are applied.

Theming for Filters pane


You can now modify the default settings of the Filters pane with the theme file. Here's a sample theme snippet to
get you started:
"outspacePane": [{

"backgroundColor": {"solid": {"color": "#0000ff"}},

"foregroundColor": {"solid": {"color": "#00ff00"}},

"transparency": 50,

"titleSize": 35,

"headerSize": 8,

"fontFamily": "Georgia",

"border": true,

"borderColor": {"solid": {"color": "#ff0000"}}

}],

"filterCard": [

"$id": "Applied",

"transparency": 0,

"backgroundColor": {"solid": {"color": "#ff0000"}},

"foregroundColor": {"solid": {"color": "#45f442"}},

"textSize": 30,

"fontFamily": "Arial",

"border": true,

"borderColor": {"solid": {"color": "#ffffff"}},

"inputBoxColor": {"solid": {"color": "#C8C8C8"}}

},

"$id": "Available",

"transparency": 40,

"backgroundColor": {"solid": {"color": "#00ff00"}},

"foregroundColor": {"solid": {"color": "#ffffff"}},

"textSize": 10,

"fontFamily": "Times New Roman",

"border": true,

"borderColor": {"solid": {"color": "#123456"}},

"inputBoxColor": {"solid": {"color": "#777777"}}

}]
Sort the Filters pane
Custom sort functionality is available in the Filters pane. When creating your report, you can drag and drop
filters to rearrange them in any order.

The default sort order is alphabetical for filters. To start custom sort mode, just drag any filter to a new position.
You can only reorder filters within the level they apply to. For example, you can change the order of the visual-
level filters within the visual-level section of the Filters pane.

Improved Filters pane accessibility


We've improved the keyboard navigation for the Filters pane. You can tab through every part of the Filters pane
and use the context key on your keyboard or Shift+F10 to open the context menu.

Rename filters
When you're editing the Filters pane, you can double-click the title to edit it. Renaming is useful if you want to
update the filter card to make more sense for your end users. Keep in mind renaming the filter card does not
rename the display name of the field in the fields list. It just changes the display name used in the filter card.

Filters pane search


The Filters pane search feature allows you to search across your filter cards by title. This feature is helpful if you
have several different filter cards in your Filters pane and need help finding the ones of interest.

You can also format the search box, just as you can format the other elements of the Filters pane.

While this Filters pane search feature is on by default, you can also choose to turn it on or off by selecting
Enable search for Filters pane in the Repor t settings of the Options dialog.
Restrict changes to filter type
Under the Filtering experience section of Repor t settings, you have an option to control if users can change
the filter type.

Allow saving filters


By default, your report readers can save filters for your report. You can choose to not allow them to save filters.
Also in Repor t settings of the Options dialog, under Persistent filters , select Don't allow end users
to save filters on this repor t .
Apply filters button
You can add a single Apply button to the filter pane, allowing you and your end-users to apply all filter
modifications at once. Having this button can be useful if you want to defer applying filter changes. You only
have to wait once, after you're ready to apply all the filter changes to the report or visuals.

Turn on the Apply button


You can set this feature at the report level. However, the feature is off by default.
1. Go to File > Options and settings > Options > Quer y reduction .
2. Select Add a single Apply button to the filter pane to apply changes at once .
Format the Apply button
Currently, you can control some of the formatting for the Apply text for the button. In the Filter pane section of
the Format pane, set these options:
Checkbox and Apply color controls fill color.
Font and icon color controls text color.
Header text size controls text size.
Font family controls font.
Considerations and limitations
Publish-to-web doesn't display the Filters pane. If you're planning to publish a report to the web, consider
adding slicers for filtering instead.

Next steps
How to use report filters
Filters and highlighting in reports
Different kinds of filters in Power BI
More questions? Try the Power BI Community
Types of filters in Power BI reports
8/3/2021 • 4 minutes to read • Edit Online

Filters don't all behave the same way because they're not created the same way. How you create them influences
how they behave in the filter pane in editing mode. In this article, we describe the different kinds of filters: the
different ways you create them and the different things they're good for. Read about how to add filters to
reports.

Let’s start with the two most common filter types: automatic and manual.

Automatic filters
Automatic filters are the filters that get automatically added to the visual level of the filter pane when you build a
visual. These filters are based on the fields that make up your visual. Users with edit permission to the report
can edit, clear, hide, lock, rename, or sort this filter in the pane. They can't delete automatic filters, because the
visual refers to those fields.

Manual filters
Manual filters are the filters that you drag and drop in any section of the filter pane when you're editing a report.
If you have edit permission to the report, you can edit, delete, clear, hide, lock, rename, or sort this filter in the
pane.
Read about how to add filters to a report.

More advanced filters


These next filter types are less common, but it's still important to understand them if they're displayed in your
report. Besides, you might find them useful in creating just the right filter for your report.

Include and exclude filters


Include and exclude filters get automatically added to the filter pane when you use the include or exclude
functionality for a visual. If you can edit a report, you can delete, lock, hide, or sort this filter in the pane. You
can't edit, clear, or rename an include or exclude filter, because it's associated with the include and exclude
functionality of visuals.

Drill-down filters
Drill-down filters get automatically added to the filter pane when you use the drill-down functionality for a
visual in your report. If you can edit a report, you can edit or clear the filter in the pane. You can't delete, hide,
lock, rename, or sort this filter because it's associated with the drill-down functionality of visuals. To remove the
drill-down filter, select the drill-up button for the visual.

Cross-drill filters
Cross-drill filters are automatically added to the pane when a drill-down filter is passed to another visual on the
report page via the cross-filter or cross-highlight feature. Even if you can edit a report, you can't delete, clear,
hide, lock, rename, or sort this filter because it's associated with the drill-down functionality of visuals. You also
can't edit this filter because it comes from drilling down in another visual. To remove the drill-down filter, select
the drill-up button for the visual that's passing the filter.

Drillthrough filters
Drillthrough filters get passed from one page to another via the drillthrough feature. They show up in the
Drillthrough pane. There are two types of drillthrough filters. The first type is the one that invokes the
drillthrough. If you can edit a report, you can edit, delete, clear, hide, or lock this type of filter. The second type is
the drillthrough filter that gets passed to the target, based on the page-level filters of the source page. You can
edit, delete, or clear this transient type of drillthrough filter. You can't lock or hide this filter for end users.
Read about creating drillthrough filters.

URL filters
URL filters get added to the pane by adding a URL query parameter. If you can edit a report, you can edit, delete,
or clear the filter in the pane. You can't hide, lock, rename, or sort this filter because it's associated with the URL
parameter. To remove the filter, you remove the parameter from the URL. Here's an example URL with a
parameter:
app.powerbi.com/groups/me/apps/app-id/reports/report-id/ReportSection?
filter=Stores~2FStatus%20eq%20'Off'

Read about setting up URL filters.

Pass-through filters
Pass-through filters are visual-level filters created through Q&A. If you can edit a report, you can delete, hide, or
sort these filters in the pane. However, you can't rename, edit, clear, or lock these filters.

Comparing filter types


This table compares what authors can do with the different types of filters.
F ILT ER
TYPE EDIT C L EA R DEL ET E H IDE LO C K SO RT REN A M E

Manual Y Y Y Y Y Y Y
filters

Auto filters Y Y N Y Y Y Y

Include/Excl N N Y Y Y Y N
ude filters

Drill-down Y Y N N N N N
filters

Cross Drill N N N N N N N
filters

Drillthroug Y Y Y Y Y N N
h filters
(Invokes
drillthrough
)

Drillthroug Y Y Y N N N N
h filters
(Transient)

URL filters - Y Y Y N N N N
transient

Pass N N Y Y N Y N
Through
filters

Next steps
Add filters to reports
Take a tour of the report Filters pane
Filters and highlighting in reports
More questions? Try the Power BI Community
Slicers in Power BI
7/20/2021 • 11 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Desktop ✔
️ Power BI service
Suppose you want your report readers to be able to look at overall sales metrics, but also highlight performance
for individual district managers and different time frames. You could create separate reports or comparative
charts. You could add filters in the Filters pane. Or you could use slicers. Slicers are another way of filtering. They
narrow the portion of the dataset that is shown in the other report visualizations.

This article walks through creating and formatting a basic slicer, using the free Retail Analysis Sample. It also
covers controlling which visuals are affected by a slicer, syncing with slicers on other pages, and filtering and
formatting slicers.
These other articles explain how to make specific types of slicers:
Numeric range slicers.
Relative date slicers.
Relative time slicers.
Responsive, resizable slicers.
Hierarchy slicers with multiple fields.

When to use a slicer


Slicers are a great choice when you want to:
Display commonly used or important filters on the report canvas for easier access.
Make it easier to see the current filtered state without having to open a drop-down list.
Filter by columns that are unneeded and hidden in the data tables.
Create more focused reports by putting slicers next to important visuals.
Power BI slicers don't support:
Input fields
Drill-down options

Create a slicer
This slicer filters data by district manager. If you want to follow along with this procedure, download the Retail
Analysis sample PBIX file.
1. Open Power BI Desktop, and from the menu bar, select File > Open .
2. Browse to the Retail Analysis sample PBIX.pbix file, then select Open .

3. On the left pane, select the Repor t icon to open the file in report view.

4. On the Over view page, with nothing selected on the report canvas, select the Slicer icon in the
Visualizations pane to create a new slicer.
5. With the new slicer selected, from the Fields pane, select District > DM to populate the slicer.
The new slicer is now populated with a list of district manager names and their selection boxes.

6. Resize and drag the elements on the canvas to make room for the slicer. Note that if you resize the slicer
too small, its items are cut off.
7. Select names on the slicer and notice the effects on the other visualizations on the page. Select names
again to deselect them, or hold down the Ctrl key to select more than one name. Selecting all names has
the same effect as selecting none.
8. Alternately, select Format (paint roller icon) in the Visualizations pane to format your slicer.
There are too many options to describe them all here; experiment and create a slicer that works for you.
In the following image, the first slicer has a horizontal orientation and colored backgrounds for the items.
The second slicer has a vertical orientation and colored text for a more standard look.
TIP
Slicer list items are sorted in ascending order, by default. To reverse the sort order to descending, select the ellipsis
(... ) in the top right corner of the slicer and choose Sor t descending .

Control which page visuals are affected by slicers


By default, slicers on report pages affect all the other visualizations on that page, including each other. As you
choose values in the list and date sliders you just created, notice the effects on the other visualizations. The
filtered data is an intersection of the values selected in both slicers.
Use visual interactions to exclude some page visualizations from being affected by others. On the Over view
page, the Total Sales Variance by FiscalMonth and District Manager chart shows overall comparative
data for district managers by month, which you want to keep visible at all times. Use visual interactions to keep
slicer selections from filtering this chart.
1. Go to the Over view page of the report, and then select the DM slicer you previously created.
2. On the Power BI Desktop menu, select the Format menu under Visual Tools , and then select Edit
interactions .

Filter controls , each with a Filter and a None option, appear above all the visuals on the
page. Initially, the Filter option is preselected on all the controls.
3. Select the None option in the filter control above the Total Sales Variance by FiscalMonth and
District Manager chart to stop the DM slicer from filtering it.
4. Select the OpenDate slicer, and then select the None option above the Total Sales Variance by
FiscalMonth and District Manager chart to stop this slicer from filtering it.
Now, as you select names and date ranges in the slicers, the Total Sales Variance by FiscalMonth and
District Manager chart is unchanged.
For more information about editing interactions, see Change how visuals interact in a Power BI report.

Sync and use slicers on other pages


You can sync a slicer and use it on any or all pages in a report.
In the current report, the District Monthly Sales page has a District Manager slicer, but what if we also
wanted that slicer on the New Stores page? The New Stores page has a slicer, but it provides only Store
Name information. With the Sync slicers pane, you can sync the District Manager slicer to these pages, so
that slicer selections on any page affect visualizations on all three pages.
1. On the Power BI Desktop View menu, select Sync slicers .

The Sync slicers pane appears between the Filters and Visualizations panes.
2. On the District Monthly Sales page of the report, select the District Manager slicer.
Because you've already created a District Manager (DM ) slicer on the Over view page, the Sync
slicers pane appears as follows:

3. In the Sync column of the Sync slicers pane, select the Over view , District Monthly Sales , and New
Stores pages.
This selection causes the District Monthly Sales slicer to sync across these three pages.
4. In the Visible column of the Sync slicers pane, select the New Stores page.
This selection causes the District Monthly Sales slicer to be visible in these three pages. The Sync
slicers pane now appears as follows:

5. Observe the effects of syncing the slicer and making it visible on the other pages. On the District
Monthly Sales page, notice that the District Manager slicer now shows the same selections as on the
Over view page. On the New Stores page, the District Manager slicer is now visible and it selections
affect the selections that are visible in the Store Name slicer.
TIP
Although the slicer initially appears on the synced pages at the same size and position as on the original page,
you can move, resize, and format synced slicers on the various pages independently.

NOTE
If you sync a slicer to a page but don't make it visible on that page, slicer selections made on the other pages still
filter the data on the page.

Sync separate slicers


You can also sync two or more separate slicers. This is particularly useful when working with composite models,
as you might want to make the same selection across sources without relying on cross-source group
relationships. To sync two or more separate slicers, you need to create a group.
1. To get started, make sure the Selection pane is visible by selecting it from the View menu.
2. Select the slicers you want to sync and in the Selection pane , create a group using the context menu:

Alternatively, create the group by selecting the slicers and selecting Group from the Format menu.
3. Rename the group you just created by double-clicking the group name in the Selection pane and
confirming the rename.

4. Make sure the Sync slicers pane is visible by selecting it from the View menu.
5. In the Sync slicers pane, select one of the slicers in the group and enter the group name under
Advanced options .
6. Make sure to select either Sync field changes to other slicers , Sync filter changes to other
slicers or both depending on your scenario.
If you just want to keep the slicers in sync so filters set by the slicers are kept in sync, select Sync
filter changes to other slicers .
If you also want to make sure that any changes you make to the field on which the slicers are based
get synced across the group, select Sync field changes to other slicers .
7. Test the sync works the way you want by changing the selection and / or field in one of the slicers.
Observe that it gets updated in the other slicer(s) in the group.

Filtering slicers
You can apply visual-level filters to slicers to reduce the list of values that are displayed in the slicer. For example
you might filter out blank values from a list slicer, or filter out certain dates from a range slicer. When you do this
it only affects the values that are shown in the slicer, not the filter that the slicer applies to other visuals when
you make a selection. For example, let's say you apply a filter to a range slicer to only show certain dates. The
selection on the slicer will only show the first and last dates from that range, but you would still see other dates
in your other visuals. Once you change the selected range in the slicer you'll see the other visuals update.
Clearing the slicer would show all the dates again.
See Filter types for more information on visual-level filters.

Format slicers
Different formatting options are available, depending on the slicer type. By using Horizontal orientation,
Responsive layout, and Item coloring, you can produce buttons or tiles rather than standard list items, and
make slicer items resize to fit different screen sizes and layouts.
1. With the District Manager slicer selected on any page, in the Visualizations pane, select the Format

icon to display the formatting controls.


2. Select the drop-down arrows next to each category to display and edit the options.
General options
1. Under Format , select General , select a red color under Outline color , and then change Outline
weight to 2.
This setting changes the color and thickness of the header and item outlines and underlines.
2. For Orientation , Ver tical is selected by default. Select Horizontal to produce a slicer with horizontally
arranged tiles or buttons, and scroll arrows to access items that don't fit in the slicer.
3. Turn On the Responsive layout to change the size and arrangement of slicer items according to the view
screen and slicer size.
For list slicers, responsive layout prevents items from being cut off on small screens. It's available only in
horizontal orientations. For range slider slicers, responsive formatting changes the style of the slider and
provides more flexible resizing. Both types of slicers become filter icons at small sizes.
NOTE
Responsive layout changes can override specific heading and item formatting that you set.

4. Under X Position , Y Position , Width , and Height , set the slicer position and size with numeric
precision, or move and resize the slicer directly on the canvas.
Experiment with different item sizes and arrangements, and note how the responsive formatting changes
accordingly. These options are available only when you select horizontal orientations.

For more information about horizontal orientations and responsive layouts, see Create a responsive slicer you
can resize in Power B I.
Selection controls options (list slicers only)
1. Under Selection controls , turn Show "Select all" option to On to add a Select All item to the slicer.
Show "Select all" option is Off by default. When enabled, this option, when toggled, selects or
deselects all items. If you select all items, selecting an item deselects it, allowing an is-not type of filter.
2. Turn Single select to Off to allow you to select multiple items without needing to hold down the Ctrl
key.
Single select is On by default. Selecting an item selects it, and holding down the Ctrl key selects
multiple items. Selecting item again deselects it.
Title options
Title is On by default. This selection shows the data field name at the top of the slicer. You can edit the title, too,
which is especially useful for hierarchy slicers. See Change the title in the article "Add multiple fields to a
hierarchy slicer" for details.
For this article, format the title text as follows:
Font color : red
Text size : 14 pt
Alignment : Center
Font family : Arial Black
Items options
Items options are only available for list slicers.
1. For this article, format the Items options as follows:
Font color : black
Background : light red
Text size : 10 pt
Font family : Arial
2. For Outline , choose Frame to draw a border around each item with the size and color you set under the
General options.

TIP
With General > Orientation > Horizontal selected, deselected items show the chosen text and background
colors. Selected items use the system default, usually a black background with white text.
With General > Orientation > Ver tical selected, items always show the selected colors, and check boxes
are always black when selected.

Date/numeric inputs and slider options


Date/numeric inputs and slider options are only available for range slider slicers.
For list slicers, date/numeric input options are the same as Items options except that there's no outline or
underline options.
Slider options allow you to set the color of the range slider, or turn the slider to Off , leaving only the
numeric inputs.
Other formatting options
The other formatting options are Off by default. Turn On these options to control them:
Background : Add a background color to the slicer and sets its transparency.
Lock aspect : Retain the relative height and width of the slicer if it's resized.
Border : Add a border around the slicer and sets its color. This slicer border is separate from and unaffected
by the General settings.
Shadow : Add a drop shadow to the slider.

Next steps
For more about slicers, see the following articles:
Numeric range slicers
Relative date slicers
Relative time slicers
Responsive, resizable slicers
Hierarchy slicers with multiple fields
Use the numeric range slicer in Power BI
9/20/2021 • 3 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Desktop ✔
️ Power BI service
With the numeric range slicer, you can apply all sorts of filters to any numeric column in your data model. There
are three options for filtering your numeric data: between numbers, less than or equal to a number, or greater
than or equal to a number. This simple technique is a powerful way to filter your data.

Video
In this video, Will walks through creating a numeric range slicer.

NOTE
This video might use earlier versions of Power BI Desktop or the Power BI service.

https://www.youtube.com/embed/zIZPA0UrJyA

Add a numeric range slicer


You can use the numeric range slicer like you would use any other slicer. Just create a Slicer visual for your
report, and then select a numeric value for the Field value. In the following image, we selected the LineTotal
field.
Select the down-arrow in the upper-right corner of the numeric range slicer and a menu appears.

For the numeric range, you can select from the following three options:
Between
Less than or equal to
Greater than or equal to
When you select Between from the menu, a slider appears. You can use the slider to select numeric values that
fall between the numbers. Sometimes the granularity of moving the slicer bar makes it difficult to land exactly
on that number. You can also use the slider and select either box to type in the values we want. This option is
convenient when you want to slice on specific numbers.
In the following image, the report page filters for LineTotal values that range between 2500.00 and 6000.00.
When you select Less than or equal to , the left (lower value) handle of the slider bar disappears, and you can
adjust only the upper-bound limit of the slider bar. In the following image, we set the slider bar maximum to
5928.19.

Lastly, if you select Greater than or equal to , then the right (higher value) slider bar handle disappears. You
can then adjust the lower value, as seen in the following image. Now, only items with a LineTotal greater than
or equal to 4902.99 display in the visuals on the report page.
Snap to whole numbers with the numeric range slicer
A numeric range slicer snaps to whole numbers if the data type of the underlying field is Whole Number. This
feature lets your slicer cleanly align to whole numbers. Decimal Number fields let you enter or select fractions of
a number. The formatting set in the text box matches the formatting set on the field, even though you can type in
or select more precise numbers.

Display formatting with the date range slicer


When you use a slicer to display or set a range of dates, the dates display in the Short Date format. The user's
browser or operating system locale determine the date format. As such, it will be the display format no matter
what the data type settings are for the underlying data or model.
You could, for example, have a long date format for the underlying data type. In this case, a date format such as
dddd, MMMM d, yyyy would format a date in other visuals or circumstances as Wednesday, March 14, 2001. But
in the date range slicer, that date displays in the slicer as 03/14/2001.
Displaying the Short Date format in the slicer ensures the length of the string stays consistent and compact
within the slicer.

Limitations and considerations


The following limitations and considerations apply to the numeric range slicer:
The numeric range slicer filters every underlying row in the data, not any aggregated value. For example, let's
say that you use a Sales Amount field. The slicer then filters each transaction based on the sales amount, not
the sum of the sales amount for each data point of a visual.
It doesn't currently work with measures.
You can type any number into a numeric slicer, even if it is outside the range of values in the underlying
column. This option lets you set up filters if you know the data may change in future.
The date range slicer allows for any date values even if they do not exist in the underlying date column.
Creating a relative date slicer and filter in Power BI
3/5/2021 • 2 minutes to read • Edit Online

APPLIES TO: Power BI service for consumers Power BI service for designers & developers Power
BI Desktop Requires Pro or Premium license
With the relative date slicer or relative date filter , you can apply time-based filters to any date column in
your data model. For example, you can use the relative date slicer to show only sales data that's happened
within the last 30 days (or month, calendar months, and so on). When you refresh the data, the relative time
period automatically applies the appropriate relative date constraint.

To share your report with a Power BI colleague requires that you both have individual Power BI Pro licenses or
that the report is saved in Premium capacity.

Create the relative date range slicer


You can use the relative date slicer just like any other slicer. Create a slicer visual for your report and then select
a date value for the Field value. In the following image, we selected the OrderDate field.

Select the slicer on your canvas and then the carat in the upper-right corner of the slicer visual. If the visual has
date data, the menu displays the option for Relative .
For the relative date slicer, select Relative.
You can then select the settings.
For the first setting in the relative date slicer, you have the following choices:

Last
Next
This
The second (middle) setting in the relative date slicer lets you enter a number to define the relative date range.

The third setting lets you pick the date measurement. You have the following choices:

Days
Weeks
Weeks (Calendar)
Months
Months (Calendar)
Years
Years (Calendar)
If you select Months from that list, and enter 2 in the middle setting, here's what happens:
If today is July 20:
The data included in visuals constrained by the slicer will show data for the previous two months,
Starting on May 21 and going through July 20 (today's date).
In comparison, if you selected Months (Calendar), the visuals constrained would show data from May 1 through
June 30 (the last two complete calendar months).
Create the relative date range filter
You can also create a relative date range filter for your report page or your entire report. To do so, drag a date
field into the Page level filters well or the Repor t level filters well in the Field pane:

Once there, you can change the relative date range. It's similar to how you can customize the relative date
slicer . Select Relative date filtering from the Filter Type drop-down.

Once you've selected Relative date filtering , you see three sections to change, including a middle numeric
box, just like the slicer.
Limitations and considerations
The following limitations and considerations currently apply to the relative date range slicer and filter.
The data type for the field in the slicer must be a date, and not the default of text. Otherwise, the relative
options don't show up in the slicer.
Data models in Power BI don't include time zone info. The models can store times, but there's no indication
of the time zone they're in.
The slicer and filter are always based on the time in UTC. If you set up a filter in a report and send it to a
colleague in a different time zone, you both see the same data. Unless you are in the UTC time zone, you and
your colleague must account for the time offset you experience.
You can convert data captured in a local time zone to UTC using the Quer y Editor .

Next steps
Use a relative time slicer and filter in Power BI
Slicers in Power BI
Use a relative time slicer and filter in Power BI
3/5/2021 • 3 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Desktop ✔
️ Power BI service
With emerging fast refresh scenarios, the ability to filter to a smaller window of time can be useful. Using the
relative time slicer or relative time filter, you can apply time-based filters to any date or time column in your data
model. For example, you can use the relative time slicer to show only video views within the last minute or hour.

You don't have to use the feature in conjunction with the automatic page refresh feature. However, many relative
time scenarios pair well with the automatic page refresh feature.

NOTE
When you apply a relative time filter or slicer at the page or report level, all visuals on that page or report are filtered to
the exact same time range, using a shared anchor time. Because visuals might have slightly different execution times, this
shared anchor time ensures that visuals are synchronized across your page or across your report. Read more about
anchor time in this article.

Create a relative time slicer or filter


After you've enabled the feature, you can drag and drop the date or time field to the field well of a slicer or to
the drop zone in the Filters pane.
Create a slicer
1. Drag a date or time field to the canvas.
2. Select the Slicer visualization type.

Create a filter
Drag a date or time field to the Filters pane, for this visual , this page , or all pages .
Set relative time
Next, you change the filter type to Relative Time .

Here’s how it looks in a slicer:

Here’s how it looks in a filter card:


With this new filter type, you can filter based on Last , Next , or This time period :

You specify the time window using a whole number and a unit of time: Minutes or Hours .

If you need to save space on the canvas, you can also create the relative time filter as a filter card in the Filters
pane.

Understanding anchor time


When a filter is applied to the page or report level, all visuals on that page or report are synchronized to the
same exact time range. These queries are all issued relative to a time called the anchor time. The anchor time
automatically refreshes in the following conditions:
Initial page load.
Manual refresh.
Automatic or change detection page refresh.
A change to the model.
Anchor time exceptions
Relative time filtering using the Q&A visual isn't relative to this anchor time, until you convert the Q&A visual
to a standard visual. However, the other AI visuals, such as key influencers and the decomposition tree, are
synchronized with the anchor time.
Additionally, relative date filters or slicers aren't relative to the anchor time, unless in the presence of relative
time filters. If a relative date and a relative time filter are on the same page, the relative date filter respects the
anchor time.

Limitations and considerations


The following limitations and considerations currently apply to the relative time slicer and filter.
Time zone considerations : Data models in Power BI don't include time zone info. The models can store
times, but there's no indication of the time zone they're in. The slicer and filter are always based on the
time in UTC. If you set up a filter in a report and send it to a colleague in a different time zone, you both
see the same data. Unless you or your colleague are in the UTC time zone, you both must account for the
time offset you’ll experience. Use the Query Editor to convert data captured in a local time zone to UTC.
This new filter type is supported in Power BI Desktop, the Power BI service, Power BI Embedded, and the
Power BI mobile apps. However, it isn't supported for Publish to web.
Quer y caching : We use the client cache. Say you specify "last 1 minute," then "last 5 minutes," then back
to "last 1 minute." At that point, you see the same results as when it was first run, unless you refresh the
page or the page automatically refreshes.

Next steps
Use a relative date slicer and filter in Power BI
Slicers in Power BI
Create a responsive slicer you can resize in Power BI
8/5/2021 • 2 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Desktop ✔
️ Power BI service
Responsive slicers resize to fit any space on your report. With responsive slicers, you can resize them to different
sizes and shapes, from horizontal to square to vertical, and the values in the slicer rearrange themselves as you
do. In Power BI Desktop and in the Power BI service, you can make horizontal slicers and date/range slicers
responsive. Date/range slicers also have improved touch areas so it's easier to change them with a fingertip. You
can make responsive slicers as small or as large as you want; they also resize automatically to fit well on reports
in the Power BI service and also in the Power BI mobile apps.

Create a slicer
The first step to creating a dynamic slicer is to create a basic slicer.

1. Select the Slicer icon in the Visualizations pane.


2. Drag the field you want to filter on to Field .
Convert to a horizontal slicer
1. With the slicer selected, in the Visualizations pane select the Format tab.
2. Expand the General section, then for Orientation , select Horizontal .

3. You'll probably want to make it wider, to show more values.


Make it responsive and experiment with it
This step is easy.
1. Right under Orientation in the General section of the Format tab, slide Responsive to On .

2. Now you can play with it. Drag the corners to make it short, tall, wide, and narrow. If you make it small
enough, it becomes just a filter icon.

Add it to a phone report layout


In Power BI Desktop, you can create a phone layout for each page of a report. If a page has a phone layout, it
displays on a mobile phone in portrait view. Otherwise, you need to view it in landscape view.
1. On the View menu, select Mobile layout .

2. Drag all the visuals you want in the phone report to the grid. When you drag the responsive slicer, make
it the size you want -- in this case, just a filter icon.

Read more about creating reports optimized for the Power BI mobile apps.

Make a time or range slicer responsive


You can follow the same steps to make a time or range slicer responsive. After you set Responsive to On , you
notice a few things:
Visuals optimize the order of input boxes depending on the size allowed on the canvas.
Data-element display is optimized to make the slicer as usable as possible, based on the size it's allowed on
the canvas.
New round handlebars on the sliders optimize touch interactions.
When a visual becomes too small to be useful, it becomes an icon representing the visual type in its place. To
interact with it, just double-tap to open it in focus mode. This saves valuable space on the report page
without losing the functionality.

Next steps
Slicers in the Power BI service
More questions? Try asking the Power BI Community
Add multiple fields to a hierarchy slicer
8/5/2021 • 2 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Desktop ✔
️ Power BI service
If you want to filter multiple related fields in a single slicer, you do so by building what's called a hierarchy slicer.
You can create these slicers in either Power BI Desktop or in the Power BI service.

When you add multiple fields to the slicer, by default it displays an arrow, or chevron next to the items that can
be expanded to show the items in the next level.

When you select one or more children for an item, you see a semi-selected square for the top-level item.

Format the slicer


The behavior of the slicer hasn't changed. You can also style your slicer how you want. For example, you can set
it to single-select mode. Or you can swap between a list and dropdown.

You can also make the following formatting changes.


Change the title
You can edit the title for any slicer, but it's especially useful for hierarchy slicers. By default, the name of a
hierarchy slicer is a list of the field names in the hierarchy.
In this example, the title of the slicer lists the three fields in the hierarchy: Type, Platform, and Name.

To change the name, select the slicer, then select the Format pane. Under Slicer header , you see the current
name of the slicer in the Title text box.

Select the text and add a new name.

Change the expand/collapse icon


Hierarchy slicers have some other formatting options. You can change the expand/collapse icon from the default
arrow to a plus/minus signs, or a caret.
1. Select the slicer, then select Format .
2. Expand Items and select Expand/collapse icon .
3. Choose from Chevron , Plus/minus , or Caret .

Change the indentation


If space is tight on your report, you may want to reduce the amount you indent the child items. By default, the
indentation is 15 pixels, but you can increase or lower that.
1. Select the slicer, then select Format .
2. Expand Items , then drag Stepped layout indentation smaller or larger. You can also just type a
number in the box.
Limitations and considerations
When using live connection to SQL Server Analysis Services (SSAS) tabular models and the property hide
members in the hierarchy is set to Hide blank members , Power BI doesn't hide blank members. This
creates a ragged hierarchy.
A ragged hierarchy is also created when there are blank values for a category at any hierarchy level. For
example, if Employee A has three levels of management (manager > vice-president > CEO) but does not
have a "director", the data table row for Employee A will have three values (names) and one blank. While you
can use the Filters pane to deselect blank values for "director", doing so also prevents the other three values
from being included in the slicer for Employee A. As a result, Employee A will be removed from the hierarchy
slicer.
For tabular models, this feature requires SQL Server Analysis Services 2017 or newer.
For multi-dimensional models, this feature requires SQL Server Analysis Services 2019 CU5 or newer with
SuperDAXMD enabled. Read more about SuperDAXMD.

Next steps
Slicers in Power BI
More questions? Try asking the Power BI Community
Apply insights in Power BI Desktop to explain
fluctuations in visuals
5/11/2021 • 7 minutes to read • Edit Online

Often in visuals, you see a large increase and then a sharp drop in values, and wonder about the cause of such
fluctuations. With insights in Power BI Desktop you can learn the cause with just a few clicks.
For example, consider the following visual that shows Sales Amount by Year and Quarter. A large decrease in
sales occurs in 2014, with sales dropping sharply between Qtr 1 and Qtr 2. In such cases you can explore the
data, to help explain the change that occurred.

You can tell Power BI Desktop to explain increases or decreases in charts, see distribution factors in charts, and
get fast, automated, insightful analysis about your data. Simply right-click on a data point, and select Analyze >
Explain the decrease (or increase, if the previous bar was lower), or Analyze > Find where this
distribution is different and insight is delivered to you in an easy-to-use window.
The insights feature is contextual, and is based on the immediately previous data point - such as the previous
bar, or column.

NOTE
The insight feature is enabled and on by default in Power BI Desktop .

Using insights
To use insights to explain increases or decreases seen on charts, just right-click on any data point in a bar or line
chart, and select Analyze > Explain the increase (or Explain the decrease, since all insights are based on the
change from the previous data point).
Power BI Desktop then runs its machine learning algorithms over the data, and populates a window with a
visual and a description that describes which categories most influenced the increase or decrease. By default,
insights are provided as a waterfall visual, as shown in the following image.

By selecting the small icons at the bottom of the waterfall visual, you can choose to have insights display a
scatter chart, stacked column chart, or a ribbon chart.
The thumbs up and thumbs down icons at the top of the page are provided so you can provide feedback about
the visual and the feature. Doing so provides feedback, but it does not currently train the algorithm to influence
the results returned next time you use the feature.
And importantly, the + button at the top of the visual lets you add the selected visual to your report, just as if
you created the visual manually. You can then format or otherwise adjust the added visual just as you would to
any other visual on your report. You can only add a selected insight visual when you're editing a report in
Power BI Desktop .
You can use insights when your report is in reading or editing mode, making it versatile for both analyzing data,
and for creating visuals you can easily add to your reports.

Details of the results returned


The details returned by insights are intended to highlight what was different between the two time periods, to
help you understand the change between them.
For example, if Sales increased by 55% overall from Qtr 3 to Qtr 4, and that is equally true for every Category of
product (sales of Computer increased by 55%, and of Audio, and so on), and also true for every country, and for
every type of customer, then there is little that can be identified in the data to help explain the change. However,
that situation is generally not the case, and we might typically find differences in what occurred, such that
among the categories, Computers and Home Appliances grew by a much larger 63% percentage, while TV and
Audio grew by only 23%, and therefore Computers and Home Appliances contributed a larger amount of the
total for Qtr 4 than they had for Qtr 3. Given this example, a reasonable explanation of the increase would be:
particularly strong sales for Computers and TV and Audio.
So the algorithm is not simply returning the values that account for the biggest amount of the change. For
example, if the vast majority (98%) of sales came from the USA, then it would commonly be the case that the
vast majority of the increase was also in the USA. Yet unless the USA or other countries had a significant change
to their relative contribution to the total, Country would not be considered interesting in this context.
Simplistically, the algorithm can be thought of as taking all the other columns in the model, and calculating the
breakdown by that column for the before and after time periods, determining how much change occurred in
that breakdown, and then returning those columns with the biggest change. For example, Category was selected
in the example above, as the contribution made by TV and Video fell 7% from 33% to 26%, while the
contribution from Home Appliances grew from nothing to over 6%.
For each column returned, there are four visuals that can be displayed. Three of those visuals are intended to
highlight the change in contribution between the two periods. For example, for the explanation of the increase
from Qtr 2 to Qtr 3.
The scatter plot
The scatter plot visual shows the value of the measure in the first period (on the x-axis) against the value of the
measure in the second period (on the y-axis), for each value of the column (Category in this case). Thus as
shown in the following image, any data points are in the green region if the value increased, and in the red
region if they decreased.
The dotted line shows the best fit, and as such, data points above this line increased by more than the overall
trend, and those below it by less.

Note that data items whose value was blank in either period will not appear on the scatter plot (for example,
Home Appliances in this case).
The 100% stacked column chart
The 100% stacked column chart visual shows the value of the measure before and after, by the selected column,
shown as a 100% stacked column. This allows side-by-side comparison of the contribution before and after. The
tooltips show the actual contribution for the selected value.

The ribbon chart


The ribbon chart visual also shows the value of the measure before and after. It's particularly useful in showing
the changes in contributions when these were such that the ordering of contributors changed (for example, if
Computers were the number one contributor before, but then fell to number three).
The waterfall chart
The fourth visual is a waterfall chart, showing the main actual increases or decreases between the periods. This
visual clearly shows the actual changes, but does not alone indicate the changes to the level of contribution that
actually highlight why the column was chosen as being interesting.

When ranking the column as to which have the largest differences in the relative contributions, the following is
considered:
The cardinality is factored in, as a difference is less statistically significant, and less interesting, when a
column has a large cardinality.
Differences for those categories where the original values were very high or very close to zero are
weighted higher than others. For example, if a Category only contributed 1% of sales, and this changed to
6%, that is more statistically significant, and therefore considered more interesting, than a Category
whose contribution changed from 50% to 55%.
Various heuristics are employed to select the most meaningful results, for example by considering other
relationships between the data.
After examining different columns, those that show the biggest change to relative contribution are chosen and
output. For each, the values which had the most significant change to contribution are called out in the
description. In addition, the values that had the largest actual increases and decreases are also called out.

Considerations and limitations


Since these insights are based on the change from the previous data point, they aren't available when you select
the first data point in a visual.
The following list is the collection of currently unsupported scenarios for explain the increase/decrease :
TopN filters
Include/exclude filters
Measure filters
Non-numeric measures
Use of "Show value as"
Filtered measures - filtered measures are visual level calculations with a specific filter applied (for example,
Total Sales for France), and are used on some of the visuals created by the insights feature
Categorical columns on X-axis unless it defines a sort by column that is scalar. If using a hierarchy, then every
column in the active hierarchy has to match this condition
In addition, the following model types and data sources are currently not supported for insights:
DirectQuery
Live connect
On-premises Reporting Services
Embedding

Next steps
For more information about Power BI Desktop , and how to get started, check out the following articles.
What is Power BI Desktop?
Query Overview with Power BI Desktop
Data Sources in Power BI Desktop
Connect to Data in Power BI Desktop
Shape and Combine Data with Power BI Desktop
Common Query Tasks in Power BI Desktop
Apply insights in Power BI Desktop to discover
where distributions vary
4/28/2021 • 8 minutes to read • Edit Online

Often in visuals, you see a data point, and wonder about whether distribution would be the same for different
categories. With insights in Power BI Desktop you can find out with just a few clicks.
Consider the following visual, which shows Total Sales by Country. As the chart shows, most sales come from
the United States, accounting for 57% of all sales with lessor contributions coming from the other countries. It's
often interesting in such cases to explore whether that same distribution would be seen for different sub-
populations. For example, is this the same for all years, all sales channels, and all categories of products? While
you could apply different filters and compare the results visually, doing so can be time consuming and error
prone.

You can tell Power BI Desktop to find where a distribution is different, and get fast, automated, insightful
analysis about your data. Simply right-click on a data point, and select Analyze > Find where this
distribution is different , and insight is delivered to you in an easy-to-use window.
In this example, the automated analysis quickly shows that for Touring Bikes, the proportion of sales in the
United States and Canada are lower, while the proportion coming from the other countries is higher.

Using insights
To use insights to find where distributions seen on charts are different, just right-click on any data point (or on
the visual as a whole), and select Analyze > Find where this distribution is different .

Power BI Desktop then runs its machine learning algorithms over the data, and populates a window with a
visual and a description that describes which categories (columns), and which values of those columns, result in
the most significantly different distribution. Insights are provided as a column chart, as shown in the following
image.
The values with the selected filter applied are shown using the normal default color. The overall values, as seen
on the original starting visual, are shown in grey for easy comparison. Up to three different filters might be
included (Touring Bikes, Mountain Bikes, Road Bikes in this example) and different filters can be chosen by
clicking on them (or using ctrl-click to select multiple).
For simple additive measures, like Total Sales in this example, the comparison is based on the relative, rather
than absolute, values. Hence while the sales for Touring Bikes are lower than overall sales for all categories, by
default the visual uses a dual axis to allow the comparison between the proportion of sales across different
countries, for Touring Bikes versus all categories of bikes. Switching the toggle below the visual allows the two
values to be displayed in the same axis, allowing the absolute values to easily be compared (as shown in the
following image).

The descriptive text also gives some indication of the level of importance that might be attached to a filter value,
by given the number of records that match the filter. So in this example, you can see that while the distribution
for Touring Bikes might be significantly different, they account for only 16.6% of records.
The thumbs up and thumbs down icons at the top of the page are provided so you can provide feedback about
the visual and the feature. Doing so provides feedback, but it does not currently train the algorithm to influence
the results returned next time you use the feature.
And importantly, the + button at the top of the visual lets you add the selected visual to your report, just as if
you created the visual manually. You can then format or otherwise adjust the added visual just as you would to
any other visual on your report. You can only add a selected insight visual when you're editing a report in
Power BI Desktop .
You can use insights when your report is in reading or editing mode, making it versatile for both analyzing data,
and for creating visuals you can easily add to your reports.

Details of the returned results


You can think of the algorithm as taking all the other columns in the model, and for all of the values of those
columns, applying them as filters to the original visual, and finding which of those filter values produces the
most different result from the original.
You likely wonder what different means. For example, say that the overall split of sales between the USA and
Canada was the following:

C O UN T RY SA L ES ( $M )

USA 15

Canada 5

Then for a particular category of product “Road Bike) the split of sales might be:

C O UN T RY SA L ES ( $M )

USA 3

Canada 1

While the numbers are different in each of those tables, the relative values between USA and Canada are
identical (75% and 25% overall, and for Road Bikes). Because of that, these are not considered different. For
simple additive measures like this, the algorithm is therefore looking for differences in the relative value.
By contrast consider a measure like margin, that is calculated as Profit/Cost, and say that the overall margins for
the USA and Canada were the following

C O UN T RY M A RGIN ( % )

USA 15

Canada 5

Then for a particular category of product “Road Bike) the split of sales might be:

C O UN T RY M A RGIN ( % )

USA 3
C O UN T RY M A RGIN ( % )

Canada 1

Given the nature of such measures, this is considered interestingly different. So for non-additive measures such
as this margin example, the algorithm is looking for differences in the absolute value.
The visuals displayed are thus intended to clearly show the differences found between the overall distribution
(as seen in the original visual) and the value with the particular filter applied.
So for additive measures, like Sales in the previous example, a column and line chart is used, where the use of a
dual axis with appropriate scaling such that the relative values can easily be compared. The columns show the
value with the filter applied, and the line shows the overall value (with the column axis being on the left, and the
line axis on the right, as normal). The line is shown using a stepped style, with a dashed line, filled with grey. For
the previous example, if the column axis maximum value is 4, and the line axis maximum value is 20, then it
would allow easy comparison of the relative values between USA and Canada for the filtered and overall values.
Similarly, for non-additive measures like Margin in the previous example, a column and line chart is used, where
the use of a single axis means the absolute values can easily be compared. Again the line (filled with grey) shows
the overall value. Whether comparing actual or relative numbers, the determination of the degree to which two
distributions are different is not simply a matter of calculating the difference in the values. For example:
The size of the population is factored in, as a difference is less statistically significant and less interesting
when it applies to a smaller proportion of the overall population. As an example, the distribution of sales
across countries might be very different for some particular product, this would not be considered
interesting if there were thousands of products, and hence that particular product accounted for only a
small percentage of the overall sales.
Differences for those categories where the original values were very high or very close to zero are
weighted higher than others. For example, if a country overall contributes only 1% of sales, but for some
particular type of product contributes 6%, that is more statistically significant, and therefore considered
more interesting, than a country whose contribution changed from 50% to 55%.
Various heuristics are employed to select the most meaningful results, for example by considering other
relationships between the data.
After examining different columns, and the values for each of those columns, the set of values that give the
biggest differences are chosen. For ease of understanding, these are then output grouped by column, with the
column whose values give the biggest difference listed first. Up to three values are shown per column, but less
might be shown either if there were fewer than three values that have a large effect, or if some values are much
more impactful than others.
It is not necessarily the case that all of the columns in the model will be examined in the time available, so it is
not guaranteed that the most impactful columns and values are displayed. However, various heuristics are
employed to ensure that the most likely columns are examined first. For example, say that after examining all
the columns, it is determined that the following columns/values have the biggest impact on the distribution,
from most impact to least:

Subcategory = Touring Bikes


Channel = Direct
Subcategory = Mountain Bikes
Subcategory = Road Bikes
Subcategory = Kids Bikes
Channel = Store

These would get output in column order, as follows:


Subcategory: Touring Bikes, Mountain Bikes, Road Bikes (only three listed, with the text including
“...amongst others” to indicate that more than three have a significant impact)
Channel = Direct (only Direct listed, if it’s level of impact was much greater than Store)

Considerations and limitations


The following list is the collection of currently unsupported scenarios for insights :
TopN filters
Measure filters
Non-numeric measures
Use of "Show value as"
Filtered measures - filtered measures are visual level calculations with a specific filter applied (for example,
Total Sales for France), and are used on some of the visuals created by the insights feature
In addition, the following model types and data sources are currently not supported for insights:
DirectQuery
Live connect
On-premises Reporting Services
Embedding

Next steps
For more information about Power BI Desktop , and how to get started, check out the following articles.
What is Power BI Desktop?
Query Overview with Power BI Desktop
Data Sources in Power BI Desktop
Connect to Data in Power BI Desktop
Shape and Combine Data with Power BI Desktop
Common Query Tasks in Power BI Desktop
Create buttons in Power BI reports
9/21/2021 • 4 minutes to read • Edit Online

With buttons in Power BI, you can create reports that behave similar to apps, and create an environment where
users can hover, click, and further interact with Power BI content. This article explains how to add buttons to
reports in Power BI Desktop and in the Power BI ser vice . When you share your reports in the Power BI
service, buttons provide an app-like experience. The article Identify and use buttons in the Power BI service
describes how report readers experience buttons in your reports.

Create buttons in reports


Create a button in Power BI Desktop
To create a button in Power BI Desktop , on the Inser t ribbon, select Buttons and a drop-down menu appears,
where you can select the button you want from a collection of options, as shown in the following image.
Create a button in the Power BI service
To create a button in the Power BI ser vice , open the report in Editing view. Select Buttons in the top menu bar
and a drop-down menu appears, where you can select the button you want from a collection of options, as
shown in the following image.

Customize a button
Whether you create the button in Power BI Desktop or the Power BI service, the rest of the process is the same.
When you select the button on the report canvas, the Format button pane shows you the many ways you can
customize the button to fit your requirements. For example, you can add a custom image.
See Customize buttons in Power BI reports for more information.

Set button properties when idle, hovered over, or selected


Buttons in Power BI have three states: default (how they appear when not hovered over or selected), when
hovered over, or when selected (often referred to as being clicked). Many of the cards in the Format button
pane can be modified individually based on those three states, providing plenty of flexibility for customizing
your buttons.
The following cards in the Format button pane let you adjust formatting or behavior of a button based on its
three states:
Button Text
Icon
Outline
Fill
To select how the button should appear for each state, expand one of those cards and select the drop-down that
appears at the top of the card. In the following image, you see the Icon card expanded, with the drop-down
selected to show the three states.
Select the action for a button
You can select which action is taken when a user selects a button in Power BI. You can access the options for
button actions from the Action card in the Format button pane.

Here are the options for button actions:


Back returns the user to the previous page of the report. This is useful for drillthrough pages.
Bookmark presents the report page that's associated with a bookmark that is defined for the current report.
Learn more about bookmarks in Power BI.
Drillthrough navigates the user to a drillthrough page filtered to their selection, without using bookmarks.
Learn more about drillthrough buttons in reports.
Page navigation navigates the user to a different page within the report, also without using bookmarks.
See Create page navigation in this article for details.
Q&A opens a Q&A Explorer window.
Certain buttons have a default action selected automatically. For example, the Q&A button type automatically
selects Q&A as the default action. You can learn more about Q&A Explorer by checking out this blog post.
You can try or test the buttons you create for your report by using CTRL+CLICK on the button you want to use.

Create page navigation


With the Action type Page navigation , you can 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.

You can build a custom navigation pane, and add the navigation buttons to it. You avoid having to edit and
manage bookmarks if you want to change which pages to show in your navigation pane.

Additionally, you can conditionally format the tooltip as you can do with other button types.

Set the navigation destination conditionally


You can use conditional formatting to set the navigation destination, based on the output of a measure. For
example, you may want to save space on your report canvas by having a single button to navigate to different
pages based on the user’s selection.
To create the example shown above, start by creating a single-column table with the names of the navigation
destinations:

Power BI uses exact string match to set the drillthrough destination, so double-check that the entered values
exactly align with your drillthrough page names.
After you've created the table, add it to the page as a single-select slicer:

Then create a page navigation button and select the conditional formatting option for the destination:

Select the name of the column you created, in this case, Select a destination :
Now the button can navigate to different pages, depending on the user’s selection.

Shapes and images for navigation


Page navigation action is supported for shapes and images, not just buttons. Here’s an example using one of the
built-in shapes:

Here’s an example using an image:

Buttons support fill images


Buttons support fill images. You can customize the look and feel of your button with fill images combined with
the built-in button states: default, on hover, on press, and disabled (for drillthrough).
Set Fill to On , then create images for the different states.

Next steps
For more information about features that are similar or interact with buttons, take a look at the following
articles:
Identify and use buttons in the Power BI service
Use drillthrough in Power BI reports
Use bookmarks to share insights and build stories in Power BI
Create a drillthrough button
Customize buttons in Power BI reports
9/21/2021 • 2 minutes to read • Edit Online

Whether you create a button in Power BI Desktop or the Power BI service, you can customize it in many different
ways to suit your requirements. For example, you can turn Button Text on or off, and change the button shape,
icon, fill, title, or the action that's taken when users select the button in a report, among other properties.

Change the shape


A rectangle is the default shape for buttons, but you can change the shape. You can also change the button
shape.
Select the button, navigate to the Shape tab of the Format button pane, and customize the button to
any of these shapes:
Arrow
Chevron arrow
Pentagon arrow
Heart
Hexagon
Isosceles triangle
Octagon
Oval
Parallelogram
Pentagon
Pill
Rectangle
Right triangle
Rounded rectangle
Speech bubble
Snipped tab, top right
Snipped tab, both top
Rounded tab, top right
Rounded tab, both top
Trapezoid

Add a custom image or icon


Another great way to customize your button is to add a custom image or icon for your button.
Here’s an example of a button with a custom image:

Here's how.
1. Select the button, and navigate to the Icon tab of the Format button pane.
2. Select the Custom option for Icon , then select Add image .

3. After you add your image, you can customize the Image fit and Icon placement . With icon placement,
you can place the image either Left of text , Right of text , Below text , or Above text .

Or choose the Custom option to control the icon’s Ver tical and Horizontal alignment :
4. You can also customize the Icon size . By default, icon size is set to Auto , meaning that as you resize the
button, the icon size automatically changes size. You can set a fixed Icon size (in pixels) by typing a
number in the Icon size box.

Add effects
Just like Power BI built-in shapes, Power BI buttons can have artistic effects to suit your design needs:
Shape shadow effects
Shape glow effects
Button Shape rotation and Text rotation

Next steps
For more information about features that are similar or interact with buttons, take a look at the following
articles:
Create buttons in Power BI reports
Identify and use buttons in the Power BI service describes how report readers experience buttons in your
reports.
Create a drillthrough button
Create a drillthrough button in Power BI
7/8/2021 • 7 minutes to read • Edit Online

You can create a drillthrough button in Power BI, a button that drills through to a page with details that are
filtered to a specific context.
One way to drill through in a report is to right-click in a visual. If you want the drillthrough action to be more
obvious, you can create a drillthrough button instead. The button can increase the discoverability of important
drillthrough scenarios in your reports. You can conditionally determine much of how the button looks and acts.
For example, you can show different text on a button if certain conditions are met. Read on for details.
In this example, after you select the Word bar in the chart, the See details button is enabled.

When you select the See details button, you drill through to the Market Basket Analysis page. As you can see
from the visual on the left, the drillthrough page is now filtered for Word.
Set up a drillthrough button
To set up a drillthrough button, you first need to set up a valid drillthrough page within your report. Then, you
need to create a button with Drill through as the action type and select the drillthrough page as the
Destination .
Because the drillthrough button has two states, enabled vs. disabled, you see two tooltip options.

If you leave the tooltips boxes blank, Power BI automatically generates tooltips. Those tooltips are based on the
destination and drillthrough field(s).
Here's an example of the autogenerated tooltip when the button is disabled:
"To drill through to Market Basket Analysis [the destination page], select a single data point from Product [the
drillthrough field]."
And here's an example of the autogenerated tooltip when the button is enabled:
"Click to drill through to Market Basket Analysis [the destination page]."
However, if you'd like to provide custom tooltips, you can always input a static string. You can also apply
conditional formatting to tooltips.

Pass filter context


The button works like the regular drillthrough: You can pass filters on additional fields by cross-filtering the
visuals that contain the drillthrough field. For example, using Ctrl + click and cross-filtering, you can pass
multiple filters on Store to the drillthrough page because your selections cross-filter the visual that contains
Product, the drillthrough field:

After you select the drillthrough button, you see filters on both Store and Product being passed through to the
destination page:

Ambiguous filter context


Since the drillthrough button isn't tied to a single visual, if your selection is ambiguous, then the button is
disabled.
In this example, the button is disabled because two visuals both contain a single selection on Product. There's
ambiguity about which data point from which visual to tie the drillthrough action to:
Customize formatting for disabled buttons
You can customize the formatting options for the disabled state of drillthrough buttons.

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

Set formatting for button text conditionally


You can use conditional formatting to change the button text based on the selected value of a field. To do this,
you need to create a measure that outputs the desired string based on the DAX function SELECTEDVALUE.
Here's an example measure that outputs "See product details" if a single Product value is NOT selected;
otherwise, it outputs "See details for [the selected Product]":

String_for_button = If(SELECTEDVALUE('Product'[Product], 0) == 0, "See product details", "See details for "


& SELECTEDVALUE('Product'[Product]))

Once you've created this measure, you select the Conditional formatting option for the button text:
Then, you select the measure you created for the button text:

When a single product is selected, the button text reads:


"See details for Word"

When either no products are selected, or more than one product is selected, the button is disabled. The button
text reads:
"See product details"

Set formatting for tooltips conditionally


You can conditionally format the tooltip for the drillthrough button when it's enabled or disabled. If you've used
conditional formatting to dynamically set the drillthrough destination, you may 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 the user hasn't selected either a single product or a single store, the measure returns: “Select a single
product and Ctrl + click to also select a single store.”
If the user has selected a single product, but not a single store, the measure returns: “Ctrl + click to also
select a single store.”
Similarly, you can set the enabled-state tooltip to be specific the user’s selection. For example, if you want
the user to know which product and store the drillthrough page will be filtered to, you can create a
measure that returns:
“Click to drill through to [drillthrough page name] to see more details on sales for [product name] at
[store name] stores.”
Set the drillthrough destination conditionally
You can use conditional formatting to set the drillthrough destination based on the output of a measure.
Here are some scenarios where you might want the button drillthrough destination to be conditional:
You only want to enable drillthrough to a page when multiple conditions have been met . Otherwise
the button is disabled.
For example, you want users to select a single product and a single store before they can drill through to
the Market details page. Otherwise the button is disabled.

You want the button to suppor t multiple drillthrough destinations based on user selections.
For example, say you have multiple destinations (Market details and Store details) that users can drill
through to. You can have them select a specific destination to drill through to before the button becomes
enabled for that drillthrough destination.

You may also have interesting cases for a hybrid scenario to support both multiple drillthrough
destinations and specific conditions where you want the button to be disabled. Read on for details about
these three options.
Disable the button until multiple conditions are met
Let's look at the first case, where you want to keep the button disabled until additional conditions are met. You
need to create a basic DAX measure that outputs an empty string (“”) unless the condition has been met. When
it's met, it then outputs the name of the drillthrough destination page.
Here’s an example DAX measure that requires a Store to be selected before the user can drill through on a
Product to Store details page:

Destination logic = If(SELECTEDVALUE(Store[Store], “”)==””, “”, “Store details”)

When you've created the measure, you select the conditional formatting (fx) button next to Destination for the
button:

For the last step, you select the DAX measure you created as the field value for the destination:

Now you see the button is disabled even when a single product is selected, because the measure also requires
you to select a single store:
Support multiple destinations
For the other common case where you want to support multiple destinations, you start by creating a single-
column table with the names of the drillthrough destinations:

Power BI uses exact string match to set the drillthrough destination, so double-check that the entered values
exactly align with your drillthrough page names.
After you've created the table, add it to the page as a single-select slicer:

If you need more vertical space, convert the slicer to a dropdown. Remove the slicer header and add a text box
with the title next to it:

Alternatively, change the list slicer from vertical to horizontal orientation:

For the destination input for the drillthrough action, select the conditional formatting (fx) button next to
Destination for the button:

Select the name of the column you created, in this case, Select a destination :
Now you see that the drillthrough button is only enabled when you've selected a product and a destination:

Hybrid of the two scenarios


If you're interested in a hybrid of the two scenarios, you can create and reference a DAX measure to add
additional logic for the destination selection.
Here’s an example DAX measure that requires the user to select a Store before they can drill through on a
Product to any of drillthrough pages:

Destination logic = If(SELECTEDVALUE(Store[Store], “”)==””, “”, SELECTEDVALUE(‘Table'[Select a


destination]))

Then you select the DAX measure you created as the field value for the destination. In this example, the user
would need to select a Product, a Store, and a destination page before the drillthrough button is enabled:
Limitations
This button doesn't allow for multiple destinations using a single button.
This button only supports drillthroughs within the same report; in other words, it doesn't support cross-
report drillthrough.
The disabled state formatting for the button is tied to the color classes in your report theme. Learn more
about color classes.
The drillthrough action works for all built-in visuals, and works with some visuals imported from AppSource.
However, it isn't guaranteed to work with all visuals imported from AppSource.

Next steps
For more information about features that are similar or interact with buttons, take a look at the following
articles:
Create buttons
Use drillthrough in Power BI reports
Use bookmarks to share insights and build stories in Power BI
Set up drillthrough in Power BI reports
7/8/2021 • 3 minutes to read • Edit Online

With drillthrough in Power BI reports, you can create a page in your report that focuses on a specific entity such
as a supplier, customer, or manufacturer. When your report readers use drillthrough, they right-click a data point
in other report pages, and drill through to the focused page to get details that are filtered to that context. You
can also create a button that drills through to details when they click it.
You can set up drillthrough in your reports in Power BI Desktop or the Power BI service.

Set up the drillthrough destination page


1. To set up drillthrough, create a report page that has the visuals you want for the type of entity that you're
going to provide drillthrough for.
For example, suppose you want to provide drillthrough for manufacturers. For this case, you might create
a drillthrough page with visuals that show total sales, total units shipped, sales by category, sales by
region, and so on. That way, when you drill through to that page, the visuals are specific to the
manufacturer you selected.
2. Then, on that drillthrough page, in the Fields section of the Visualizations pane, drag the field for which
you want to enable drillthrough into the Drillthrough filters well.
When you add a field to the Drillthrough filters well, Power BI automatically creates a back button
visual. That visual becomes a button in published reports. Users who consume your report in the Power
BI service use this button to get back to the report page from which they came.

IMPORTANT
You can configure and perform drillthrough to a page in the same report, however, you can't drill through to a page in a
different report.

Use your own image for a back button


Because the back button is an image, you can replace the image of that visual with any image you want. It still
operates as a back button so that report consumers can go back to their original page.
To use your own image for a back button, follow these steps:
1. On the Inser t tab, select Image . Then, locate your image and place it on the drillthrough page.
2. Select your new image on the drillthrough page. Under the Format image pane, set the Action slider to
On , and then set the Type to Back . Your image now functions as a back button.
Now users can right-click a data point in your report and get a context menu that supports drillthrough
to that page.

When report consumers choose to drill through, the page is filtered to show information about the data
point on which they right-clicked. For example, suppose they right-clicked on a data point about Contoso,
a manufacturer, and selected to drill through. The drillthrough page they go to is filtered to Contoso.

Pass all filters in drillthrough


You can pass all applied filters to the drillthrough window. For example, you can select only a certain category of
products and the visuals filtered to that category, and then select drillthrough. You might be interested in what
that drillthrough would look like with all those filters applied.
To keep all applied filters, in the Drillthrough section of the Visualizations pane, set Keep all filters to On .
When you then drill through on a visual, you can see which filters were applied as a result of the source visual
having temporary filters applied. In the Drillthrough section of the Visualization pane, those transient filters
are shown in italics.

Although you could do this with tooltips pages, that would be an odd experience because the tooltip wouldn't
appear to be working properly. For this reason, so doing so with tooltips isn't recommended.

Add a measure to drillthrough


Besides passing all filters to the drillthrough window, you can also add a measure or a summarized numeric
column to the drillthrough area. Drag the drillthrough field to the Drillthrough card to apply it.
When you add a measure or summarized numeric column, you can drill through to the page when the field is
used in the Value area of a visual.
That's all there is to using drillthrough in your reports. It's a great way to get an expanded view of the entity
information that you selected for your drillthrough filter.

Next steps
You might also be interested in the following articles:
Use cross-report drillthrough in Power BI reports
Using slicers Power BI Desktop
Use cross-report drillthrough in Power BI
6/23/2021 • 4 minutes to read • Edit Online

With the Power BI cross-report drillthrough feature, you can contextually jump from one report to another
report in the same Power BI service workspace or app. You can use cross-report drillthrough to connect two or
more reports that have related content, and to pass filter context along with the cross-report connection.
To initiate cross-report drillthrough, you select a data point in a source visual of a source report, and then select
the cross-report Drillthrough target from the context menu.

The drillthrough action opens the target page in the target report.

This article shows you how to set up and use cross-report drillthrough for Power BI reports.
NOTE
You can't use cross-report drillthrough with individually shared Shared with me reports. To use cross-report drillthrough,
you must access reports in workspaces that you’re a member of.

Enable cross-report drillthrough


The first step in enabling cross-report drillthrough is to validate the data models for the source and target
reports. Although the schemas in each report don't have to be the same, the fields you want to pass must exist
in both data models. The names of the fields, and the names of the tables they belong to, must be identical. The
strings must match, and are case-sensitive.
For example, if you want to pass a filter on a field State within a table US States , both models must have a US
States table, and a State field within that table. If not, you must update the field name or table name in the
underlying model. Simply updating the display name of the fields won't work properly for cross-report
drillthrough.
After you validate your models, enable the source report to use cross-report drillthrough.
1. In Power BI Desktop, go to File > Options and settings > Options .
2. In the Options window left navigation, at the bottom of the Current file section, select Repor t
settings .
3. At bottom right, under Cross-repor t drillthrough , select Allow visuals in this repor t to use
drillthrough targets from other repor ts .
4. Select OK .
You can also enable cross-report drillthrough from the Power BI service.
1. In Power BI service, select the workspace that contains your target and source reports.
2. Next to the source report name in the workspace list, select the More options symbol, and then select
Settings .
3. Near the bottom of the Settings pane, under Cross-repor t drillthrough , select Allow visuals in this
repor t to use drill-through targets from other repor ts , and then select Save .
Set up a cross-report drillthrough target
Setting up a target page for cross-report drillthrough is similar to setting up drillthrough within a report.
Enabling drillthrough on the target page allows other visuals to target the page for drillthrough. To create
drillthrough within a single report, see Use drillthrough in Power BI Desktop.
You can set up a target for cross-report drillthrough in Power BI Desktop or Power BI service.
1. Edit the target file, and on the target page of the target report, select the Fields section of the
Visualizations pane.
2. Under Drillthrough , set the Cross-repor t toggle to On .
3. Drag the fields you want to use as drillthrough targets into Add drill-through fields here . For each
field, select whether you want to allow drillthrough when the field is used as a category, or when it's
summarized like a measure.
4. Select whether you want to Keep all filters for the visual. If you don't want to pass filters applied to the
source visual to your target visual, select Off .
5. If you're using the page for cross-report drillthrough only, delete the Back button that's automatically
added to the canvas. The Back button only works for navigation within a report.
6. After you configure the target page, save the report if you're using the Power BI service, or save and
publish the report if you're using Power BI Desktop.
That's it. Your reports are ready for cross-report drillthrough.

Use cross-report drillthrough


To use cross-report drillthrough, select the source report in the Power BI service, and then select a visual that
uses the drillthrough field in the way you specified when you set up the target page. Right-click a data point to
open the visual context menu, select Drillthrough , and then select the drillthrough target. Cross-report
drillthrough targets are formatted as Page name [Repor t name] .
You see the results in the target cross-report drillthrough page, just as you set them up when you created the
target. The results are filtered according to the drillthrough settings.

IMPORTANT
Power BI caches cross-report drillthrough targets. If you make changes, be sure to refresh your browser if you don't see
the drillthrough targets as expected.

If you set Keep all filters to On when you set up the target page, filter context from the source visual can
include the following:
Report, page, and visual level filters that affect the source visual
Cross-filter and cross-highlighting that affect the source visual
Slicers and sync-slicers on the page
URL parameters
When you land on the target report for drillthrough, Power BI only applies filters for fields that have exact string
matches for field name and table name.
Power BI doesn't apply sticky filters from the target report, but it does apply your default personal bookmark if
you have one. For example, if your default personal bookmark includes a report-level filter for Country = US ,
Power BI applies that filter before applying the filter context from the source visual.
For cross-report drillthrough, Power BI passes the filter context to standard pages in the target report. Power BI
doesn't pass filter context for tooltip pages, because tooltip pages are filtered based on the source visual that
invokes the tooltip.
If you want to return to the source report after the cross-report drillthrough action, use the browser's Back
button.

Considerations and limitations


Cross-report drillthrough doesn't work in Power BI reports in Power BI Report Server.

Next steps
You might also be interested in the following articles:
Slicers in Power BI
Use drillthrough in Power BI Desktop
Create report bookmarks in Power BI to share
insights and build stories
7/29/2021 • 7 minutes to read • Edit Online

When you edit a report in Power BI Desktop and the Power BI service, you can add report bookmarks to capture
the current state of a report page. Bookmarks save the current filters and slicers, cross-highlighted visuals, sort
order, and so on. When others view your report, they can get back to that exact state by selecting your saved
bookmark.

NOTE
In the Power BI service, anyone viewing a report can create a personal bookmark. For more about personal bookmarks,
see Bookmarks in the Power BI service.

There are many uses for bookmarking. For example, you can create a collection of bookmarks, arrange them in
the order you want, and later step through each bookmark in a presentation to highlight a series of insights, or
the story you want to tell with your visuals and reports. You can also use bookmarks to keep track of your own
progress in creating reports (bookmarks are easy to add, delete, and rename).

Create report bookmarks


You have to have permissions to edit a report to create report bookmarks that others can use.
To create report bookmarks in Power BI Desktop, on the View tab, select Bookmarks .
To create report bookmarks in the Power BI service, select Edit , then select View and turn on
Bookmarks pane .

When you create a bookmark, the following elements are saved with the bookmark:
The current page
Filters
Slicers, including slicer type (for example, dropdown or list) and slicer state
Visual selection state (such as cross-highlight filters)
Sort order
Drill location
Visibility of an object (by using the Selection pane)
The focus or Spotlight mode of any visible object
Configure a report page as you want it to appear in the bookmark. After your report page and visuals are
arranged how you want them, select Add from the Bookmarks pane to add a bookmark.

Power BI creates a bookmark and gives it a generic name. You can easily Rename , Delete , or Update a
bookmark by selecting the ellipsis next to the bookmark's name, then selecting an action from the menu that
appears.

After you've created a bookmark, display it by selecting it in the Bookmarks pane.


You can also select whether each bookmark will apply Data properties, such as filters and slicers; Display
properties, such as spotlight and its visibility; and Current page changes, which present the page that was
visible when the bookmark was added. These capabilities are useful when you use bookmarks to switch
between report views or selections of visuals, in which case you'd likely want to turn off data properties, so that
filters aren't reset when users switch views by selecting a bookmark.
To make such changes, select the ellipsis next to the bookmark's name, then select or unselect the checkmarks
next to Data , Display , and other controls.

Arranging bookmarks
As you create bookmarks, you might find that the order in which you create them is different from the order
you'd like to present to your audience. No problem, you can easily rearrange the order of bookmarks.
In the Bookmarks pane, drag-and-drop bookmarks to change their order.
The yellow bar between bookmarks designates where the dragged bookmark will be placed.

The order of your bookmarks can be important when you use the View feature of bookmarks, as described in
the next section.

Bookmarks as a slide show


When you have a collection of bookmarks you would like to present, in order, you view them as a slide show in
Power BI Desktop, and in the Power BI service in either Edit or Reading mode .
In the Bookmarks pane, select View .
Read more about using bookmarks as a slideshow.

Visibility: Using the Selection pane


Related to the Bookmarks pane, the Selection pane provides a list of all objects on the current page and
allows you to select an object and specify whether it's visible. In Power BI Desktop, the Selection pane is on the
View tab. When you're editing a report in the Power BI service, it's on the View menu. You don't see it if you
can't edit the report.

In the Selection pane, you select an object and toggle whether the object is currently visible by selecting the
eye icon to the right of the object.

When you add a bookmark, the visibility status of each object is also saved, based on its setting in the Selection
pane.
It's important to note that slicers continue to filter a report page, regardless of whether they're visible. As such,
you can create many different bookmarks, with different slicer settings, and make a single report page appear
different (and highlight different insights) in various bookmarks.

NOTE
When using the Selection pane in combination with bookmarks, changing the visibility of a selection results in its
visibility reverting to the default setting. After making such changes, you can right-click a bookmark and select update to
update its visibility.

Assign bookmarks to buttons


You can also link shapes and images to bookmarks. With this feature, when you select an object, it shows the
bookmark associated with that object. This feature can be especially useful when you work with buttons. For
more information, see Using buttons in Power BI.
To assign a bookmark to an object:
1. Select the object in the report canvas. Then, from the Format shape pane that appears, turn the Action
slider to On .
2. Expand the Action section. Under Type , select Bookmark .
3. Under Bookmarks , select a bookmark.

There are all sorts of interesting things you can do with object-linked bookmarking. You can create a visual table
of contents on your report page, or you can provide different views (such as visual types) of the same
information.
When you're in editing mode, press Ctrl and select the link to follow it. When you're not in editing mode, select
the object to follow the link.

Bookmark groups
When editing a report, you can create and use bookmark groups. A bookmark group is a collection of
bookmarks that you specify, which can be shown and organized as a group. You can't create groups of personal
bookmarks.
Create a bookmark group
1. Press Ctrl and select the bookmarks you want to include in the group.
2. Select the ellipsis next to your selected bookmarks, and then select Group from the menu that appears.
Power BI Desktop automatically names the group Group 1. You can select the ellipsis next to this name,
select Rename , and rename it to whatever you want.

Expanding the bookmark group's name only expands or collapses the group of bookmarks, and doesn't
represent a bookmark by itself.
Bookmark groups in View mode
When you use the View feature of bookmarks, the following details apply:
If the selected bookmark is in a group when you select View from bookmarks, only the bookmarks in
that group are shown in the viewing session.
If the selected bookmark isn't in a group, or is on the top level (such as the name of a bookmark group),
then all bookmarks for the entire report are played, including bookmarks in any group.
Ungroup bookmarks
1. Select any bookmark in a group and select the ellipsis.
2. Select Ungroup from the menu that appears.

Selecting Ungroup for any bookmark from a group removes all bookmarks from the group; it deletes
the group, but not the bookmarks themselves.
Remove a single bookmark from a group
1. Ungroup any member from that group, which deletes the entire grouping.
2. Select the members you want in the new group by pressing Ctrl and selecting each bookmark, then and
select Group again.

Limitations and considerations


In this release of bookmark features, there are a few limitations and considerations to keep in mind.
Most Power BI visuals work well with bookmarks. However, if you encounter problems with bookmarks and a
custom visual, contact the creator of that custom visual and ask them to add support for bookmarks to their
visual.
If you add a visual on a report page after creating a bookmark, the visual is displayed in its default state. That
is, if you add a slicer to a page where you previously created bookmarks, the slicer behaves in its default
state.
If you move a visual after you create a bookmark, when you select the bookmark, the visual appears where
you moved it.
Next steps
For more information about features that are similar or interact with bookmarks, see the following articles:
Use drillthrough in Power BI Desktop
Display a dashboard tile or report visual in focus mode
Use report themes in Power BI Desktop
5/19/2021 • 47 minutes to read • Edit Online

With Power BI Desktop report themes, you can apply design changes to your entire report, such as using
corporate colors, changing icon sets, or applying new default visual formatting. When you apply a report theme,
all visuals in your report use the colors and formatting from your selected theme as their defaults. A few
exceptions apply, which are described later in this article.
Report themes can be selected by navigating to the View ribbon, then selecting the drop-down arrow button in
the Themes section of the ribbon, then selecting the theme you want. Available themes are similar to themes
seen in other Microsoft products, such as Microsoft PowerPoint.

There are two types of report themes: built-in report themes and custom report theme files.
Built-in report themes provide different kinds of predefined color schemes that are installed with Power
BI Desktop. You select built-in report themes directly from the Power BI Desktop menu.
Custom report themes are created by adjusting a current theme then saving it as a custom theme, or
creating your own customize theme using a JSON file. The JSON file provides granular control over many
aspects of a report theme, as described later in this article.
Let's discuss how report themes work, then jump into how to create customized report themes.
How report themes work
To apply a report theme to a Power BI Desktop report, you can select from the following options:
Select from the available built-in report themes that are built into Power BI Desktop
Customize a theme, using the Customize theme dialog
Import a custom theme JSON file.
We'll take a look at each of these options in turn.

NOTE
Themes can only be applied when using Power BI Desktop. You cannot apply themes to existing reports within the Power
BI service.

Built-in report themes


To select from the available built-in report themes:
1. Select the Themes drop-down arrow button Switch Theme from the View ribbon.

2. Select from among the included themes from the drop-down menu that appears.
Your report theme is now applied to the report.
The following table shows the available built-in report themes.

B UILT - IN REP O RT T H EM E DEFA ULT C O LO R SEQ UEN C E

Default

Highrise

Executive

Frontier

Innovate

Bloom

Tidal
B UILT - IN REP O RT T H EM E DEFA ULT C O LO R SEQ UEN C E

Temperature

Solar

Divergent

Storm

Classic

City park

Classroom

Color blind safe

Electric

High contrast

Sunset

Twilight

3. You can also browse the collection of themes created by members of the Power BI Community, by
selecting Theme galler y from the Themes drop-down.
From the gallery, you can select a theme you like and download its associated JSON file.
To install the downloaded file, select Browse for themes from the Themes drop-down, navigate to the
location where you downloaded the JSON file, and select it to import the theme into Power BI Desktop as
a new theme.
When successful, Power BI shows a dialog that the import was successful.

Customize report themes


You can customize and standardize nearly all the elements that are listed in the Format section of the
Visualizations pane, either through customizations made directly in Power BI Desktop, or through a report
theme JSON file. The goal is to give you full control over your report's default look and feel, on a granular level.
The two ways to customize report themes are the following:
Create and customize a theme in Power BI Desktop
Create and customize a custom report theme JSON file
Let's take a look at each of these approaches, in turn, in the following sections.
Create and customize a theme in Power BI Desktop
To customize a theme directly in Power BI Desktop, you can select a theme that's close to what you like, and
make a few adjustments. First select the theme that's close (or just begin with any theme, and customize away
from there), and take the following steps:
1. From the View ribbon, select the Themes drop down button and select Customize current theme .

2. A dialog appears, where you can make all sorts of changes to the current theme, and then, can save your
settings as a new theme.
Customizable theme settings are found in the following categories, reflected in the Customize theme window:
Name and colors : Theme name and color settings include theme colors, sentiment colors, divergent colors,
and structural colors (Advanced).
Text : Text settings include font family, size, and color, which sets the primary text class defaults for labels,
titles, cards and KPIs, and tab headers.
Visuals : Visual settings include background, border, header, and tooltips.
Page : Page element settings include wallpaper and background.
Filter pane : Filter pane settings include background color, transparency, font and icon color, size, filter cards.
After you make your changes, select Apply and save to save your theme. Your theme can now be used in the
current report, and exported.
Customizing the current theme in this way makes it quick and easy to customize themes. However, you can
make finer adjustments to themes, which require modifying the theme's JSON file.

TIP
You can customize the most common report theme options by using the controls in the Customize theme dialog. For
even more control, you can optionally export a theme's JSON file and make fine-tuned adjustments by manually
modifying the settings in that file. You can rename that fine-tuned JSON file and later import it.

Import custom report theme files


You can also import a custom report theme file, by taking the following steps:
1. Select the View ribbon, then from the Themes drop down button, select Browse for themes .
A window appears that lets you browse to the location of the JSON theme file.
2. In the following image, a handful of holiday theme files are available. We'll choose a holiday theme for
March, St Patricks Day.json.

When the theme file has loaded successfully, Power BI Desktop displays a success message.
Introduction to report theme JSON files
When you open the basic JSON file mentioned in the previous section (St Patricks Day.json), it appears as
follows:

{
"name": "St Patrick's Day",
"dataColors": ["#568410", "#3A6108", "#70A322", "#915203", "#D79A12", "#bb7711", "#114400",
"#aacc66"],
"background":"#FFFFFF",
"foreground": "#3A6108",
"tableAccent": "#568410"
}

This report theme JSON file has the following lines:


name : The report theme name. This field is the only required field.
dataColors : The list of color hexadecimal codes to use for data in Power BI Desktop visuals. This list can have
as many or as few colors as you want.
background , foreground , and tableAccent (etc.): Color classes. Color classes enable you to set many
structural colors in your report at once.
You can use this JSON file as a basis to create your own custom report theme file to import. If you want to
adjust only the basic colors of your report, change the name and hex codes in the file.
In a report theme JSON file, you define only the formatting that you want to change. Whatever you don't specify
in the JSON file reverts to the Power BI Desktop default settings.
The advantages of creating a JSON file are many. For example, you can specify that all charts use a font size of
12, that certain visuals use a particular font family, or that data labels are turned off for specific chart types. By
using a JSON file, you can create a report theme file that standardizes your charts and reports, making it easy
for your organization's reports to be consistent.
For more information about the format of the JSON file, see Report theme JSON file format.

NOTE
Modifying a custom JSON report theme with the Customize theme dialog box is safe. The dialog will not modify theme
settings that it cannot control, and will update the changes made to the report theme in-place.

How report theme colors stick with your reports


When you publish your report to the Power BI service, your report theme colors stay with it. The Data colors
section of the Format panel reflects your report theme.
To view the available colors in a report theme:
1. Select a visual.
2. From the Format section of the Visualization pane, select Data colors .
3. Select the drop-down of an item to view the Theme colors information of the report theme.

In our example, after you apply the multitude of green and brown colors from the St. Patrick's Day report theme,
view the theme colors. See all that green? That's because those colors were part of the report theme that we
imported and applied.
The colors in the color palette are relative to the current theme. For example, suppose you select the third color
of the top row for a data point. Later, if you change to a different theme, that data point's color updates
automatically to the third color of the top row in the new theme, just as you'd see when changing themes in
Microsoft Office.
Setting a report themes changes the default colors used in visuals throughout the report. Power BI maintains a
list consisting of hundreds of colors, to ensure visuals have plenty of unique colors to display in a report. When
Power BI assigns colors to a visual's series, colors are selected on a first-come, first-served basis as series colors
are assigned. When you import a theme, the mapping of colors for data series is reset.
Power BI tracks the color for a dynamic series, and uses the same color for the value in other visuals. In a
dynamic series, the number of series presented in visuals may change based on measures, values, or other
aspects. For example, if you show Profit by Region in a report, the number of sales regions you have might be
five, or it might be nine. The number of regions is dynamic, so it's considered a dynamic series.
Conversely, for static series, the number of series is known. For example, Profit and Revenue revenue are static
series. In static series, Power BI assigns colors by index within the theme palettes. You can override the default
color assignment by selecting a color from the formatting pane under Data colors . You may have to change
your slicer selections to see all potential series values, and set their colors as well. If you explicitly set a color
explicitly a single visual using the Proper ties pane, the imported theme does not apply to any of those
explicitly defined colors.
To allow the theme to apply to those explicitly selected colors, use Rever t to default in the Data Colors
section the visual to which the color has been explicitly set, to undo the explicit color application and allow the
theme to apply.
Situations when report theme colors won't stick to your reports
Suppose you apply a custom color set (or individual color) to a particular data point in a visual by using the
Custom color option in the color picker. When you apply a report theme, it does not override that customized
data point color.
Or, suppose you want to manually set the color of a data point color by using the Theme colors section. When
you apply a new report theme, those colors are not updated. To get your default colors back, so they'll update
when you apply a new report theme, select Rever t to default , or select a color from the Theme colors palette
in the color picker.
Many Power BI visuals won't apply to report themes.

Custom report theme files you can use right now


Want to get started with report themes? Check out the custom report themes in the themes gallery or try the
following ready-made custom report theme JSON files, which you can download and import into your Power BI
Desktop report:
Waveform theme. This report theme was introduced in the blog post that announced the first release of
report themes. Download Waveform.json.
Color blind friendly theme. This report theme is easier to read for the visually impaired. Download
ColorblindSafe-Longer.json.

.
Power View themes, featuring Apothecary.json. Download Power View themes in a zip file.
Valentine's Day theme.

Here's the code for the Valentine's Day JSON file:

{
"name": "Valentine's Day",
"dataColors": ["#990011", "#cc1144", "#ee7799", "#eebbcc", "#cc4477", "#cc5555", "#882222",
"#A30E33"],
"background":"#FFFFFF",
"foreground": "#ee7799",
"tableAccent": "#990011"
}

Here are a few more report themes you can use as starting points:
Sunflower-twilight
Plum
Autumn
High contrast
Report themes can make your Power BI Desktop reports a colorful reflection of you, your organization, or even
the current season or holiday.

Export report themes


You can export the currently applied report theme directly from Power BI Desktop to a JSON file. After you
export a report theme, you can then re-use it in other reports. This option lets you export the JSON file for most
of the built-in themes. The only exceptions are the base themes, Classic and Default, which other themes build
upon when imported.
To export the currently applied theme from Power BI Desktop:
1. Select View and choose the Themes dropdown.

2. Near the bottom of the dropdown menu, select Save current theme .
3. From the Save As dialog box, browse to a directory in which to save the JSON file, and then select Save .

Report theme JSON file format


At its most basic level, the theme JSON file has only one required line: name .
{
"name": "Custom Theme"
}

Other than name , everything else is optional, which means you're free to only add the properties you
specifically want to format to the theme file, and continue to use Power BI's defaults for the rest.
Setting theme colors
Under name , you can add the following basic data color-related properties:
dataColors : The list of color hexadecimal codes to use to color shapes that represent data in Power BI
Desktop visuals. This list can have as many or as few colors as you want. Once all colors from this list have
been used, if the visual still needs more colors, it reverts back to using Power BI's default color palette.
good , neutral , bad : These properties set the status colors used by the waterfall chart and the KPI visual.
maximum , center , minimum , null : These colors set the various gradient colors in the conditional
formatting dialog box.
A basic theme that defines these colors might appear as follows:

{
"name": "Custom Theme",
"dataColors": [
"#118DFF",
"#12239E",
"#E66C37",
"#6B007B",
"#E044A7",
"#744EC2",
"#D9B300",
"#D64550",
"#197278",
"#1AAB40"
],
"good": "#1AAB40",
"neutral": "#D9B300",
"bad": "#D64554",
"maximum": "#118DFF",
"center": "#D9B300",
"minimum": "#DEEFFF",
"null": "#FF7F48"
}

Setting structural colors


Next, you can add various color classes, such as background and firstLevelElements . These color classes set
the structural colors for elements in the report, such as axis gridlines, highlight colors, and background colors
for visual elements.
The following table shows the six color classes you can format. The Color class names correspond to the
names in the "Advanced" subsection of the "Name and Colors" section in the Customize theme dialog box.

C O LO R C L A SS W H AT IT F O RM AT S
C O LO R C L A SS W H AT IT F O RM AT S

firstLevelElements Labels background color (when outside data points)


foreground (deprecated) Trend line color
Textbox default color
Table and matrix values and totals font colors Data bars axis
color
Card data labels
Gauge callout value color
KPI goal color
KPI text color
Slicer item color (when in focus mode)
Slicer dropdown item font color
Slicer numeric input font color
Slicer header font color
Scatter chart ratio line color
Line chart forecast line color
Map leader line color
Filter pane and card text color
Modern visual tooltips text and icon color (Preview)

secondLevelElements "light" secondary text classes


foregroundNeutralSecondar y (deprecated) Label colors
Legend label color
Axis label color
Table and matrix header font color
Gauge target and target leader line color
KPI trend axis color
Slicer slider color
Slicer item font color
Slicer outline color
Line chart hover color
Multi-row card title color
Ribbon chart stroke color
Shape map border color
Button text font color
Button icon line color
Button outline color

thirdLevelElements Axis gridline color


backgroundLight (deprecated) Table and matrix grid color
Slicer header background color (when in focus mode)
Multi-row card outline color
Shape fill color
Gauge arc background color
Applied filter card background color
When background = FFFFFF:
Disabled button fill color
Disabled button outline color

four thLevelElements legend dimmed color


foregroundNeutralTer tiar y (deprecated) Card category label color
Multi-row card category labels color
Mulit-row card bar color
Funnel chart conversion rate stroke color
Disabled button text font color
Disabled button icon line color
C O LO R C L A SS W H AT IT F O RM AT S

background Labels background color (when inside data points)


Slicer dropdown items background color
Donut chart stroke color
Treemap stroke color
Combo chart background color
Button fill color
Filter pane and available filter card background color
Modern visual tooltips background color (Preview)

secondar yBackground Table and matrix grid outline color


backgroundNeutral (deprecated) Shape map default color
Ribbon chart ribbon fill color (when match series option is
turned off)
When background != FFFFFF:
Disabled button fill color
Disabled button outline color
Modern visual tooltips separator line and hover color
(Preview)

tableAccent Overrides table and matrix grid outline color when present

Here's a sample theme that sets the color classes:

{
"name": "Custom Theme",
"firstLevelElements": "#252423",
"secondLevelElements": "#605E5C",
"thirdLevelElements": "#F3F2F1",
"fourthLevelElements": "#B3B0AD",
"background": "#FFFFFF",
"secondaryBackground": "#C8C6C4",
"tableAccent": "#118DFF"
}

TIP
If you are authoring a "dark theme" or other colorful theme that diverges from the typical "black" firstLevelElements on
"white" background style, be sure to also set the values for other structural colors and the primary text class colors. This
will ensure that (for example) data labels on charts with a label background will match the anticipated style and be
readable, as well as ensuring axis gridlines are visible.

Setting formatted text defaults


Next up, you can add text classes to your JSON file. Text classes are similar to color classes, but are designed to
allow you to update the font size, color, and family for groups of text across your report.
There are 12 text classes, but you need to set only four classes, called primary classes, to change all of the text
formatting in your report. These four primary classes can be set in the Customize theme dialog box under the
"Text" section: "General" corresponds to label , "Title" to title , "Cards and KPIs" to callout , and "Tab headers" to
header .
Other text classes, considered secondary classes, automatically derive their properties from their associated
primary classes. Often, a secondary class selects a lighter shade of text color, or a percentage large or smaller
text size compared to the primary class.
Take the label class as an example. The default formatting for the label class is Segoe UI, #252423 (a dark grey
color), and 12 point. This class is used to format the values in the table and matrix. Typically, the totals in a table
or matrix have similar formatting, but are bolded with the bold label class so they stand out. However, you
don't need to specify that class in the theme JSON; Power BI does so automatically. Later, if you decide to specify
labels that have a 14-point font in your theme, you don't need to also update the bold label class, because it
inherits text formatting from the label class.
The following table shows the following information:
Each of the four primary text classes, what it formats, and its default settings
Each secondary class, what it formats, and its default setting that's unique compared to the primary class

SEC O N DA RY A SSO C IAT ED VISUA L


P RIM A RY C L A SS C L A SSES JSO N C L A SS N A M E DEFA ULT SET T IN GS O B JEC T S

Callout N/A callout DIN Card data labels


#252423 KPI indicators
45pt

Header N/A header Segoe UI Semibold Key influencers


#252423 headers
12pt

Title title DIN Category axis title


#252423 Value axis title
12pt Multi-row card title *
Slicer header

- Large title largeTitle 14pt Visual title

Label label Segoe UI Table and matrix


#252423 column headers
10pt Matrix row headers
Table and matrix grid
Table and matrix
values

- Semibold semiboldLabel Segoe UI Semibold Key influencers


profile text

- Large largeLabel 12pt Multi-row card data


labels

- Small smallLabel 9pt Reference line labels *


Slicer date range
labels
Slicer numeric input
text style
Slicer search box
Key influencers
influencer text
SEC O N DA RY A SSO C IAT ED VISUA L
P RIM A RY C L A SS C L A SSES JSO N C L A SS N A M E DEFA ULT SET T IN GS O B JEC T S

- Light lightLabel #605E5C Legend text


Button text
Category Axis labels
Funnel chart data
labels
Funnel chart
conversion rate labels
Gauge target
Scatter chart
category label
Slicer items

- Bold boldLabel Segoe UI Bold Matrix subtotals


Matrix grand totals
Table totals

- Large and Light largeLightLabel #605E5C Card category labels


12pt Gauge labels
Multi-row card
category labels

- Small and Light smallLightLabel #605E5C Data labels


9pt Value axis labels

* Starred items are also colored based on the first data color of the report theme.

TIP
The light variations of text classes take their light color from the structural colors defined above. If you are authoring a
"dark theme," be sure to also set the colors "firstLevelElements" (matching the primary text color), "secondLevelElements"
(matching the anticipated "light" color for text), and "background" (with sufficient contrast to both first- and second-level
elements colors).

Here's an example theme that sets only the primary text classes:
{
"name": "Custom Theme",
"textClasses": {
"callout": {
"fontSize": 45,
"fontFace": "DIN",
"color": "#252423"
},
"title": {
"fontSize": 12,
"fontFace": "DIN",
"color": "#252423"
},
"header": {
"fontSize": 12,
"fontFace": "Segoe UI Semibold",
"color": "#252423"
},
"label": {
"fontSize": 10,
"fontFace": "Segoe UI",
"color": "#252423"
}
}
}

Because secondary classes inherit from the primary classes, you don't need to set them in your theme file.
However, if you don't like the inheritance rules (for example, if you don't want your totals to be a bolded version
of the values in a table), you can explicitly format the secondary classes in the theme file, just like you can format
the primary classes.
Setting visual property defaults ( visualStyles )
Lastly, to create an extended-format JSON file, with more detailed and granular control over all visual formatting
in a report, add a visualStyles section to the JSON file to nest the formatting specifics. Here's a templated
example of the visualStyles section:

"visualStyles": {
"<visualName>": {
"<styleName>": {
"<cardName>": [{
"<propertyName>": <propertyValue>
}]
}
}
}

For the visualName and cardName sections, use a specific visual and card name. Currently, the styleName is
always an asterisk (*), but in a future release you'll be able to create different styles for your visuals and give
them names (similar to the table and matrix style feature). proper tyName is the name of the formatting option
and proper tyValue is the value for that formatting option.
For visualName and cardName , use an asterisk in quotes if you want that setting to apply to all visuals or
cards that have a property. If you use an asterisk for both the visual and card name, you're effectively applying a
setting globally in your report, such as a font size or specific font family for all text across all visuals.
Here's an example that sets a few properties through the visual styles:
{
"name":"Custom Theme",
"visualStyles":{
"*": {
"*": {
"*": [{
"wordWrap": true
}],
"categoryAxis": [{
"gridlineStyle": "dotted"
}],
"filterCard": [
{
"$id": "Applied",
"foregroundColor": {"solid": {"color": "#252423" } }
},
{
"$id":"Available",
"border": true
}
]
}
},
"scatterChart": {
"*": {
"bubbles": [{
"bubbleSize": -10
}]
}
}
}
}

This example makes the following settings:


Turns on word wrap everywhere
Sets the gridline style to dotted for all visuals with a category axis
Sets some formatting for the available and applied filter cards (note the format using "$id" to set the
different versions of the filter cards)
Sets the bubble size for scatter charts to -10.

NOTE
You need only specify the formatting elements you want to adjust. Any formatting elements that aren't included in the
JSON file revert to their default values and settings.

visualStyles definition list


The tables in this section define visual names (visualName ), card names (cardName ), property names
(proper tyName ), and the enumerations that are necessary to create your JSON file.

VISUA L N A M E VA L UES

areaChart

barChart

basicShape
VISUA L N A M E VA L UES

card

clusteredBarChart

clusteredColumnChart

columnChart

comboChart

donutChart

filledMap

funnel

gauge

hundredPercentStackedBarChart

hundredPercentStackedColumnChart

image

kpi

lineChart

lineClusteredColumnComboChart

lineStackedColumnComboChart

map

multiRowCard

pieChart

pivotTable

ribbonChart

scatterChart

shapeMap

slicer

stackedAreaChart
VISUA L N A M E VA L UES

tableEx

treemap

waterfallChart

The following table defines cardName values. The first value in each cell is the JSON file term. The second value
is the name of the card as seen in the Power BI Desktop user interface.

C A RDN A M E VA L UES

axis: Gauge axis

breakdown: Breakdown

bubbles: Bubbles

calloutValue: Callout Value

card: Card

cardTitle: Card Title

categoryAxis: X-Axis

categoryLabels: Category labels

columnFormatting: Field formatting

columnHeaders: Column headers

dataLabels: Data labels

fill: Fill

fillPoint: Fill point

forecast: Forecast

general: General

goals: Goals

grid: Grid

header: Header

imageScaling: Scaling

indicator: Indicator
C A RDN A M E VA L UES

items: Items

labels: Data labels

legend: Legend

lineStyles: Shapes

mapControls: Map controls

mapStyles: Map styles

numericInputStyle: Numeric inputs

percentBarLabel: Conversion Rate Label

plotArea: Plot Area

plotAreaShading: Symmetry shading

ratioLine: Ratio line

referenceLine: Constant Line

ribbonChart: Ribbons

rotation: Rotation

rowHeaders: Row headers

selection: Selection Controls

sentimentColors: Sentiment colors

shape: Shape

slider: Slider

status: Color coding

subTotals: Subtotals

target: Target

total: Grand total

trend: Trend Line

trendline: Trend axis


C A RDN A M E VA L UES

valueAxis: Y-Axis

values: Values

wordWrap: Word wrap

xAxisReferenceLine: X-Axis Constant Line

y1AxisReferenceLine: Constant Line

zoom: Zoom

Properties within each card


The following section defines the properties within each card. The card name is followed by each property
name. For each property: the name you see if the formatting pane is displayed, a description of what the
formatting option does, and the type of the formatting option. This approach lets you know what kind of values
you can use in your theme file.
When you're using dateTime , the date must be an ISO date in single quotes, with datetime at the beginning.
See the following example:
"datetime'2011-10-05T14:48:00.000Z'"
Booleans are either true or false. Strings must be in double quotes, as in "this is a string". Numbers are just the
value itself, not in quotes.
Colors use the following format, where your custom hexadecimal code replaces "FFFFFF" is in the following
example:

{ "solid": { "color": "#FFFFFF" } }

An enumeration, most commonly used for drop-down formatting options, means it can be set to any of the
options seen in the pane, for example "RightCenter" for legend position or "Data value, percent of total" for pie
data label. The enumeration options are shown below the property list.

{
"general":{
"responsive": {
"type": [
"bool"
],
"displayName": [
"(Preview) Responsive"
],
"description": [
"The visual will adapt to size changes"
]
},
"legend": {
"show": {
"type": [
"bool"
],
"displayName": [
"Show"
]
},
"position": {
"type": [
"enumeration"
],
"displayName": [
"Position"
],
"description": [
"Select the location for the legend"
]
},
"showTitle": {
"type": [
"bool"
],
"displayName": [
"Title"
],
"description": [
"Display a title for legend symbols"
]
},
"labelColor": {
"type": [
"fill"
],
"displayName": [
"Color"
]
},
"fontFamily": {
"type": [
"formatting"
],
"displayName": [
"Font family"
]
},
"fontSize": {
"type": [
"formatting"
],
"displayName": [
"Text Size"
]
}
},
"categoryAxis": {
"show": {
"type": [
"bool"
],
"displayName": [
"Show"
]
},
"axisScale": {
"type": [
"enumeration"
],
"displayName": [
"Scale type"
]
},
"start": {
"type": [
"numeric",
"dateTime"
],
"displayName": [
"Start"
],
"description": [
"Enter a starting value (optional)"
]
},
"end": {
"type": [
"numeric",
"dateTime"
],
"displayName": [
"End"
],
"description": [
"Enter an ending value (optional)"
]
},
"axisType": {
"type": [
"enumeration"
],
"displayName": [
"Type"
]
},
"showAxisTitle": {
"type": [
"bool"
],
"displayName": [
"Title"
],
"description": [
"Title for the X-axis",
"Title for the Y-axis"
]
},
"axisStyle": {
"type": [
"enumeration"
],
"displayName": [
"Style"
]
},
"labelColor": {
"type": [
"fill"
],
"displayName": [
"Color"
]
},
"fontFamily": {
"type": [
"formatting"
],
"displayName": [
"Font family"
]
},
"fontSize": {
"type": [
"formatting"
],
"displayName": [
"displayName": [
"Text Size"
]
},
"labelDisplayUnits": {
"type": [
"formatting"
],
"displayName": [
"Display units"
],
"description": [
"Select the units (millions, billions, etc.)"
]
},
"labelPrecision": {
"type": [
"numeric"
],
"displayName": [
"Value decimal places"
],
"description": [
"Select the number of decimal places to display for the values"
]
},
"concatenateLabels": {
"type": [
"bool"
],
"displayName": [
"Concatenate labels"
],
"description": [
"Always concatenate levels of the hierarchy instead of drawing the hierarchy."
]
},
"preferredCategoryWidth": {
"type": [
"numeric"
],
"displayName": [
"Minimum category width"
]
},
"titleColor": {
"type": [
"fill"
],
"displayName": [
"Title color"
]
},
"titleFontFamily": {
"type": [
"formatting"
],
"displayName": [
"Font family"
]
},
"titleFontSize": {
"type": [
"formatting"
],
"displayName": [
"Title text size"
]
},
"position": {
"position": {
"type": [
"enumeration"
],
"displayName": [
"Position"
],
"description": [
"Select left or right"
]
},
"color": {
"type": [
"fill"
],
"displayName": [
"Color"
],
"description": [
"Select color for data labels"
]
},
"duration": {
"type": [
"numeric"
]
}
},
"valueAxis": {
"show": {
"type": [
"bool"
],
"displayName": [
"Show"
]
},
"position": {
"type": [
"enumeration"
],
"displayName": [
"Position"
],
"description": [
"Select left or right"
]
},
"axisScale": {
"type": [
"enumeration"
],
"displayName": [
"Scale type"
]
},
"start": {
"type": [
"numeric",
"dateTime"
],
"displayName": [
"Start"
],
"description": [
"Enter a starting value (optional)"
]
},
"end": {
"type": [
"type": [
"numeric",
"dateTime"
],
"displayName": [
"End"
],
"description": [
"Enter an ending value (optional)"
]
},
"showAxisTitle": {
"type": [
"bool"
],
"displayName": [
"Title"
],
"description": [
"Title for the Y-axis",
"Title for the X-axis"
]
},
"axisStyle": {
"type": [
"enumeration"
],
"displayName": [
"Style"
]
},
"labelColor": {
"type": [
"fill"
],
"displayName": [
"Color"
]
},
"fontFamily": {
"type": [
"formatting"
],
"displayName": [
"Font family"
]
},
"fontSize": {
"type": [
"formatting"
],
"displayName": [
"Text Size"
]
},
"labelDisplayUnits": {
"type": [
"formatting"
],
"displayName": [
"Display units"
],
"description": [
"Select the units (millions, billions, etc.)"
]
},
"labelPrecision": {
"type": [
"numeric"
],
],
"displayName": [
"Value decimal places"
],
"description": [
"Select the number of decimal places to display for the values"
]
},
"titleColor": {
"type": [
"fill"
],
"displayName": [
"Title color"
]
},
"titleFontFamily": {
"type": [
"formatting"
],
"displayName": [
"Font family"
]
},
"titleFontSize": {
"type": [
"formatting"
],
"displayName": [
"Title text size"
]
},
"axisLabel": {
"type": [
"none"
],
"displayName": [
"Y-Axis (Column)"
]
},
"secShow": {
"type": [
"bool"
],
"displayName": [
"Show secondary"
]
},
"alignZeros": {
"type": [
"bool"
],
"displayName": [
"Align zeros"
],
"description": [
"Align the zero tick marks for both value axes"
]
},
"secAxisLabel": {
"type": [
"none"
],
"displayName": [
"Y-Axis (Line)"
]
},
"secPosition": {
"type": [
"enumeration"
"enumeration"
],
"displayName": [
"Position"
],
"description": [
"Select left or right"
]
},
"secAxisScale": {
"type": [
"enumeration"
],
"displayName": [
"Scale type"
]
},
"secStart": {
"type": [
"numeric"
],
"displayName": [
"Start"
],
"description": [
"Enter a starting value (optional)"
]
},
"secEnd": {
"type": [
"numeric"
],
"displayName": [
"End"
],
"description": [
"Enter an ending value (optional)"
]
},
"secShowAxisTitle": {
"type": [
"bool"
],
"displayName": [
"Title"
],
"description": [
"Title for the Y-axis"
]
},
"secAxisStyle": {
"type": [
"enumeration"
],
"displayName": [
"Style"
]
},
"secLabelColor": {
"type": [
"fill"
],
"displayName": [
"Color"
]
},
"secFontFamily": {
"type": [
"formatting"
],
"displayName": [
"Font family"
]
},
"secFontSize": {
"type": [
"formatting"
],
"displayName": [
"Text Size"
]
},
"secLabelDisplayUnits": {
"type": [
"formatting"
],
"displayName": [
"Display units"
],
"description": [
"Select the units (millions, billions, etc.)"
]
},
"secLabelPrecision": {
"type": [
"numeric"
],
"displayName": [
"Value decimal places"
],
"description": [
"Select the number of decimal places to display for the values"
]
},
"secTitleColor": {
"type": [
"fill"
],
"displayName": [
"Title color"
]
},
"secTitleFontFamily": {
"type": [
"formatting"
],
"displayName": [
"Font family"
]
},
"secTitleFontSize": {
"type": [
"formatting"
],
"displayName": [
"Title text size"
]
}
},
"dataPoint": {
"defaultColor": {
"type": [
"fill"
],
"displayName": [
"Default color",
"Default Column Color"
]
]
},
"fill": {
"type": [
"fill"
],
"displayName": [
"Fill"
]
},
"defaultCategoryColor": {
"type": [
"fill"
],
"displayName": [
"Default color",
"Default Column Color"
]
},
"showAllDataPoints": {
"type": [
"bool"
],
"displayName": [
"Show all"
]
}
},
"labels": {
"show": {
"type": [
"bool"
],
"displayName": [
"Show"
]
},
"showSeries": {
"type": [
"bool"
],
"displayName": [
"Show"
]
},
"color": {
"type": [
"fill"
],
"displayName": [
"Color"
],
"description": [
"Select color for data labels"
]
},
"labelDisplayUnits": {
"type": [
"formatting"
],
"displayName": [
"Display units"
],
"description": [
"Select the units (millions, billions, etc.)"
]
},
"labelPrecision": {
"type": [
"numeric"
"numeric"
],
"displayName": [
"Value decimal places"
],
"description": [
"Select the number of decimal places to display for the values"
]
},
"showAll": {
"type": [
"bool"
],
"displayName": [
"Customize series"
]
},
"fontSize": {
"type": [
"formatting"
],
"displayName": [
"Text Size"
]
},
"fontFamily": {
"type": [
"formatting"
],
"displayName": [
"Font family"
]
},
"labelDensity": {
"type": [
"formatting"
],
"displayName": [
"Label density"
]
},
"labelOrientation": {
"type": [
"enumeration"
],
"displayName": [
"Orientation"
]
},
"labelPosition": {
"type": [
"enumeration"
],
"displayName": [
"Position"
]
},
"percentageLabelPrecision": {
"type": [
"numeric"
],
"displayName": [
"% decimal places"
],
"description": [
"Select the number of decimal places to display for the percentages"
]
},
"labelStyle": {
"type": [
"type": [
"enumeration"
],
"displayName": [
"Label style"
]
}
},
"lineStyles": {
"strokeWidth": {
"type": [
"numeric"
],
"displayName": [
"Stroke width"
]
},
"strokeLineJoin": {
"type": [
"enumeration"
],
"displayName": [
"Join type"
]
},
"lineStyle": {
"type": [
"enumeration"
],
"displayName": [
"Line style"
]
},
"showMarker": {
"type": [
"bool"
],
"displayName": [
"Show marker"
]
},
"markerShape": {
"type": [
"enumeration"
],
"displayName": [
"Marker shape"
]
},
"markerSize": {
"type": [
"numeric"
],
"displayName": [
"Marker size"
]
},
"markerColor": {
"type": [
"fill"
],
"displayName": [
"Marker color"
]
},
"showSeries": {
"type": [
"bool"
],
"displayName": [
"displayName": [
"Customize series",
"Show"
]
},
"shadeArea": {
"type": [
"bool"
],
"displayName": [
"Shade area"
]
}
},
"plotArea": {
"transparency": {
"type": [
"numeric"
],
"displayName": [
"Transparency"
],
"description": [
"Set transparency for background color"
]
}
},
"trend": {
"show": {
"type": [
"bool"
],
"displayName": [
"Show"
]
},
"displayName": {
"type": [
"text"
],
"displayName": [
"Name"
],
"description": [
"Set trend line name"
]
},
"lineColor": {
"type": [
"fill"
],
"displayName": [
"Color"
],
"description": [
"Set trend line color"
]
},
"transparency": {
"type": [
"numeric"
],
"displayName": [
"Transparency"
],
"description": [
"Set transparency for trend line color"
]
},
"style": {
"style": {
"type": [
"enumeration"
],
"displayName": [
"Style"
],
"description": [
"Set trend line style"
]
},
"combineSeries": {
"type": [
"bool"
],
"displayName": [
"Combine Series"
],
"description": [
"Show one trend line per series or combine"
]
}
},
"y1AxisReferenceLine": {
"show": {
"type": [
"bool"
],
"displayName": [
"Show"
]
},
"value": {
"type": [
"numeric"
],
"displayName": [
"Value"
],
"description": [
"Set reference line numeric value"
]
},
"lineColor": {
"type": [
"fill"
],
"displayName": [
"Color"
],
"description": [
"Set reference line color"
]
},
"transparency": {
"type": [
"numeric"
],
"displayName": [
"Transparency"
],
"description": [
"Set transparency for reference line color"
]
},
"style": {
"type": [
"enumeration"
],
"displayName": [
"Line style"
]
},
"position": {
"type": [
"enumeration"
],
"displayName": [
"Position"
],
"description": [
"Arrange relative to chart data points"
]
},
"dataLabelShow": {
"type": [
"bool"
],
"displayName": [
"Data label"
],
"description": [
"Display a data label for the reference line"
]
},
"dataLabelColor": {
"type": [
"fill"
],
"displayName": [
"Color"
],
"description": [
"Set the reference line data label color"
]
},
"dataLabelDecimalPoints": {
"type": [
"numeric"
],
"displayName": [
"Decimal Places"
]
},
"dataLabelHorizontalPosition": {
"type": [
"enumeration"
],
"displayName": [
"Horizontal Position"
],
"description": [
"Set the horizontal position for the reference line data label"
]
},
"dataLabelVerticalPosition": {
"type": [
"enumeration"
],
"displayName": [
"Vertical Position"
],
"description": [
"Set the vertical position for the reference line data label"
]
},
"dataLabelDisplayUnits": {
"type": [
"formatting"
],
"displayName": [
"Display units"
],
"description": [
"Select the units (millions, billions, etc.)"
]
}
},
"referenceLine": {
"show": {
"type": [
"bool"
],
"displayName": [
"Show"
]
},
"displayName": {
"type": [
"text"
],
"displayName": [
"Name"
],
"description": [
"Set reference line name"
]
},
"value": {
"type": [
"numeric"
],
"displayName": [
"Value"
],
"description": [
"Set reference line numeric value"
]
},
"lineColor": {
"type": [
"fill"
],
"displayName": [
"Color"
],
"description": [
"Set reference line color"
]
},
"transparency": {
"type": [
"numeric"
],
"displayName": [
"Transparency"
],
"description": [
"Set transparency for reference line color"
]
},
"style": {
"type": [
"enumeration"
],
"displayName": [
"Line style"
"Line style"
]
},
"position": {
"type": [
"enumeration"
],
"displayName": [
"Position"
],
"description": [
"Arrange relative to chart data points"
]
},
"dataLabelShow": {
"type": [
"bool"
],
"displayName": [
"Data label"
],
"description": [
"Display a data label for the reference line"
]
},
"dataLabelColor": {
"type": [
"fill"
],
"displayName": [
"Color"
],
"description": [
"Set the reference line data label color"
]
},
"dataLabelDecimalPoints": {
"type": [
"numeric"
],
"displayName": [
"Decimal Places"
]
},
"dataLabelHorizontalPosition": {
"type": [
"enumeration"
],
"displayName": [
"Horizontal Position"
],
"description": [
"Set the horizontal position for the reference line data label"
]
},
"dataLabelVerticalPosition": {
"type": [
"enumeration"
],
"displayName": [
"Vertical Position"
],
"description": [
"Set the vertical position for the reference line data label"
]
},
"dataLabelDisplayUnits": {
"type": [
"formatting"
],
],
"displayName": [
"Display units"
],
"description": [
"Select the units (millions, billions, etc.)"
]
}
},
"line": {
"lineColor": {
"type": [
"fill"
],
"displayName": [
"Line color"
]
},
"transparency": {
"type": [
"numeric"
],
"displayName": [
"Transparency"
],
"description": [
"Set transparency for background color"
]
},
"weight": {
"type": [
"numeric"
],
"displayName": [
"Weight"
]
},
"roundEdge": {
"type": [
"numeric"
],
"displayName": [
"Round edges"
]
}
},
"fill": {
"show": {
"type": [
"bool"
],
"displayName": [
"Show"
]
},
"fillColor": {
"type": [
"fill"
],
"displayName": [
"Fill color"
]
},
"transparency": {
"type": [
"numeric"
],
"displayName": [
"Transparency"
],
],
"description": [
"Set transparency for background color"
]
}
},
"rotation": {
"angle": {
"type": [
"numeric"
],
"displayName": [
"Rotation"
]
}
},
"categoryLabels": {
"show": {
"type": [
"bool"
],
"displayName": [
"Show"
]
},
"color": {
"type": [
"fill"
],
"displayName": [
"Color"
],
"description": [
"Select color for data labels"
]
},
"fontSize": {
"type": [
"formatting"
],
"displayName": [
"Text Size"
]
},
"fontFamily": {
"type": [
"formatting"
],
"displayName": [
"Font family"
]
}
},
"wordWrap": {
"show": {
"type": [
"bool"
],
"displayName": [
"Show"
]
}
},
"dataLabels": {
"color": {
"type": [
"fill"
],
"displayName": [
"Color"
"Color"
],
"description": [
"Select color for data labels"
]
},
"fontSize": {
"type": [
"formatting"
],
"displayName": [
"Text Size"
]
},
"fontFamily": {
"type": [
"formatting"
],
"displayName": [
"Font family"
]
}
},
"cardTitle": {
"color": {
"type": [
"fill"
],
"displayName": [
"Color"
],
"description": [
"Select color for data labels"
]
},
"fontSize": {
"type": [
"formatting"
],
"displayName": [
"Text Size"
]
},
"fontFamily": {
"type": [
"formatting"
],
"displayName": [
"Font family"
]
}
},
"card": {
"outline": {
"type": [
"enumeration"
],
"displayName": [
"Outline"
]
},
"outlineColor": {
"type": [
"fill"
],
"displayName": [
"Outline color"
],
"description": [
"Color of the outline"
]
},
"outlineWeight": {
"type": [
"numeric"
],
"displayName": [
"Outline weight"
],
"description": [
"Thickness of the outline in pixels"
]
},
"barShow": {
"type": [
"bool"
],
"displayName": [
"Show bar"
],
"description": [
"Display a bar to the left side of the card as an accent"
]
},
"barColor": {
"type": [
"fill"
],
"displayName": [
"Bar color"
]
},
"barWeight": {
"type": [
"numeric"
],
"displayName": [
"Bar thickness"
],
"description": [
"Thickness of the bar in pixels"
]
},
"cardPadding": {
"type": [
"numeric"
],
"displayName": [
"Padding"
],
"description": [
"Background"
]
},
"cardBackground": {
"type": [
"fill"
],
"displayName": [
"Background"
]
}
},
"percentBarLabel": {
"show": {
"type": [
"bool"
],
"displayName": [
"Show"
]
},
"color": {
"type": [
"fill"
],
"displayName": [
"Color"
],
"description": [
"Select color for data labels"
]
},
"fontSize": {
"type": [
"formatting"
],
"displayName": [
"Text Size"
]
},
"fontFamily": {
"type": [
"formatting"
],
"displayName": [
"Font family"
]
}
},
"axis": {
"min": {
"type": [
"numeric"
],
"displayName": [
"Min"
]
},
"max": {
"type": [
"numeric"
],
"displayName": [
"Max"
]
},
"target": {
"type": [
"numeric"
],
"displayName": [
"Target"
]
}
},
"target": {
"show": {
"type": [
"bool"
],
"displayName": [
"Show"
]
},
"color": {
"type": [
"type": [
"fill"
],
"displayName": [
"Color"
],
"description": [
"Select color for data labels"
]
},
"labelDisplayUnits": {
"type": [
"formatting"
],
"displayName": [
"Display units"
],
"description": [
"Select the units (millions, billions, etc.)"
]
},
"labelPrecision": {
"type": [
"numeric"
],
"displayName": [
"Value decimal places"
],
"description": [
"Select the number of decimal places to display for the values"
]
},
"fontSize": {
"type": [
"formatting"
],
"displayName": [
"Text Size"
]
},
"fontFamily": {
"type": [
"formatting"
],
"displayName": [
"Font family"
]
}
},
"calloutValue": {
"show": {
"type": [
"bool"
],
"displayName": [
"Show"
]
},
"color": {
"type": [
"fill"
],
"displayName": [
"Color"
],
"description": [
"Select color for data labels"
]
},
"labelDisplayUnits": {
"labelDisplayUnits": {
"type": [
"formatting"
],
"displayName": [
"Display units"
],
"description": [
"Select the units (millions, billions, etc.)"
]
},
"labelPrecision": {
"type": [
"numeric"
],
"displayName": [
"Value decimal places"
],
"description": [
"Select the number of decimal places to display for the values"
]
}
},
"forecast": {
"show": {
"type": [
"bool"
],
"displayName": [
"Show"
]
},
"displayName": {
"type": [
"text"
],
"displayName": [
"Name"
],
"description": [
"Set forecast name"
]
},
"confidenceBandStyle": {
"type": [
"enumeration"
],
"displayName": [
"Confidence band style"
],
"description": [
"Set forecast confidence band style"
]
},
"lineColor": {
"type": [
"fill"
],
"displayName": [
"Color"
],
"description": [
"Set forecast line color"
]
},
"transparency": {
"type": [
"numeric"
],
"displayName": [
"displayName": [
"Transparency"
],
"description": [
"Set transparency for background color"
]
},
"style": {
"type": [
"enumeration"
],
"displayName": [
"Line style"
]
},
"transform": {
"type": [
"queryTransform"
]
}
},
"bubbles": {
"bubbleSize": {
"type": [
"formatting"
],
"displayName": [
"Size"
]
}
},
"mapControls": {
"autoZoom": {
"type": [
"bool"
],
"displayName": [
"Auto zoom"
]
},
"zoomLevel": {
"type": [
"numeric"
]
},
"centerLatitude": {
"type": [
"numeric"
]
},
"centerLongitude": {
"type": [
"numeric"
]
}
},
"mapStyles": {
"mapTheme": {
"type": [
"enumeration"
],
"displayName": [
"Theme"
]
}
},
"shape": {
"map": {
"type": [
"geoJson"
"geoJson"
]
},
"projectionEnum": {
"type": [
"enumeration"
],
"displayName": [
"Projection"
],
"description": [
"Projection"
]
}
},
"zoom": {
"autoZoom": {
"type": [
"bool"
],
"displayName": [
"Auto zoom"
],
"description": [
"Zoom in on shapes with available data"
]
},
"selectionZoom": {
"type": [
"bool"
],
"displayName": [
"Selection zoom"
],
"description": [
"Zoom in on selected shapes"
]
},
"manualZoom": {
"type": [
"bool"
],
"displayName": [
"Manual zoom"
],
"description": [
"Allow user to zoom and pan"
]
}
},
"xAxisReferenceLine": {
"show": {
"type": [
"bool"
],
"displayName": [
"Show"
]
},
"value": {
"type": [
"numeric"
],
"displayName": [
"Value"
],
"description": [
"Set reference line numeric value"
]
},
},
"lineColor": {
"type": [
"fill"
],
"displayName": [
"Color"
],
"description": [
"Set reference line color"
]
},
"transparency": {
"type": [
"numeric"
],
"displayName": [
"Transparency"
],
"description": [
"Set transparency for reference line color"
]
},
"style": {
"type": [
"enumeration"
],
"displayName": [
"Line style"
]
},
"position": {
"type": [
"enumeration"
],
"displayName": [
"Position"
],
"description": [
"Arrange relative to chart data points"
]
},
"dataLabelShow": {
"type": [
"bool"
],
"displayName": [
"Data label"
],
"description": [
"Display a data label for the reference line"
]
},
"dataLabelColor": {
"type": [
"fill"
],
"displayName": [
"Color"
],
"description": [
"Set the reference line data label color"
]
},
"dataLabelDecimalPoints": {
"type": [
"numeric"
],
"displayName": [
"Decimal Places"
]
},
"dataLabelHorizontalPosition": {
"type": [
"enumeration"
],
"displayName": [
"Horizontal Position"
],
"description": [
"Set the horizontal position for the reference line data label"
]
},
"dataLabelVerticalPosition": {
"type": [
"enumeration"
],
"displayName": [
"Vertical Position"
],
"description": [
"Set the vertical position for the reference line data label"
]
},
"dataLabelDisplayUnits": {
"type": [
"formatting"
],
"displayName": [
"Display units"
],
"description": [
"Select the units (millions, billions, etc.)"
]
}
},
"fillPoint": {
"show": {
"type": [
"bool"
],
"displayName": [
"Show"
]
}
},
"colorByCategory": {
"show": {
"type": [
"bool"
],
"displayName": [
"Show"
]
}
},
"plotAreaShading": {
"show": {
"type": [
"bool"
],
"displayName": [
"Show"
]
},
"upperShadingColor": {
"type": [
"fill"
"fill"
],
"displayName": [
"Upper shading"
],
"description": [
"Shading color of the upper region"
]
},
"lowerShadingColor": {
"type": [
"fill"
],
"displayName": [
"Lower shading"
],
"description": [
"Shading color of the lower region"
]
},
"transparency": {
"type": [
"numeric"
],
"displayName": [
"Transparency"
],
"description": [
"Set transparency for background color"
]
}
},
"ratioLine": {
"show": {
"type": [
"bool"
],
"displayName": [
"Show"
]
},
"lineColor": {
"type": [
"fill"
],
"displayName": [
"Color"
],
"description": [
"Set reference line color"
]
},
"transparency": {
"type": [
"numeric"
],
"displayName": [
"Transparency"
],
"description": [
"Set transparency for line color"
]
},
"style": {
"type": [
"enumeration"
],
"displayName": [
"Line style"
]
]
}
},
"grid": {
"outlineColor": {
"type": [
"fill"
],
"displayName": [
"Outline color"
],
"description": [
"Color of the outline"
]
},
"outlineWeight": {
"type": [
"numeric"
],
"displayName": [
"Outline weight"
],
"description": [
"Thickness of the outline in pixels"
]
},
"gridVertical": {
"type": [
"bool"
],
"displayName": [
"Vert grid"
],
"description": [
"Show/Hide the vertical gridlines"
]
},
"gridVerticalColor": {
"type": [
"fill"
],
"displayName": [
"Vert grid color"
],
"description": [
"Color for the vertical gridlines"
]
},
"gridVerticalWeight": {
"type": [
"numeric"
],
"displayName": [
"Vert grid thickness"
],
"description": [
"Thickness of the vertical gridlines in pixels"
]
},
"gridHorizontal": {
"type": [
"bool"
],
"displayName": [
"Horiz grid"
],
"description": [
"Show/Hide the horizontal gridlines"
]
},
},
"gridHorizontalColor": {
"type": [
"fill"
],
"displayName": [
"Horiz grid color"
],
"description": [
"Color for the horizontal gridlines"
]
},
"gridHorizontalWeight": {
"type": [
"numeric"
],
"displayName": [
"Horiz grid thickness"
],
"description": [
"Thickness of the horizontal gridlines in pixels"
]
},
"rowPadding": {
"type": [
"numeric"
],
"displayName": [
"Row padding"
],
"description": [
"Padding in pixels applied to top and bottom of every row"
]
},
"imageHeight": {
"type": [
"numeric"
],
"displayName": [
"Image height"
],
"description": [
"The height of images in pixels"
]
},
"textSize": {
"type": [
"numeric"
],
"displayName": [
"Text Size"
]
}
},
"columnHeaders": {
"outline": {
"type": [
"enumeration"
],
"displayName": [
"Outline"
]
},
"fontColor": {
"type": [
"fill"
],
"displayName": [
"Font color"
],
],
"description": [
"Font color of the cells"
]
},
"backColor": {
"type": [
"fill"
],
"displayName": [
"Background color"
],
"description": [
"Background color of the cells"
]
},
"wordWrap": {
"type": [
"bool"
],
"displayName": [
"Word wrap"
]
},
"fontFamily": {
"type": [
"formatting"
],
"displayName": [
"Font family"
]
},
"fontSize": {
"type": [
"formatting"
],
"displayName": [
"Text Size"
]
},
"autoSizeColumnWidth": {
"type": [
"bool"
],
"displayName": [
"Auto-size column width"
]
},
"urlIcon": {
"type": [
"bool"
],
"displayName": [
"URL icon"
],
"description": [
"Show an icon instead of the full URL"
]
}
},
"values": {
"outline": {
"type": [
"enumeration"
],
"displayName": [
"Outline"
]
},
"backColor": {
"backColor": {
"type": [
"fill"
],
"displayName": [
"Color scales"
]
},
"fontColorPrimary": {
"type": [
"fill"
],
"displayName": [
"Font color"
],
"description": [
"Font color of the odd rows"
]
},
"backColorPrimary": {
"type": [
"fill"
],
"displayName": [
"Background color"
],
"description": [
"Background color of the odd rows"
]
},
"fontColorSecondary": {
"type": [
"fill"
],
"displayName": [
"Alternate font color"
],
"description": [
"Font color of the even rows"
]
},
"backColorSecondary": {
"type": [
"fill"
],
"displayName": [
"Alternate background color"
],
"description": [
"Background color of the even rows"
]
},
"urlIcon": {
"type": [
"bool"
],
"displayName": [
"URL icon"
],
"description": [
"Show an icon instead of the full URL"
]
},
"fontFamily": {
"type": [
"formatting"
],
"displayName": [
"Font family"
]
},
"fontSize": {
"type": [
"formatting"
],
"displayName": [
"Text Size"
]
},
"wordWrap": {
"type": [
"bool"
],
"displayName": [
"Word wrap"
]
},
"bandedRowHeaders": {
"type": [
"bool"
],
"displayName": [
"Banded row style"
],
"description": [
"Apply banded row style to the last level of the row group headers, using the colors of the
values."
]
},
"valuesOnRow": {
"type": [
"bool"
],
"displayName": [
"Show on rows"
],
"description": [
"Show values in row groups rather than columns"
]
}
},
"total": {
"outline": {
"type": [
"enumeration"
],
"displayName": [
"Outline"
]
},
"fontColor": {
"type": [
"fill"
],
"displayName": [
"Font color"
],
"description": [
"Font color of the cells"
]
},
"backColor": {
"type": [
"fill"
],
"displayName": [
"Background color"
],
"description": [
"Background color of the cells"
]
},
"applyToHeaders": {
"type": [
"bool"
],
"displayName": [
"Apply to labels"
]
},
"totals": {
"type": [
"bool"
],
"displayName": [
"Totals"
]
},
"fontFamily": {
"type": [
"formatting"
],
"displayName": [
"Font family"
]
},
"fontSize": {
"type": [
"formatting"
],
"displayName": [
"Text Size"
]
}
},
"columnFormatting": {
"fontColor": {
"type": [
"fill"
],
"displayName": [
"Font color"
],
"description": [
"Font color of the cells"
]
},
"backColor": {
"type": [
"fill"
],
"displayName": [
"Background color"
],
"description": [
"Background color of the cells"
]
},
"styleHeader": {
"type": [
"bool"
],
"displayName": [
"Color header"
]
},
"styleValues": {
"styleValues": {
"type": [
"bool"
],
"displayName": [
"Color values"
]
},
"styleTotal": {
"type": [
"bool"
],
"displayName": [
"Color total"
]
},
"styleSubtotals": {
"type": [
"bool"
],
"displayName": [
"Color subtotals"
]
}
},
"rowHeaders": {
"outline": {
"type": [
"enumeration"
],
"displayName": [
"Outline"
]
},
"fontColor": {
"type": [
"fill"
],
"displayName": [
"Font color"
],
"description": [
"Font color of the cells"
]
},
"backColor": {
"type": [
"fill"
],
"displayName": [
"Background color"
],
"description": [
"Background color of the cells"
]
},
"wordWrap": {
"type": [
"bool"
],
"displayName": [
"Word wrap"
]
},
"fontFamily": {
"type": [
"formatting"
],
"displayName": [
"Font family"
"Font family"
]
},
"fontSize": {
"type": [
"formatting"
],
"displayName": [
"Text Size"
]
},
"stepped": {
"type": [
"bool"
],
"displayName": [
"Stepped layout"
],
"description": [
"Render row headers with stepped layout"
]
},
"steppedLayoutIndentation": {
"type": [
"numeric"
],
"displayName": [
"Stepped layout indentation"
],
"description": [
"Set the indentation, in pixels, applied to row headers"
]
},
"urlIcon": {
"type": [
"bool"
],
"displayName": [
"URL icon"
],
"description": [
"Show an icon instead of the full URL"
]
}
},
"subTotals": {
"outline": {
"type": [
"enumeration"
],
"displayName": [
"Outline"
]
},
"fontColor": {
"type": [
"fill"
],
"displayName": [
"Font color"
],
"description": [
"Font color of the cells"
]
},
"backColor": {
"type": [
"fill"
],
"displayName": [
"displayName": [
"Background color"
],
"description": [
"Background color of the cells"
]
},
"fontFamily": {
"type": [
"formatting"
],
"displayName": [
"Font family"
]
},
"fontSize": {
"type": [
"formatting"
],
"displayName": [
"Text Size"
]
},
"rowSubtotals": {
"type": [
"bool"
],
"displayName": [
"Total row"
]
},
"columnSubtotals": {
"type": [
"bool"
],
"displayName": [
"Total column"
]
},
"applyToHeaders": {
"type": [
"bool"
],
"displayName": [
"Apply to labels"
]
}
},
"selection": {
"selectAllCheckboxEnabled": {
"type": [
"bool"
],
"displayName": [
"Select All"
]
},
"singleSelect": {
"type": [
"bool"
],
"displayName": [
"Single Select"
]
}
},
"header": {
"show": {
"type": [
"bool"
"bool"
],
"displayName": [
"Show"
]
},
"fontColor": {
"type": [
"fill"
],
"displayName": [
"Font color"
],
"description": [
"Font color of the cells"
]
},
"background": {
"type": [
"fill"
],
"displayName": [
"Background"
]
},
"outline": {
"type": [
"enumeration"
],
"displayName": [
"Outline"
]
},
"textSize": {
"type": [
"numeric"
],
"displayName": [
"Text Size"
]
},
"fontFamily": {
"type": [
"formatting"
],
"displayName": [
"Font family"
]
}
},
"items": {
"fontColor": {
"type": [
"fill"
],
"displayName": [
"Font color"
],
"description": [
"Font color of the cells"
]
},
"background": {
"type": [
"fill"
],
"displayName": [
"Background"
]
},
"outline": {
"type": [
"enumeration"
],
"displayName": [
"Outline"
]
},
"textSize": {
"type": [
"numeric"
],
"displayName": [
"Text Size"
]
},
"fontFamily": {
"type": [
"formatting"
],
"displayName": [
"Font family"
]
}
},
"numericInputStyle": {
"fontColor": {
"type": [
"fill"
],
"displayName": [
"Font color"
],
"description": [
"Font color of the cells"
]
},
"textSize": {
"type": [
"numeric"
],
"displayName": [
"Text Size"
]
},
"fontFamily": {
"type": [
"formatting"
],
"displayName": [
"Font family"
]
},
"background": {
"type": [
"fill"
],
"displayName": [
"Background"
]
}
},
"slider": {
"show": {
"type": [
"bool"
],
"displayName": [
"Show"
]
},
"color": {
"type": [
"fill"
],
"displayName": [
"Color"
]
}
},
"dateRange": {
"includeToday": {
"type": [
"bool"
],
"displayName": [
"Include today"
]
}
},
"sentimentColors": {
"increaseFill": {
"type": [
"fill"
],
"displayName": [
"Increase"
]
},
"decreaseFill": {
"type": [
"fill"
],
"displayName": [
"Decrease"
]
},
"totalFill": {
"type": [
"fill"
],
"displayName": [
"Total"
]
},
"otherFill": {
"type": [
"fill"
],
"displayName": [
"Other"
]
}
},
"breakdown": {
"maxBreakdowns": {
"type": [
"integer"
],
"displayName": [
"Max breakdowns"
],
"description": [
"The number of individual breakdowns to show (rest grouped into Other)"
]
}
},
},
"indicator": {
"indicatorDisplayUnits": {
"type": [
"formatting"
],
"displayName": [
"Display units"
],
"description": [
"Select the units (millions, billions, etc.)"
]
},
"indicatorPrecision": {
"type": [
"numeric"
],
"displayName": [
"Value decimal places"
],
"description": [
"Select the number of decimal places to display for the values"
]
},
"kpiFormat": {
"type": [
"text"
],
"displayName": [
"Format"
]
}
},
"trendline": {
"show": {
"type": [
"bool"
],
"displayName": [
"Show"
]
}
},
"goals": {
"showGoal": {
"type": [
"bool"
],
"displayName": [
"Goal"
]
},
"showDistance": {
"type": [
"bool"
],
"displayName": [
"Distance"
]
}
},
"status": {
"direction": {
"type": [
"enumeration"
],
"displayName": [
"Direction"
]
},
},
"goodColor": {
"type": [
"fill"
],
"displayName": [
"Good Color"
]
},
"neutralColor": {
"type": [
"fill"
],
"displayName": [
"Neutral Color"
]
},
"badColor": {
"type": [
"fill"
],
"displayName": [
"Bad Color"
]
}
}

Enumerations in the JSON file


The following section defines the enumerations that you can use in the JSON file.

{
"legend": {
"position": [
{
"value": "Top",
"displayName": "Top"
},
{
"value": "Bottom",
"displayName": "Bottom"
},
{
"value": "Left",
"displayName": "Left"
},
{
"value": "Right",
"displayName": "Right"
},
{
"value": "TopCenter",
"displayName": "Top Center"
},
{
"value": "BottomCenter",
"displayName": "Bottom Center"
},
{
"value": "LeftCenter",
"displayName": "Left Center"
},
{
"value": "RightCenter",
"displayName": "Right center"
}
],
"legendMarkerRendering": [
{
"value": "markerOnly",
"displayName": "Markers only"
},
{
"value": "lineAndMarker",
"displayName": "Line and markers"
},
{
"value": "lineOnly",
"displayName": "Line only"
}
]
},
"categoryAxis": {
"axisScale": [
{
"value": "linear",
"displayName": "Linear"
},
{
"value": "log",
"displayName": "Log"
}
],
"axisType": [
{
"value": "Scalar",
"displayName": "Continuous"
},
{
"value": "Categorical",
"displayName": "Categorical"
}
],
"axisStyle": [
{
"value": "showTitleOnly",
"displayName": "Show title only"
},
{
"value": "showUnitOnly",
"displayName": "Show unit only"
},
{
"value": "showBoth",
"displayName": "Show both"
}
],
"gridlineStyle": [
{
"value": "dashed",
"displayName": "Dashed"
},
{
"value": "solid",
"displayName": "Solid"
},
{
"value": "dotted",
"displayName": "Dotted"
}
],
"position": [
{
"value": "Left",
"displayName": "Left"
},
{
{
"value": "Right",
"displayName": "Right"
}
]
},
"valueAxis": {
"position": [
{
"value": "Left",
"displayName": "Left"
},
{
"value": "Right",
"displayName": "Right"
}
],
"axisScale": [
{
"value": "linear",
"displayName": "Linear"
},
{
"value": "log",
"displayName": "Log"
}
],
"axisStyle": [
{
"value": "showTitleOnly",
"displayName": "Show title only"
},
{
"value": "showUnitOnly",
"displayName": "Show unit only"
},
{
"value": "showBoth",
"displayName": "Show both"
}
],
"gridlineStyle": [
{
"value": "dashed",
"displayName": "Dashed"
},
{
"value": "solid",
"displayName": "Solid"
},
{
"value": "dotted",
"displayName": "Dotted"
}
],
"secPosition": [
{
"value": "Left",
"displayName": "Left"
},
{
"value": "Right",
"displayName": "Right"
}
],
"secAxisScale": [
{
"value": "linear",
"displayName": "Linear"
},
},
{
"value": "log",
"displayName": "Log"
}
],
"secAxisStyle": [
{
"value": "showTitleOnly",
"displayName": "Show title only"
},
{
"value": "showUnitOnly",
"displayName": "Show unit only"
},
{
"value": "showBoth",
"displayName": "Show both"
}
]
},
"lineStyles": {
"strokeLineJoin": [
{
"value": "miter",
"displayName": "Miter"
},
{
"value": "round",
"displayName": "Round"
},
{
"value": "bevel",
"displayName": "Bevel"
}
],
"lineStyle": [
{
"value": "dashed",
"displayName": "Dashed"
},
{
"value": "solid",
"displayName": "Solid"
},
{
"value": "dotted",
"displayName": "Dotted"
}
],
"markerShape": [
{
"value": "circle",
"displayName": "●"
},
{
"value": "square",
"displayName": "■"
},
{
"value": "diamond",
"displayName": "◆"
},
{
"value": "triangle",
"displayName": "▲"
},
{
"value": "x",
"displayName": "☓"
"displayName": "☓"
},
{
"value": "shortDash",
"displayName": " -"
},
{
"value": "longDash",
"displayName": "—"
},
{
"value": "plus",
"displayName": "+"
}
]
},
"trend": {
"style": [
{
"value": "dashed",
"displayName": "Dashed"
},
{
"value": "solid",
"displayName": "Solid"
},
{
"value": "dotted",
"displayName": "Dotted"
}
]
},
"y1AxisReferenceLine": {
"style": [
{
"value": "dashed",
"displayName": "Dashed"
},
{
"value": "solid",
"displayName": "Solid"
},
{
"value": "dotted",
"displayName": "Dotted"
}
],
"position": [
{
"value": "back",
"displayName": "Behind"
},
{
"value": "front",
"displayName": "In Front"
}
],
"dataLabelText": [
{
"value": "Value",
"displayName": "Value"
},
{
"value": "Name",
"displayName": "Name"
},
{
"value": "ValueAndName",
"displayName": "Name and Value"
}
}
],
"dataLabelHorizontalPosition": [
{
"value": "left",
"displayName": "Left"
},
{
"value": "right",
"displayName": "Right"
}
],
"dataLabelVerticalPosition": [
{
"value": "above",
"displayName": "Above"
},
{
"value": "under",
"displayName": "Under"
}
]
},
"referenceLine": {
"style": [
{
"value": "dashed",
"displayName": "Dashed"
},
{
"value": "solid",
"displayName": "Solid"
},
{
"value": "dotted",
"displayName": "Dotted"
}
],
"position": [
{
"value": "back",
"displayName": "Behind"
},
{
"value": "front",
"displayName": "In Front"
}
],
"dataLabelText": [
{
"value": "Value",
"displayName": "Value"
},
{
"value": "Name",
"displayName": "Name"
},
{
"value": "ValueAndName",
"displayName": "Name and Value"
}
],
"dataLabelHorizontalPosition": [
{
"value": "left",
"displayName": "Left"
},
{
"value": "right",
"displayName": "Right"
"displayName": "Right"
}
],
"dataLabelVerticalPosition": [
{
"value": "above",
"displayName": "Above"
},
{
"value": "under",
"displayName": "Under"
}
]
},
"labels": {
"labelOrientation": [
{
"value": "vertical",
"displayName": "Vertical"
},
{
"value": "horizontal",
"displayName": "Horizontal"
}
],
"labelPosition": [
{
"value": "Auto",
"displayName": "Auto"
},
{
"value": "InsideEnd",
"displayName": "Inside End"
},
{
"value": "OutsideEnd",
"displayName": "Outside End"
},
{
"value": "InsideCenter",
"displayName": "Inside Center"
},
{
"value": "InsideBase",
"displayName": "Inside Base"
}
],
"labelStyle": [
{
"value": "Category",
"displayName": "Category"
},
{
"value": "Data",
"displayName": "Data value"
},
{
"value": "Percent of total",
"displayName": "Percent of total"
},
{
"value": "Both",
"displayName": "Category, data value"
},
{
"value": "Category, percent of total",
"displayName": "Category, percent of total"
},
{
"value": "Data value, percent of total",
"displayName": "Data value, percent of total"
},
{
"value": "Category, data value, percent of total",
"displayName": "All detail labels"
}
]
},
"card": {
"outline": [
{
"value": "None",
"displayName": "None"
},
{
"value": "BottomOnly",
"displayName": "Bottom only"
},
{
"value": "TopOnly",
"displayName": "Top only"
},
{
"value": "LeftOnly",
"displayName": "Left only"
},
{
"value": "RightOnly",
"displayName": "Right only"
},
{
"value": "TopBottom",
"displayName": "Top + bottom"
},
{
"value": "LeftRight",
"displayName": "Left + right"
},
{
"value": "Frame",
"displayName": "Frame"
}
]
},
"imageScaling": {
"imageScalingType": [
{
"value": "Normal",
"displayName": "Normal"
},
{
"value": "Fit",
"displayName": "Fit"
},
{
"value": "Fill",
"displayName": "Fill"
}
]
},
"forecast": {
"confidenceBandStyle": [
{
"value": "fill",
"displayName": "Fill"
},
{
"value": "line",
"displayName": "Line"
},
{
"value": "none",
"displayName": "None"
}
],
"style": [
{
"value": "dashed",
"displayName": "Dashed"
},
{
"value": "solid",
"displayName": "Solid"
},
{
"value": "dotted",
"displayName": "Dotted"
}
]
},
"mapStyles": {
"mapTheme": [
{
"value": "aerial",
"displayName": "Aerial"
},
{
"value": "canvasDark",
"displayName": "Dark"
},
{
"value": "canvasLight",
"displayName": "Light"
},
{
"value": "grayscale",
"displayName": "Grayscale"
},
{
"value": "road",
"displayName": "Road"
}
]
},
"shape": {
"projectionEnum": [
{
"value": "albersUsa",
"displayName": "Albers USA"
},
{
"value": "equirectangular",
"displayName": "Equirectangular"
},
{
"value": "mercator",
"displayName": "Mercator"
},
{
"value": "orthographic",
"displayName": "Orthographic"
}
]
},
"xAxisReferenceLine": {
"style": [
{
{
"value": "dashed",
"displayName": "Dashed"
},
{
"value": "solid",
"displayName": "Solid"
},
{
"value": "dotted",
"displayName": "Dotted"
}
],
"position": [
{
"value": "back",
"displayName": "Behind"
},
{
"value": "front",
"displayName": "In Front"
}
],
"dataLabelText": [
{
"value": "Value",
"displayName": "Value"
},
{
"value": "Name",
"displayName": "Name"
},
{
"value": "ValueAndName",
"displayName": "Name and Value"
}
],
"dataLabelHorizontalPosition": [
{
"value": "left",
"displayName": "Left"
},
{
"value": "right",
"displayName": "Right"
}
],
"dataLabelVerticalPosition": [
{
"value": "above",
"displayName": "Above"
},
{
"value": "under",
"displayName": "Under"
}
]
},
"ratioLine": {
"style": [
{
"value": "dashed",
"displayName": "Dashed"
},
{
"value": "solid",
"displayName": "Solid"
},
{
"value": "dotted",
"value": "dotted",
"displayName": "Dotted"
}
]
},
"columnHeaders": {
"outline": [
{
"value": "None",
"displayName": "None"
},
{
"value": "BottomOnly",
"displayName": "Bottom only"
},
{
"value": "TopOnly",
"displayName": "Top only"
},
{
"value": "LeftOnly",
"displayName": "Left only"
},
{
"value": "RightOnly",
"displayName": "Right only"
},
{
"value": "TopBottom",
"displayName": "Top + bottom"
},
{
"value": "LeftRight",
"displayName": "Left + right"
},
{
"value": "Frame",
"displayName": "Frame"
}
]
},
"values": {
"outline": [
{
"value": "None",
"displayName": "None"
},
{
"value": "BottomOnly",
"displayName": "Bottom only"
},
{
"value": "TopOnly",
"displayName": "Top only"
},
{
"value": "LeftOnly",
"displayName": "Left only"
},
{
"value": "RightOnly",
"displayName": "Right only"
},
{
"value": "TopBottom",
"displayName": "Top + bottom"
},
{
"value": "LeftRight",
"displayName": "Left + right"
"displayName": "Left + right"
},
{
"value": "Frame",
"displayName": "Frame"
}
]
},
"total": {
"outline": [
{
"value": "None",
"displayName": "None"
},
{
"value": "BottomOnly",
"displayName": "Bottom only"
},
{
"value": "TopOnly",
"displayName": "Top only"
},
{
"value": "LeftOnly",
"displayName": "Left only"
},
{
"value": "RightOnly",
"displayName": "Right only"
},
{
"value": "TopBottom",
"displayName": "Top + bottom"
},
{
"value": "LeftRight",
"displayName": "Left + right"
},
{
"value": "Frame",
"displayName": "Frame"
}
]
},
"rowHeaders": {
"outline": [
{
"value": "None",
"displayName": "None"
},
{
"value": "BottomOnly",
"displayName": "Bottom only"
},
{
"value": "TopOnly",
"displayName": "Top only"
},
{
"value": "LeftOnly",
"displayName": "Left only"
},
{
"value": "RightOnly",
"displayName": "Right only"
},
{
"value": "TopBottom",
"displayName": "Top + bottom"
},
},
{
"value": "LeftRight",
"displayName": "Left + right"
},
{
"value": "Frame",
"displayName": "Frame"
}
]
},
"subTotals": {
"outline": [
{
"value": "None",
"displayName": "None"
},
{
"value": "BottomOnly",
"displayName": "Bottom only"
},
{
"value": "TopOnly",
"displayName": "Top only"
},
{
"value": "LeftOnly",
"displayName": "Left only"
},
{
"value": "RightOnly",
"displayName": "Right only"
},
{
"value": "TopBottom",
"displayName": "Top + bottom"
},
{
"value": "LeftRight",
"displayName": "Left + right"
},
{
"value": "Frame",
"displayName": "Frame"
}
],
"rowSubtotalsPosition": [
{
"value": "Top",
"displayName": "Top"
},
{
"value": "Bottom",
"displayName": "Bottom"
}
]
},
"general": {
"orientation": [
{
"value": "vertical",
"displayName": "Vertical"
},
{
"value": "horizontal",
"displayName": "Horizontal"
}
]
},
"data": {
"relativeRange": [
{
"value": "Last",
"displayName": "Last"
},
{
"value": "Next",
"displayName": "Next"
},
{
"value": "This",
"displayName": "This"
}
],
"relativePeriod": [
{
"value": "None",
"displayName": "Select"
},
{
"value": "Days",
"displayName": "Days"
},
{
"value": "Weeks",
"displayName": "Weeks"
},
{
"value": "Calendar Weeks",
"displayName": "Weeks (Calendar)"
},
{
"value": "Months",
"displayName": "Months"
},
{
"value": "Calendar Months",
"displayName": "Months (Calendar)"
},
{
"value": "Years",
"displayName": "Years"
},
{
"value": "Calendar Years",
"displayName": "Years (Calendar)"
}
],
"mode": [
{
"value": "Between",
"displayName": "Between"
},
{
"value": "Before",
"displayName": "Before"
},
{
"value": "After",
"displayName": "After"
},
{
"value": "Basic",
"displayName": "List"
},
{
"value": "Dropdown",
"displayName": "Dropdown"
},
{
"value": "Relative",
"displayName": "Relative"
},
{
"value": "Single",
"displayName": "Single Value"
}
]
},
"header": {
"outline": [
{
"value": "None",
"displayName": "None"
},
{
"value": "BottomOnly",
"displayName": "Bottom only"
},
{
"value": "TopOnly",
"displayName": "Top only"
},
{
"value": "LeftOnly",
"displayName": "Left only"
},
{
"value": "RightOnly",
"displayName": "Right only"
},
{
"value": "TopBottom",
"displayName": "Top + bottom"
},
{
"value": "LeftRight",
"displayName": "Left + right"
},
{
"value": "Frame",
"displayName": "Frame"
}
]
},
"items": {
"outline": [
{
"value": "None",
"displayName": "None"
},
{
"value": "BottomOnly",
"displayName": "Bottom only"
},
{
"value": "TopOnly",
"displayName": "Top only"
},
{
"value": "LeftOnly",
"displayName": "Left only"
},
{
"value": "RightOnly",
"displayName": "Right only"
},
},
{
"value": "TopBottom",
"displayName": "Top + bottom"
},
{
"value": "LeftRight",
"displayName": "Left + right"
},
{
"value": "Frame",
"displayName": "Frame"
}
]
},
"status": {
"direction": [
{
"value": "Positive",
"displayName": "High is good"
},
{
"value": "Negative",
"displayName": "Low is good"
}
]
}
}
}
}

Limitations and considerations


If you're using one of our original themes, the "Classic" theme, or a custom theme that you imported on top of
one of these, the text section of the theme dialog box isn't available for configuring.
Built-in themes that are affected by this limitation include the following themes:
Classic
City park
Classroom
Color blind safe
Electric
High contrast
Sunset
Twilight
If you're using one of the affected themes and you don't need to modify the text settings, you can safely use the
other tabs of the dialog box with no issues. However, if you want to use the text classes with one of the affected
themes, you have a couple options:
The quickest and easiest way to enable the text classes is to select the Default theme options.
If you want to keep your current custom theme, to enable the text tab:
1. Export your current theme.
2. Select the default theme.
3. Import the custom theme you exported in the first step.
The text in your report will look different, but you will be able to access the text tab in the theme dialog box.
Use grouping and binning in Power BI Desktop
4/22/2021 • 2 minutes to read • Edit Online

When Power BI Desktop creates visuals, it aggregates your data into chunks (or groups) based on values found
in the underlying data. Often that's fine, but there may be times when you want to refine how those chunks are
presented. For example, you might want to place three categories of products in one larger category (one
group). Or, you might want to see sales figures put into bin-sizes of 1,000,000 dollars, instead of chunks of
923,983-dollar sizes.
In Power BI Desktop, you can group data points to help you more clearly view, analyze, and explore data and
trends in your visuals. You can also define the bin size to put values into equally sized groups that better enable
you to visualized data in ways that are meaningful. This action is often called binning.

Using grouping
To use grouping, select two or more elements on a visual by using Ctrl+click to select multiple elements. Then
right-click one of the multiple selection elements and choose Group data from the context menu.

Once it's created, the group is added to the Legend bucket for the visual. The group also appears in the Fields
list.

Once you have a group, you can easily edit the members of that group. Right-click the field from the Legend
bucket or from the Fields list, and then choose Edit groups .

In the Groups dialog box, you can create new groups or modify existing groups. You can also rename any
group. Just double-click the group title in the Groups and members box, and then enter a new name.
You can do all sorts of things with groups. You can add items from the Ungrouped values list into a new group
or into one of the existing groups. To create a new group, select two or more items (using Ctrl+click) from the
Ungrouped values box, and then select the Group button below that box.
You can add an ungrouped value into an existing group: just select the one of the Ungrouped values , then
select the existing group to add the value to, and select the Group button. To remove an item from a group,
select it from the Groups and members box, and then select Ungroup . You can also move ungrouped
categories into the Other group or leave them ungrouped.
NOTE
You can create groups for any field in the Fields well, without having to select multiple items from an existing visual. Just
right-click the field, and select New group from the menu that appears.

Using binning
You can set the bin size for numerical and time fields in Power BI Desktop. You can make bins for calculated
columns, but not for measures. Use binning to right-size the data that Power BI Desktop displays.
To apply a bin size, right-click a Field and choose New group .
From the Groups dialog box, set the Bin size to the size you want.

When you select OK , you'll notice that a new field appears in the Fields pane with (bins) appended. You can
then drag that field onto the canvas to use the bin size in a visual.
To see binning in action, take a look at this video.
And that's all there is to using grouping and binning to ensure the visuals in your reports show your data just
the way you want them to.
Use gridlines and snap-to-grid in Power BI reports
5/10/2021 • 3 minutes to read • Edit Online

The report canvas in Power BI Desktop and the Power BI service provides gridlines that let you neatly align
visuals on a report page and use snap-to-grid functionality so the visuals in your report look clean, aligned, and
evenly spaced.
In Power BI Desktop , you can also adjust the z-order (bring forward, send backward) of objects on a report
and align or evenly distribute selected visuals on the canvas.

Enabling gridlines and snap-to-grid


To enable gridlines and snap-to-grid, select the View ribbon, then enable the checkboxes for Show gridlines
and Snap objects to grid. You can select one or both options; they operate independently.
NOTE
If Show gridlines and Snap objects to grid are disabled, connect to any data source and they become enabled.

Using gridlines
Gridlines are visible guides that help you align your visuals. When you're trying to determine whether two (or
more) visuals are aligned horizontally or vertically, use the gridlines to determine whether their borders align.
Use Ctrl+Click to select more than one visual at a time, which displays all selected visuals' borders and shows
whether the visuals are properly aligned.

Using gridlines inside visuals


In Power BI there are also gridlines inside visuals that provide visible guides for comparing data points and
values. You can manage the gridlines within visuals using the X axis or Y axis card (as appropriate based on
visual type), found in the Format section of the Visualizations pane. You can manage the following elements
of gridlines within a visual:
Turn gridlines on or off
Change the color of gridlines
Adjust the stroke (the width) of gridlines
Select the line style of the gridlines in the visual, such as solid, dashed, or dotted
Modifying certain elements of gridlines can be especially useful in reports where dark backgrounds are used for
visuals. The following images show the Gridlines section in the Y axis card.
1. With a visual selected, select the drop-down carat next to Y axis in the Format section of the
Visualizations pane.
2. Scroll to the Gridlines setting and set it to On .

Using snap-to-grid
When you enable Snap objects to grid , all visuals on the Power BI Desktop canvas that you move (or resize)
are automatically aligned to the nearest grid axis, making it much easier to ensure two or more visuals align to
the same horizontal or vertical location or size.
And, that's all there is to using gridlines and snap-to-grid to ensure the visuals in your reports are neatly
aligned.

Using z-order, align, and distribute


In Power BI Desktop, you can manage the front-to-back order of visuals in a report, often referred to as the z-
order of elements. This feature lets you overlap visuals in any way you want, then adjust the front-to-back order
of each. You set the order of your visuals using the Bring for ward and Send backward buttons, found in the
Format ribbon. The Format ribbon appears as soon as you select one or more visuals on the page.

NOTE
You can also set z-order when you're editing a report in the Power BI service. On the View menu, turn the Selection
pane on. In the Selection pane , you change the z-order on the Layer order tab.

Align and distribute visuals


In Power BI Desktop, the Format ribbon lets you align your visuals in many different ways, which ensures your
visuals appear on the page in the alignment that looks and works best.
The Align button aligns a selected visual to the edge (or center) of the report canvas, as shown in the following
image.

When two or more visuals are selected, they are aligned together and use the existing aligned boundary of the
visuals for their alignment. For example, if you select two visuals and choose the Align left option, the visuals
then align to the left-most boundary of all selected visuals.
You can also distribute your visuals evenly across the report canvas, either vertically or horizontally. Just select
more than one visual, and then select Distribute horizontally or Distribute ver tically from the Align menu
of the Format ribbon.

With a few selections from these gridlines, alignment, and distribution tools, your reports will look just how you
want them to.
Apply page display settings in a Power BI report
9/20/2021 • 2 minutes to read • Edit Online

We understand it's critical to keep your report layout pixel perfect. Sometimes, it can be challenging, because
you and your colleagues may view those reports on screens with different aspect ratios and sizes.
The default display view is Fit to page and the default display size is 16:9 . If you want to lock in a different
aspect ratio, or want to fit your report in a different way, there are two tools to help you: Page view settings and
Page size settings.

NOTE
This video might use earlier versions of Power BI Desktop or the Power BI service.

https://www.youtube.com/embed/5tg-OXzxe2g

Where to find Page view settings in the Power BI service and Power BI
Desktop
Page view settings are available in both the Power BI service and Power BI Desktop, but the interface is a little
different. The following sections explain where you can find View settings in each Power BI tool.
In Power BI Desktop
In Report view, select the View tab to open Page view settings as well as phone layout settings.

In the Power BI service (app.powerbi.com)


In the Power BI service, open a report and select View from the upper left menubar.
Page view settings are available in both Reading view and Editing view. In Editing view, a report owner can
assign page view settings to individual report pages, and those settings are saved with the report. When
colleagues open that report in Reading view, they see the report pages display using the owner's settings. In
Reading view, colleagues can change some of the Page view settings, but the changes are not saved when they
exit the report.

Page view settings


The first set of Page view settings controls the display of your report page relative to the browser window.
Choose between:
Fit to page (default): Contents are scaled to best fit the page
Fit to width : Contents are scaled to fit within the width of the page
Actual size : Contents are displayed at full size
The second set of Page view settings controls the positioning of objects on the report canvas. Choose between:
Show gridlines : Turn on gridlines to help you position objects on the report canvas.
Snap to grid : Use with Show gridlines to precisely position and align objects on the report canvas.
Lock objects : Lock all objects on the canvas so that they can't be moved or resized.
Selection pane : The Selection pane lists all objects on the canvas. You can decide which to show and
which to hide.
Page size settings

Page size settings are available only for report owners. In the Power BI service (app.powerbi.com), this means
being able to open the report in Editing view. Page size settings are in the Visualizations pane and control the
display ratio and actual size (in pixels) of the report canvas:
4:3 ratio
16:9 ratio (default)
Letter
Custom (height and width in pixels)

Next steps
Report view in Power BI Desktop
Change Page view and Page size settings in your own Power BI reports
Read more about reports in Power BI
Basic concepts for designers in the Power BI service
More questions? Try the Power BI Community
Add a column from examples in Power BI Desktop
4/12/2021 • 4 minutes to read • Edit Online

With add column from examples in Power Query Editor, you can add new columns to your data model simply by
providing one or more example values for the new columns. You can create the new column examples from a
selection, or provide input based on all existing columns in the table.

Using add column from example lets you quickly and easily create new columns, and is great for the following
situations:
You know the data you want in your new column, but you're not sure which transformation, or collection of
transformations, will get you there.
You already know which transformations you need, but you're not sure what to select in the UI to make them
happen.
You know all about the transformations you need using a Custom Column expression in M language, but one
or more of those expressions aren't available in the UI.
Adding a column from an example is easy and straightforward. The next sections show just how easy it is.

Add a new column from examples


To get sample data from Wikipedia, select Get Data > Web from the Home tab of the Power BI Desktop ribbon.
Paste the following URL into the dialog that appears, and select OK :
https://wikipedia.org/wiki/List_of_states_and_territories_of_the_United_States
In the Navigator dialog box, select the States of the United States of America table, and then select
Transform Data . The table opens in Power Query Editor.
Or, to open already-loaded data from Power BI Desktop, select Transform data from the Home tab of the
ribbon. The data opens in Power Query Editor.

Once the sample data opens in Power Query Editor, select the Add Column tab on the ribbon, and then select
Column from Examples . Select the Column From Examples icon itself to create the column from all
existing columns, or select the drop-down arrow to choose between From All Columns or From Selection .
For this walkthrough, use From All Columns .
Add Column From Examples pane
When you select Add Column > From Examples , the Add Column From Examples pane opens at the top
of the table. The new Column 1 appears to the right of the existing columns (you may need to scroll to see
them all). When you enter your example values in the blank cells of Column 1 , Power BI creates rules and
transformations to match your examples, and uses them to fill the rest of the column.
Notice that Column From Examples also appears as an Applied Step in the Quer y Settings pane. As
always, Power Query Editor records your transformation steps and applies them to the query in order.

As you type your example in the new column, Power BI shows a preview of how the rest of the column will look,
based on the transformations it creates. For example, if you type Alabama in the first row, it corresponds to the
Alabama value in the first column of the table. As soon as you press Enter, Power BI fills in the rest of the new
column based on the first column value, and names the column Name & postal abbreviation[12] - Copy .
Now go to the Massachusetts[E] row of the new column and delete the [E] portion of the string. Power BI
detects the change and uses the example to create a transformation. Power BI describes the transformations in
the Add Column From Examples pane, and renames the column to Text Before Delimiter.

As you continue to provide examples, Power Query Editor adds to the transformations. When you're satisfied,
select OK to commit your changes.
You can rename the new column whatever you want by double-clicking the column heading, or right-clicking it
and selecting Rename .
Watch this video to see Add Column From Examples in action, using the sample data source:
Power BI Desktop: Add Column From Examples.

List of supported transformations


Many but not all transformations are available when using Add Column from Examples . The following list
shows the supported transformations:
General
Conditional Column
Reference
Reference to a specific column, including trim, clean, and case transformations
Text transformations
Combine (supports combination of literal strings and entire column values)
Replace
Length
Extract
First Characters
Last Characters
Range
Text before Delimiter
Text after Delimiter
Text between Delimiters
Length
Remove Characters
Keep Characters

NOTE
All Text transformations take into account the potential need to trim, clean, or apply a case transformation to the column
value.

Date transformations
Day
Day of Week
Day of Week Name
Day of Year
Month
Month Name
Quarter of Year
Week of Month
Week of Year
Year
Age
Start of Year
End of Year
Start of Month
End of Month
Start of Quarter
Days in Month
End of Quarter
Start of Week
End of Week
Day of Month
Start of Day
End of Day
Time transformations
Hour
Minute
Second
To Local Time

NOTE
All Date and Time transformations take into account the potential need to convert the column value to Date or Time or
DateTime.

Number transformations
Absolute Value
Arccosine
Arcsine
Arctangent
Convert to Number
Cosine
Cube
Divide
Exponent
Factorial
Integer Divide
Is Even
Is Odd
Ln
Base-10 Logarithm
Modulo
Multiply
Round Down
Round Up
Sign
Sin
Square Root
Square
Subtract
Sum
Tangent
Bucketing/Ranges
Add a custom column in Power BI Desktop
4/12/2021 • 2 minutes to read • Edit Online

In Power BI Desktop, you can easily add a new custom column of data to your model by using Power Query
Editor. With Power Query Editor, you create and rename your custom column to create PowerQuery M formula
queries to define your custom column. PowerQuery M formula queries have a comprehensive function
reference content set.
When you create a custom column in Power Query Editor, Power BI Desktop adds it as an Applied Step in the
Quer y Settings of the query. It can be changed, moved, or modified at any time.

Use Power Query Editor to add a custom column


To start creating a custom column, follow these steps:
1. Launch Power BI Desktop and load some data.
2. From the Home tab on the ribbon, select Transform data , and then select Transform data from the
menu.
The Power Quer y Editor window appears.
3. From the Add Column tab on the ribbon, select Custom Column .

The Custom Column window appears.

The Custom Column window


The Custom Column window has the following features:
A list of available columns, in the Available columns list on the right.
The initial name of your custom column, in the New column name box. You can rename this column.
PowerQuery M formula queries, in the Custom column formula box. You create these queries by
building the formula on which your new custom column is defined.
Create formulas for your custom column
1. Select columns from the Available columns list on the right, and then select Inser t below the list to
add them to the custom column formula. You can also add a column by double-clicking it in the list.
2. As you enter the formula and build your column, note the indicator in the bottom of the Custom
Column window.
If there are no errors, you'll see a green check mark and the message No syntax errors have been
detected.

If there's a syntax error, you'll see a yellow warning icon, along with a link to where the error occurred in
your formula.
3. Select OK .
Power BI Desktop adds your custom column to the model, and adds the Added Custom step to your
query's Applied Steps list in Quer y Settings .

4. To modify your custom column, double-click the Added Custom step in the Applied Steps list.
The Custom Column window appears with the custom column formula you created.

Use the Advanced Editor for custom columns


After you've created your query, you can also use the Advanced Editor to modify any step of your query. To do
so, follow these steps:
1. In the Power Quer y Editor window, from the View tab on the ribbon, select Advanced Editor .
The Advanced Editor window appears, which gives you full control over your query.
Next steps
You can create a custom column in other ways, such as creating a column based on examples you provide
to Power Query Editor. For more information, see Add a column from an example in Power BI Desktop.
For Power Query M reference information, see Power Query M function reference.
Use inline hierarchy labels in Power BI Desktop
4/28/2021 • 3 minutes to read • Edit Online

Power BI Desktop supports the use of inline hierarchy labels , which is the first of two features intended to
enhance hierarchical drilling. The second feature, which is currently in development, is the ability to use nested
hierarchy labels (stay tuned for that - our updates happen frequently).

How inline hierarchy labels work


With inline hierarchy labels, you can see hierarchy labels as you expand visuals using the Expand All feature.
One great benefit to seeing these hierarchy labels is that you can also choose to sor t by these different
hierarchy labels as you expand your hierarchical data.
Using the built-in Expand feature (without sorting by hierarchy labels)
Before we see inline hierarchy labels in action, let's review the default Expand to next level feature behavior.
Doing so will help us understand (and appreciate) how useful inline hierarchy labels can be.
The following image shows a bar chart visual for annual sales. When you right-click on a bar, you can choose
Expand to next level .

NOTE
As an alternative to right-clicking on a bar, you can select the Expand button on the top left of the visualization.
Once Expand to next level is selected, the visual expands the date hierarchy from Year to Quarter, as shown in
the following image.

Notice that the Year and Quarter labels are shown inline together - this labeling scheme continues as you
Expand All down to the bottom of the hierarchy.

This is how the built-in Date hierarchy, associated with fields that have a date/time data type, behaves. Let's head
to the next section, and see how the new inline hierarchy labels feature is different.
Using inline hierarchy labels
Now let's look at a different chart - using data that has informal hierarchies. In the following visual, we have a
bar chart with Quantity , using ProductName as the axis. In this data, ProductName and ShipCountry form an
informal hierarchy. From here, you can again select Expand to next level to drill down into the hierarchy.

Selecting Expand to next level shows the next level with the inline display of hierarchy labels. By default, inline
hierarchies are sorted by the measure value – in this case, Quantity . With inline hierarchy labels enabled, you
can choose to sort this data by the hierarchy too, by selecting the ellipsis in the upper right corner (the ...), then
selecting Sor t by ProductName ShipCountr y as shown in the following image.

Once ShipCountr y is selected, the data is sorted based on the informal hierarchy selection, as shown in the
following image.
NOTE
The inline hierarchy label feature doesn't yet allow for the built-in time hierarchy to be sorted by value; it's only sorted by
hierarchy order.

Troubleshooting
It's possible for your visuals to get stuck in an expanded inline hierarchy level state. In some cases, you might
find that some of your visuals are stuck in the mode where they were expanded, in which case drilling up
doesn't work. This can happen if you happened to take the following steps (the fix for this is below these steps):
Steps that might get your visuals stuck in an expanded state:
1. You enable the inline hierarchy label feature
2. You create some visuals with hierarchies
3. Then you Expand All and save your file
4. You then disable the inline hierarchy label feature, and restart Power BI Desktop
5. Then you re-open your file
If you happen to take those steps, and your visuals are stuck in expanded mode, you can do the following to
troubleshoot them:
1. Re-enable the inline hierarchy label feature, then restart Power BI Desktop
2. Re-open your file, and drill back up to top of your affected visual(s)
3. Save your file
4. Disable the inline hierarchy label feature, then restart Power BI Desktop
5. Re-open your file
Alternatively, you can just delete your visual and recreate it.
Restrict data access with row-level security (RLS) for
Power BI Desktop
3/5/2021 • 5 minutes to read • Edit Online

You can use row-level security (RLS) with Power BI Desktop to restrict data access for given users. Filters restrict
data at the row level. You can define filters within roles.
You can now configure RLS for data models imported into Power BI with Power BI Desktop. You can also
configure RLS on datasets that are using DirectQuery, such as SQL Server. Previously, you were only able to
implement RLS within on-premises Analysis Services models outside Power BI. For Analysis Services live
connections, you configure Row-level security on the on-premises model. The security option doesn't show up
for live connection datasets.

IMPORTANT
If you defined roles and rules within the Power BI service, you need to recreate those roles within Power BI Desktop and
publish the report to the service. Learn more about options for RLS within the Power BI service.

Define roles and rules in Power BI Desktop


You can define roles and rules within Power BI Desktop. When you publish to Power BI, it also publishes the role
definitions.
To define security roles, follow these steps.
1. Import data into your Power BI Desktop report, or configure a DirectQuery connection.

NOTE
You can't define roles within Power BI Desktop for Analysis Services live connections. You need to do that within
the Analysis Services model.

2. From the Modeling tab, select Manage Roles .

3. From the Manage roles window, select Create .


4. Under Roles , provide a name for the role.
5. Under Tables , select the table to which you want to apply a DAX rule.
6. In the Table filter DAX expression box, enter the DAX expressions. This expression returns a value of
true or false. For example: [Entity ID] = “Value” .

NOTE
You can use username() within this expression. Be aware that username() has the format of DOMAIN\username
within Power BI Desktop. Within the Power BI service and Power BI Report Server, it's in the format of the user's
User Principal Name (UPN). Alternatively, you can use userprincipalname(), which always returns the user in the
format of their user principal name, username@contoso.com.

7. After you've created the DAX expression, select the checkmark above the expression box to validate the
expression.

NOTE
In this expression box, you use commas to separate DAX function arguments even if you're using a locale that
normally uses semicolon separators (e.g. French or German).

8. Select Save .
You can't assign users to a role within Power BI Desktop. You assign them in the Power BI service. You can enable
dynamic security within Power BI Desktop by making use of the username() or userprincipalname() DAX
functions and having the proper relationships configured.

Validate the roles within Power BI Desktop


After you've created your roles, test the results of the roles within Power BI Desktop.
1. From the Modeling tab, select View as .
The View as roles window appears, where you see the roles you've created.

2. Select a role you created, and then select OK to apply that role.
The report renders the data relevant for that role.
3. You can also select Other user and supply a given user.

It's best to supply the User Principal Name (UPN) as that's what the Power BI service and Power BI Report
Server use.
Within Power BI Desktop, Other user displays different results only if you're using dynamic security
based on your DAX expressions.
4. Select OK .
The report renders based on what that user can see.

Limitations
The current limitations for row-level security on cloud models are as follows:
If you previously defined roles and rules in the Power BI service, you must re-create them in Power BI
Desktop.
You can define RLS only on the datasets created with Power BI Desktop. If you want to enable RLS for
datasets created with Excel, you must convert your files into Power BI Desktop (PBIX) files first. Learn
more.
Service principals cannot be added to an RLS role. Accordingly, RLS won’t be applied for apps using a
service principal as the final effective identity.
Only Import and DirectQuery connections are supported. Live connections to Analysis Services are
handled in the on-premises model.

Known issues
There's a known issue where you'll get an error message if you try to publish a previously published report from
Power BI Desktop. The scenario is as follows:
1. Anna has a dataset that is published to the Power BI service and has configured RLS.
2. Anna updates the report in Power BI Desktop and republishes.
3. Anna receives an error.
Workaround: Republish the Power BI Desktop file from the Power BI service until this issue is resolved. You can
do that by selecting Get Data > Files .

FAQ
Question: What if I had previously created roles and rules for a dataset in the Power BI service? Will they still
work if I do nothing?
Answer : No, visuals will not render properly. You will have to re-create the roles and rules within Power BI
Desktop and then publish to the Power BI service.
Question: Can I create these roles for Analysis Services data sources?
Answer : You can if you imported the data into Power BI Desktop. If you are using a live connection, you will not
be able to configure RLS within the Power BI service. This is defined within the Analysis Services model on-
premises.
Question: Can I use RLS to limit the columns or measures accessible by my users?
Answer : No, if a user has access to a particular row of data, they can see all the columns of data for that row.
Question: Does RLS let me hide detailed data but give access to data summarized in visuals?
Answer : No, you secure individual rows of data but users can always see either the details or the summarized
data.
Question: My data source already has security roles defined (for example SQL Server roles or SAP BW roles).
What is the relationship between these and RLS?
Answer : The answer depends on whether you're importing data or using DirectQuery. If you're importing data
into your Power BI dataset, the security roles in your data source aren't used. In this case, you should define RLS
to enforce security rules for users who connect in Power BI. If you're using DirectQuery, the security roles in your
data source are used. When a user opens a report Power BI sends a query to the underlying data source, which
applies security rules to the data based on the user's credentials.

Next steps
For more information related to this article, check out the following resources:
Row-level security (RLS) with Power BI
Row-level security (RLS) guidance in Power BI Desktop
Questions? Try asking the Power BI Community
Suggestions? Contribute ideas to improve Power BI
Customize tooltips in Power BI
4/22/2021 • 2 minutes to read • Edit Online

Tooltips are an elegant way of providing more contextual information and detail to data points on a visual. The
following image shows a tooltip applied to a chart in Power BI Desktop. You can customize tooltips in Power BI
Desktop and in the Power BI service.

When a visualization is created, the default tooltip displays the data point's value and category. There are many
instances when customizing the tooltip information is useful. Customizing tooltips provides additional context
and information for users viewing the visual. Custom tooltips enable you to specify additional data points that
display as part of the tooltip.

How to customize tooltips


To create a customized tooltip, in the Fields well of the Visualizations pane, drag a field into the Tooltips
bucket, shown in the following image. In the following image, three fields have been placed into the Tooltips
bucket.
Once tooltips are added to Tooltips , hovering over a data point on the visualization shows the values for those
fields.

Customizing tooltips with aggregation or quick measures


You can further customize a tooltip by selecting an aggregation function or a quick measure. Select the arrow
beside the field in the Tooltips bucket. Then, select from the available options.
There are many ways to customize tooltips, using any field available in your dataset, to convey quick
information and insights to users viewing your dashboards or reports.
Add text boxes, shapes, and smart narrative visuals
to Power BI reports
9/20/2021 • 3 minutes to read • Edit Online

You can add text boxes, shapes, and smart narrative visuals to reports in Power BI Desktop or the Microsoft
Power BI service. The smart narrative visual uses artificial intelligence to provide a text summary of your visuals
and reports. In either Power BI Desktop or the Microsoft Power BI service, you must have editing permissions for
the report. If a report has been shared with you in the Power BI service, you won't have editing permissions.
Watch Will use Power BI Desktop to add static images to a report, and then follow the steps below to try it out
yourself in the Power BI service.

NOTE
This video might use earlier versions of Power BI Desktop or the Power BI service.

https://www.youtube.com/embed/_3q6VEBhGew

Add a text box to a report


This procedure uses the Retail Analysis sample available in the Power BI service.
1. Open a report in Editing view.
2. Select Text box from the top menu. Power BI places an empty text box on the canvas.

3. To position the text box, select the grey area at the top and drag. To resize the text box, select and drag any
of the outline handles.
4. Type your text into the text box and, optionally, set the format font, color, and text alignment.
5. With the text box still selected, add additional formatting in the Format text box pane. In this example,
we've given the text a theme color, and added a white background and shadow. You can also specify an
exact size and position for a text box.

6. To close the text box, select any blank space on the report canvas.
7. You can also pin a text box to a dashboard. Select the pin icon, then select the dashboard where you want
to pin it.
Add a shape to a report
You can add all sorts of shapes to Power BI reports, with a variety of formatting options and styling. You can also
upgrade old shapes in your reports.
First, here's a video demonstrating the flexibility you have when creating shapes.

NOTE
This video might use earlier versions of Power BI Desktop or the Power BI service.

Now you're ready to create your own shapes.


1. Place your cursor anywhere on the report canvas and select Shapes .
2. From the dropdown, select a shape to add it to your report canvas. Then in the Format shape pane, you
can customize the shape to suit your needs. For this example, the arrow has been rotated 45 degrees and
formatted to include text and a shadow.

3. To position the shape, select the grey area at the top and drag. To resize the shape, select and drag any of
the outline handles. As with the text box, you can also create an exact size and position for a shape.

NOTE
Shapes cannot be pinned to a dashboard, except as one of the visuals when you pin a live page.

Add a smart narrative


You can also add a smart narrative to your report. The smart narrative visualization uses artificial intelligence to
provide a text summary of your visuals and reports. It provides relevant insights that you can customize.
1. In the Visualizations pane, select the Smar t narrative icon. If you don't see it, you may need to turn on
the preview.

2. Power BI creates a text box with auto-generated text describing interesting features of the data in your
report.

3. You can format it as you would any other text box. The underlined text are values the smart narrative is
finding in the data.
Read more about smart narratives.

Next steps
You might also be interested in the following articles:
Add a hyperlink to a text box
Basic concepts for designers in the Power BI service
Tips to improve analysis with shapes, images, and icons in Power BI reports
More questions? Try the Power BI Community
Add a hyperlink to a text box in a report
9/20/2021 • 2 minutes to read • Edit Online

You can add a text box to a report in Power BI Desktop or the Power BI service. You can pin a text box from a
report to a dashboard, or add one directly to a dashboard. Wherever the text box is, you can always add a
hyperlink to it. This article shows how to add a hyperlink to a text box in a report.
Watch Will Thompson create a text box and add a hyperlink to it.

NOTE
This video might use earlier versions of Power BI Desktop or the Power BI service.

https://www.youtube.com/embed/_3q6VEBhGew#t=0m55s
For information on hyperlinks in Power BI tables and matrixes, see Add hyperlinks to a table. For information on
adding text boxes to your dashboard, see Add images, videos, and more to your dashboard.

To add a hyperlink to a text box


1. Open a report, create a text box, and add some text.
2. Select existing text, or add new text to use as a hyperlink.
The text box menu appears.

3. Select the hyperlink icon on the text box menu.


The hyperlink field appears on the text box menu.
4. Type or paste the URL in the hyperlink field, and then select Done .

5. Test the link:


a. Place your cursor anywhere in the new hyperlink in the text box to display the URL in the hyperlink
field.
b. Select the URL in the hyperlink field to open the page in a new browser window.

To remove the hyperlink


1. In the text box, place your cursor anywhere in the hyperlink.

2. Select Remove from the hyperlink menu.


Power BI Desktop removes the hyperlink, but leaves the text.

Next steps
Text boxes and shapes in Power BI reports
More questions? Try the Power BI Community.
Add hyperlinks (URLs) to a table or matrix
7/8/2021 • 4 minutes to read • Edit Online

This topic teaches how to add hyperlinks (URLs) to a table. You use Power BI Desktop to add hyperlinks (URLs) to
a dataset. You can add those hyperlinks to your report tables and matrixes in either Power BI Desktop or the
Power BI service. Then you can display the URL or a link icon, or format another column as link text.

You can also create hyperlinks in text boxes in reports in the Power BI service and Power BI Desktop. And in the
Power BI service, you can add hyperlinks to tiles on dashboards and to text boxes on dashboards.

Format a URL as a hyperlink in Power BI Desktop


You can format a field with URLs as hyperlinks in Power BI Desktop, but not in the Power BI service. You can also
format hyperlinks in Excel Power Pivot before you import the workbook into Power BI.
1. In Power BI Desktop, if a field with a hyperlink doesn't already exist in your dataset, add it as a custom
column.

NOTE
You can't create a column in DirectQuery mode. But if your data already contains URLs, you can turn them into
hyperlinks.

2. In Data view, select the column.


3. On the Column tools tab, select Data categor y > Web URL .
NOTE
URLS must start with certain prefixes. See Considerations and troubleshooting in this article for the complete list.

Create a table or matrix with a hyperlink


1. After you've formatted a hyperlink as a URL, switch to Report view.
2. Create a table or matrix with the field that you categorized as a Web URL. The hyperlinks are blue and
underlined.

Display a hyperlink icon instead of a URL


If you don't want to display a long URL in a table, you can display a hyperlink icon instead.
NOTE
You can't display icons in a matrix.

1. First, create a table with a hyperlink.


2. Select the table to make it active.

Select the Format icon to open the Formatting tab.


Expand Values , locate URL icon , and turn it to On .

3. (Optional) Publish the report from Power BI Desktop to the Power BI service. When you open the report
in the Power BI service, the hyperlinks work there, too.

Format link text as a hyperlink


You can also format another field in a table as the hyperlink, and not have a column for the URL at all. In this
case, you don't format the column as a Web URL.
NOTE
You can't format another field as the hyperlink in a matrix.

1. If a field with a hyperlink doesn't already exist in your dataset, use Power BI Desktop to add it as a custom
column. Again, you can't create a column in DirectQuery mode. But if your data already contains URLs,
you can turn them into hyperlinks.
2. In Data view, select the column that contains the URL.
3. On the Column tools tab, select Data Categor y . Make sure the column is formatted as
Uncategorized .
4. In Report view, create a table or matrix with the URL column and the column you're going to format as
link text.

5. With the table selected, select the Format icon to open the Formatting tab.
6. Expand Conditional formatting , making sure the name in the box is the column you want as link text.
Locate Web URL , and turn it to On .
NOTE
If you don't see a Web URL option, make sure the column that contains the hyperlinks is not formatted as Web
URL in the Data Categor y dropdown box. Also, make sure that you're using Desktop version February 2020 or
later.

7. In the Web URL dialog box, select the field that contains the URL in the Based on field box > OK .

Now the text in that column is formatted as the link.

8. (Optional) Publish the report from Power BI Desktop to the Power BI service. When you open the report
in the Power BI service, the hyperlinks work there, too.

Create a table or matrix hyperlink in Excel Power Pivot


Another way to add hyperlinks to your Power BI tables and matrixes is to create the hyperlinks in the dataset
before you import/connect to that dataset from Power BI. This example uses an Excel workbook.
1. Open the workbook in Excel.
2. Select the PowerPivot tab and then choose Manage .
3. When PowerPivot opens, select the Advanced tab.

4. Place your cursor in the column that contains the URLs that you'd like to turn into hyperlinks in Power BI
tables.

NOTE
URLS must start with certain prefixes. See Considerations and troubleshooting for the complete list.

5. In the Repor ting Proper ties group, select the Data Categor y dropdown and choose Web URL .

6. From the Power BI service or Power BI Desktop, connect to or import this workbook.
7. Create a table visualization that includes the URL field.

Considerations and troubleshooting


URLS must start with one of the following:
http
https
mailto
ftp
news
telnet
Q: Can I use a custom URL as a hyperlink in a table or matrix?
A: No. You can use a link icon. If you need custom text for your hyperlinks and your list of URLs is short, consider
using a text box instead.

Next steps
Visualizations in Power BI reports
Basic concepts for designers in the Power BI service
More questions? Try the Power BI Community
Display images in a table, matrix, or slicer in a
report
7/23/2021 • 2 minutes to read • Edit Online

A good way to enhance your reports is to add images to them. Static images on the page are good for some
purposes. But sometimes you want images that relate to the data in your report. This topic teaches you how to
display images in a table, matrix, slicer, or multi-row card.

Add images to your report


1. Create a column with the URLs of the images. See Considerations later in this article for requirements.
2. Select that column. On the Column tools ribbon, for Data categor y , select Image URL .
3. Add the column to a table, matrix, slicer, or multi-row card.

Add images from OneDrive


Images in your report need to be anonymously accessible. On OneDrive, you may be able to get an embed code
that points directly to them.
1. On your OneDrive site, open an image and select More options (...) > Embed .
2. Select Generate .
3. Copy the URL and paste it in the Image URL column.
Add images from OneDrive for Business
Your organization may not allow displaying images stored on OneDrive for Business. If they do allow it, follow
these steps.
1. In OneDrive for Business, open an image and select View original .
2. Copy the URL that generates.
3. Select Anyone with the link to generate a sharing link that anyone can view, so that it has anonymous

access set.

Considerations
The image needs to be in one of these file formats: .bmp, .jpg, .jpeg, .gif, .png, or .svg
The URL needs to be anonymously accessible, not on a site that requires a sign-in, such as SharePoint.
However, if images are hosted on SharePoint or OneDrive, you may be able to get an embed code that points
directly to them.

Next steps
Page layout and formatting
Basic concepts for designers in the Power BI service
More questions? Try the Power BI Community
Use custom format strings in Power BI Desktop
4/22/2021 • 9 minutes to read • Edit Online

With custom format strings in Power BI Desktop , you can customize how fields appear in visuals, and make
sure your reports look just the way you want them to look.

How to use custom format strings


To create custom format strings, select the field in the Modeling view, and then select the dropdown arrow
under Format in the Proper ties pane.
Once you've selected Custom from the Format drop down menu, you can select from a list of commonly used
format strings.

Supported custom format syntax


Custom format strings follow the VBA style syntax, common to Excel and other Microsoft products, but do not
support all syntax used in other products.
The following tables define the syntax supported in Power BI.
The following table shows supported Date symbols :

SY M B O L RA N GE

d 1-31 (Day of month, with no leading zero)

dd 01-31 (Day of month, with a leading zero)

m 1-12 (Month of year, with no leading zero, starting with


January = 1)

mm 01-12 (Month of year, with a leading zero, starting with


January = 01)

mmm Displays abbreviated month names (Hijri month names have


no abbreviations)

mmmm Displays full month names

yy 00-99 (Last two digits of year)

yyyy 100-9999 (Three- or Four-digit year)

The following table shows supported Time symbols :

SY M B O L RA N GE

h 0-23 (1-12 with "AM" or "PM" appended) (Hour of day, with


no leading zero)

hh 00-23 (01-12 with "AM" or "PM" appended) (Hour of day,


with a leading zero)

n 0-59 (Minute of hour, with no leading zero)

nn 00-59 (Minute of hour, with a leading zero)

m 0-59 (Minute of hour, with no leading zero). Only if preceded


by h or hh

mm 00-59 (Minute of hour, with a leading zero). Only if preceded


by h or hh

s 0-59 (Second of minute, with no leading zero)

ss 00-59 (Second of minute, with a leading zero)

You can see an example of how to format custom value strings.


A user-defined format expression for numbers can have from one to three sections separated by semicolons. If
you include semicolons with nothing between them, the missing section will not be displayed (it will be ""). If the
semi-colon is not specified, it will use the positive format.
Here are examples of different formats for different value strings:
VA L UES F O RM AT ST RIN G F O RM AT ST RIN G F O RM AT ST RIN G F O RM AT ST RIN G

0.00;-0.0;"Zero" 0.00;; 0.00;-0.0; 0.00;

-1.234 -1.2 "" -1.2 ""

0 "Zero" "" "" 0.00

1.234 1.23 1.23 1.23 1.23

The following table identifies the predefined named date and time formats :

F O RM AT N A M E DESC RIP T IO N

General Date Display a date and/or time, for example, 4/3/93 05:34 PM. If
there is no fractional part, display only a date, for example,
4/3/93. If there is no integer part, display time only, for
example, 05:34 PM. Date display is determined by your
system settings.

Long Date Display a date according to your system's long date format.

Shor t Date Display a date using your system's short date format.

Long Time Display a time using your system's long time format;
includes hours, minutes, seconds.

Shor t Time Display a time using the 24-hour format, for example, 17:45.

Named numeric formats


The following table identifies the predefined named numeric formats :

F O RM AT N A M E DESC RIP T IO N

General Number Display number with no thousand separator.

Currency Display number with thousand separator, if appropriate;


display two digits to the right of the decimal separator.
Output is based on system locale settings.

Fixed Display at least one digit to the left and two digits to the
right of the decimal separator.

Standard Display number with thousand separator, at least one digit


to the left and two digits to the right of the decimal
separator.

Percent Display number multiplied by 100 with a percent sign ( % )


appended to the right; always display two digits to the right
of the decimal separator.

Scientific Use standard scientific notation.

The following table identifies characters you can use to create user-defined date/time formats .
C H A RA C T ER DESC RIP T IO N

(: ) Time separator. In some locales, other characters may be


used to represent the time separator. The time separator
separates hours, minutes, and seconds when time values are
formatted. The actual character used as the time separator in
formatted output is determined by your system settings.

(/) Date separator. In some locales, other characters may be


used to represent the date separator. The date separator
separates the day, month, and year when date values are
formatted. The actual character used as the date separator in
formatted output is determined by your system settings.

d Display the day as a number without a leading zero (1–31).

dd Display the day as a number with a leading zero (01–31).

ddd Display the day as an abbreviation (Sun–Sat). Localized.

dddd Display the day as a full name (Sunday–Saturday). Localized.

m Display the month as a number without a leading zero (1–


12). If m immediately follows h or hh, the minute rather than
the month is displayed.

mm Display the month as a number with a leading zero (01–12).


If m immediately follows h or hh, the minute rather than the
month is displayed.

mmm Display the month as an abbreviation (Jan–Dec). Localized.

mmmm Display the month as a full month name (January–


December). Localized.

yy Display the year as a 2-digit number (00–99).

yyyy Display the year as a 4-digit number (100–9999).

h Display the hour as a number without a leading zero (0–23).

hh Display the hour as a number with a leading zero (00–23).

n Display the minute as a number without a leading zero (0–


59).

nn Display the minute as a number with a leading zero (00–59).

s Display the second as a number without a leading zero (0–


59).

ss Display the second as a number with a leading zero (00–59).


C H A RA C T ER DESC RIP T IO N

AM/PM Use the 12-hour clock and display an uppercase AM with


any hour before noon; display an uppercase PM with any
hour between noon and 11:59 P.M.

The following table identifies characters you can use to create user-defined number formats .

C H A RA C T ER DESC RIP T IO N

None Display the number with no formatting.

(0 ) Digit placeholder. Display a digit or a zero. If the expression


has a digit in the position where the 0 appears in the format
string, display it; otherwise, display a zero in that position. If
the number has fewer digits than there are zeros (on either
side of the decimal) in the format expression, display leading
or trailing zeros. If the number has more digits to the right
of the decimal separator than there are zeros to the right of
the decimal separator in the format expression, round the
number to as many decimal places as there are zeros. If the
number has more digits to the left of the decimal separator
than there are zeros to the left of the decimal separator in
the format expression, display the extra digits without
modification.

(#) Digit placeholder. Display a digit or nothing. If the expression


has a digit in the position where the # appears in the format
string, display it; otherwise, display nothing in that position.
This symbol works like the 0 digit placeholder, except that
leading and trailing zeros aren't displayed if the number has
the same or fewer digits than there are # characters on
either side of the decimal separator in the format expression.

(. ) Decimal placeholder. In some locales, a comma is used as the


decimal separator. The decimal placeholder determines how
many digits are displayed to the left and right of the decimal
separator. If the format expression contains only number
signs to the left of this symbol, numbers smaller than 1
begin with a decimal separator. To display a leading zero
displayed with fractional numbers, use 0 as the first digit
placeholder to the left of the decimal separator. The actual
character used as a decimal placeholder in the formatted
output depends on the Number Format recognized by your
system.

(%) Percentage placeholder. The expression is multiplied by 100.


The percent character ( % ) is inserted in the position where
it appears in the format string.
C H A RA C T ER DESC RIP T IO N

(, ) Thousand separator. In some locales, a period is used as a


thousand separator. The thousand separator separates
thousands from hundreds within a number that has four or
more places to the left of the decimal separator. Standard
use of the thousand separator is specified if the format
contains a thousand separator surrounded by digit
placeholders ( 0 or # ). Two adjacent thousand separators or
a thousand separator immediately to the left of the decimal
separator (whether or not a decimal is specified) means
"scale the number by dividing it by 1000, rounding as
needed." For example, you can use the format string "##0,,"
to represent 100 million as 100. Numbers smaller than 1
million are displayed as 0. Two adjacent thousand separators
in any position other than immediately to the left of the
decimal separator are treated simply as specifying the use of
a thousand separator. The actual character used as the
thousand separator in the formatted output depends on the
Number Format recognized by your system.

(: ) Time separator. In some locales, other characters may be


used to represent the time separator. The time separator
separates hours, minutes, and seconds when time values are
formatted. The actual character used as the time separator in
formatted output is determined by your system settings.

(/) Date separator. In some locales, other characters may be


used to represent the date separator. The date separator
separates the day, month, and year when date values are
formatted. The actual character used as the date separator in
formatted output is determined by your system settings.

( E- E+ e- e+ ) Scientific format. If the format expression contains at least


one digit placeholder ( 0 or # ) to the right of E-, E+, e-, or
e+, the number is displayed in scientific format and E or e is
inserted between the number and its exponent. The number
of digit placeholders to the right determines the number of
digits in the exponent. Use E- or e- to place a minus sign
next to negative exponents. Use E+ or e+ to place a minus
sign next to negative exponents and a plus sign next to
positive exponents.

- + $ () Display a literal character. To display a character other than


one of those listed, precede it with a backslash () or enclose
it in double quotation marks (" ").

( ** ) Display the next character in the format string. To display a


character that has special meaning as a literal character,
precede it with a backslash (). The backslash itself isn't
displayed. Using a backslash is the same as enclosing the
next character in double quotation marks. To display a
backslash, use two backslashes (\). Examples of characters
that can't be displayed as literal characters are the date-
formatting and time-formatting characters (a, c, d, h, m, n, p,
q, s, t, w, /, and :), the numeric-formatting characters (#, 0, %,
E, e, comma, and period), and the string-formatting
characters (@, &, &lt;, &gt;, and !).

("ABC") Display the string inside the double quotation marks (" ").
Next steps
You might also be interested in the following articles:
VBA format strings
Measures in Power BI Desktop
Data types in Power BI Desktop
Conditional formatting in tables
Use conditional formatting in tables
6/19/2021 • 8 minutes to read • Edit Online

With conditional formatting for tables in Power BI Desktop, you can specify customized cell colors, including
color gradients, based on field values. You can also represent cell values with data bars or KPI icons, or as active
web links. You can apply conditional formatting to any text or data field, as long as you base the formatting on a
field that has numeric, color name or hex code, or web URL values.
To apply conditional formatting, select a Table or Matrix visualization in Power BI Desktop. In the
Visualizations pane, right-click or select the down-arrow next to the field in the Values well that you want to
format. Select Conditional formatting , and then select the type of formatting to apply.

NOTE
Conditional formatting overrides any custom background or font color you apply to the conditionally formatted cell.

To remove conditional formatting from a visualization, select Remove conditional formatting from the field's
drop-down menu, and then select the type of formatting to remove.
The following sections describe each conditional formatting option. You can combine more than one option in a
single table column.

Format background or font color


To format cell background or font color, select Conditional formatting for a field, and then select either
Background color or Font color from the drop-down menu.

The Background color or Font color dialog box opens, with the name of the field you're formatting in the
title. After selecting conditional formatting options, select OK .
The Background color and Font color options are the same, but affect the cell background color and font
color, respectively. You can apply the same or different conditional formatting to a field's font color and
background color. If you make a field's font and background the same color, the font blends into the background
so the table column shows only the colors.

Color by color scale


To format cell background or font color by color scale, in the Format by field of the Background color or
Font color dialog box, select Color scale . Under Based on field , select the field to base the formatting on.
You can base the formatting on the current field, or on any field in your model that has numerical or color data.
Under Summarization , specify the aggregation type you want to use for the selected field. Under Default
formatting , select a formatting to apply to blank values.
Under Minimum and Maximum , choose whether to apply the color scheme based on the lowest and highest
field values, or on custom values you enter. Drop down and select the colors swatches you want to apply to the
minimum and maximum values. Select the Diverging check box to also specify a Center value and color.
An example table with color scale background formatting on the Affordability column looks like this:

The example table with color scale font formatting on the Affordability column looks like this:

Color by rules
To format cell background or font color by rules, in the Format by field of the Background color or Font
color dialog box, select Rules . Again, Based on field shows the field to base the formatting on, and
Summarization shows the aggregation type for the field.
Under Rules , enter one or more value ranges, and set a color for each one. Each value range has an If value
condition, an and value condition, and a color. Cell backgrounds or fonts in each value range are colored with
the given color. The following example has three rules:

When you select Percent in this dropdown, you’re setting the rule boundaries as a percent of the overall range
of values from minimum to maximum. So, for example, if the lowest data point was 100 and the highest was
400, the above rules would color any point less than 200 as green, anything from 200 to 300 as yellow, and
anything above 300 as red.
An example table with rules-based background color formatting based on Percent in the Affordability column
looks like this:

Color by rules for percentages


If the field the formatting is based on contains percentages, write the numbers in the rules as decimals, which
are the actual values; for example, ".25" instead of "25". Also, select Number instead of Percent for the number
format. For example, "If value is greater than or equal to 0 Number and is less than .25 Number" returns values
less than 25%.
In this example table with rules-based background color on the % revenue region column, 0 to 25% is red,
26% to 41% is yellow, and 42% and more is blue:

NOTE
If you use Percent instead of Number for fields containing percentages, you may get unexpected results. In the above
example, in a range of percent values from 21.73% to 44.36%, 50% of that range is 33%. So use Number instead.

Color by color values


If you have a field or measure with color name or hex value data, you can use conditional formatting to
automatically apply those colors to a column's background or font color. You can also use custom logic to apply
colors to the font or background.
The field can use any color values listed in the CSS color spec at https://www.w3.org/TR/css-color-3/. These
color values can include:
3, 6 or 8-digit hex codes, for example #3E4AFF. Make sure you include the # symbol at the start of the code.
RGB or RGBA values, like RGBA(234, 234, 234, 0.5).
HSL or HSLA values, like HSLA(123, 75%, 75%, 0.5).
Color names, such as Green, SkyBlue, or PeachPuff.
The following table has a color name associated with each state:

To format the Color column based on its field values, select Conditional formatting for the Color field, and
then select Background color or Font color .
In the Background color or Font color dialog box, select Field value from the Format by drop-down field.

An example table with color field value-based Background color formatting on the Color field looks like this:
If you also use Field value to format the column's Font color , the result is a solid color in the Color column:

Color based on a calculation


You can create a calculation that outputs different values based on business logic conditions you select. Creating
a formula is usually faster than creating multiple rules in the conditional formatting dialog.
For example, the following formula applies hex color values to a new Affordability rank column, based on
existing Affordability column values:

To apply the colors, select Background color or Font color conditional formatting for the Affordability
column, and base the formatting on the Field value of the Affordability rank column.

The example table with Affordability background color based on calculated Affordability rank looks like this:

You can create many more variations, just by using your imagination and some calculations.

Add data bars


To show data bars based on cell values, select Conditional formatting for the Affordability field, and then
select Data bars from the drop-down menu.
In the Data bars dialog, the Show bar only option is unchecked by default, so the table cells show both the
bars and the actual values. To show the data bars only, select the Show bar only check box.
You can specify Minimum and Maximum values, data bar colors and direction, and axis color.
With data bars applied to the Affordability column, the example table looks like this:

Add icons
To show icons based on cell values, select Conditional formatting for the field, and then select Icons from the
drop-down menu.
In the Icons dialog, under Format by , select either Rules or Field value .
To format by rules, select a Based on field , Summarization method, Icon layout , Icon alignment , icon
Style , and one or more Rules . Under Rules , enter one or more rules with an If value condition and an and
value condition, and select an icon to apply to each rule.
To format by field values, select a Based on field , Summarization method, Icon layout , and Icon
alignment .
The following example adds icons based on three rules:
Select OK . With icons applied to the Affordability column by rules, the example table looks like this:

Format as web URLs


If you have a column or measure that contains website URLs, you can use conditional formatting to apply those
URLs to fields as active links. For example, the following table has a Website column with website URLs for
each state:
To display each state name as a live link to its website, select Conditional formatting for the State field, and
then select Web URL . In the Web URL dialog box, under Based on field , select Website , and then select OK .
With Web URL formatting applied to the State field, each state name is an active link to its website. The
following example table has Web URL formatting applied to the State column, and conditional Data bars
applied to the Overall rank column.
Totals and subtotals
You can apply conditional formatting rules to totals and subtotals, for both table and matrix visuals.
You apply the conditional formatting rules by using the Apply to drop-down in conditional formatting, as
shown in the following image.
You must manually set the thresholds and ranges for conditional formatting rules. For matrices, Values will
refer to the lowest visible level of the matrix hierarchy.

Color-code based on text


Unlike in Excel, you can't color-code text values to display as a particular color, such as "Accepted"=blue,
"Declined"=red, "None"=grey. You create measures related to these values and apply formatting based on those
instead.
For example, StatusColor = SWITCH('Table'[Status], "Accepted", "blue", "Declined", "red", "None", "grey")
Then in the Background color dialog box, you format the Status field based on the values in the StatusColor
field.

In the resulting table, the formatting is based on the value in the StatusColor field, which in turn is based on
the text in the Status field.
Considerations and limitations
There are a few considerations to keep in mind when working with conditional table formatting:
Any table that doesn't have a grouping is displayed as a single row that doesn't support conditional
formatting.
You can't apply gradient formatting with automatic maximum/minimum values, or rule-based formatting
with percentage rules, if your data contains NaN values. NaN means "Not a number," most commonly caused
by a divide by zero error. You can use the DIVIDE() DAX function to avoid these errors.
Conditional formatting needs an aggregation or measure to be applied to the value. That's why you see 'First'
or 'Last' in the Color by value example. If you're building your report against an Analysis Service
multidimensional cube, you won't be able to use an attribute for conditional formatting unless the cube
owner has built a measure that provides the value.

Next steps
For more information about color formatting, see Tips and tricks for color formatting in Power BI
Expression-based titles in Power BI Desktop
6/19/2021 • 2 minutes to read • Edit Online

You can create dynamic, customized titles for your Power BI visuals. By creating Data Analysis Expressions (DAX)
based on fields, variables, or other programmatic elements, your visuals' titles can automatically adjust as
needed. These changes are based on filters, selections, or other user interactions and configurations.

Creating dynamic titles, sometimes called expression-based titles, is straightforward.

Create a field for your title


The first step in creating an expression-based title is to create a field in your model to use for the title.
There are all sorts of creative ways to have your visual title reflect what you want it to say, or what you want to
express. Let's take a look at an example.
You can create an expression that changes based on the filter context that the visual receives for the product's
brand name. The following image shows the DAX formula for such a field.

This is just one example you can use to create dynamic, expression-based titles for your visuals in Power BI
Desktop. What you can do with your titles are limited only by your imagination, and your model.

Select your field for your title


After you've created the DAX expression for the field you create in your model, you need to apply it to your
visual's title.
To select the field and apply it, go to the Visualizations pane. In the Format area, select Title to show the title
options for the visual.
When you right-click Title text , a context menu appears that allows you to select fx Conditional formatting .
When you select that menu item, a Title text dialog box appears.

From that window, you can select the field that you created to use for your title.

Limitations and considerations


There are a few limitations to the current implementation of expression-based titles for visuals:
Expression-based formatting isn’t currently supported on Python visuals, R visuals, or the Key Influencers
visual.
The field you create for the title must be a string data type. Measures that return numbers or date/time (or
any other data type) aren't currently supported.
Expression based titles aren't carried over when you pin a visual to a dashboard.

Next steps
This article described how to create DAX expressions that turn the titles of your visuals into dynamic fields that
can change as users interact with your reports. You might find the following articles useful as well.
Conditional formatting in tables
Use cross-report drillthrough in Power BI Desktop
Use drillthrough in Power BI Desktop
Sort one column by another column in Power BI
Desktop
6/30/2021 • 2 minutes to read • Edit Online

When you're editing a report in Power BI Desktop, you can choose a column to define the sort order of another
column by setting the Sor t by column .
Here's a common example. You have a Month Name column, and when you add it to a visual, the months are
being sorted alphabetically: April, August, December, February, and so on. Not ideal. You want them to be sorted
chronologically. This article shows how to set the sort order of one column by a different column.

NOTE
When you're reading a report, you can also change how the values in a visual are sorted. See Change how a chart is
sorted in a Power BI report for details.

Set the Sort by column


To set a different column to sort by, both columns need to be at the same level of granularity. For example, to
sort a column of month names, you need a column that contains a number for each month. The sort order will
apply to any visual in the report that contains the sorted column. In the following example, the months are
being sorted alphabetically, but we want them to be sorted chronologically.
1. Select the column that you want to sort, in our case, Month . Note that the months in the visual are
sorted alphabetically. In the Fields pane, the Column tools tab becomes active.
2. Select Sor t by Column , then select the field you want to sort the other field by, in this case, Month
Number .

3. The visual automatically sorts in the order we want: chronologically by the order of months in a year.
Next steps
You might also be interested in the following articles:
Change how a chart is sorted in a Power BI report
Use cross-report drillthrough in Power BI Desktop
Slicers in Power BI
Optimize Power BI reports for the mobile app
7/2/2021 • 6 minutes to read • Edit Online

Mobile users can view any Power BI report page in landscape orientation. However, report authors can create an
additional view that is optimized for mobile devices and displays in portrait orientation. This design option,
which is available in both Power BI Desktop and in the Power BI service, enables authors to select and rearrange
just those visuals that make sense for mobile users on the go.

Power BI provides a number of features to help you create mobile-optimized versions of your reports:
A mobile layout view where you can create your mobile-optimized report by dragging and dropping visuals
onto a phone emulator canvas.
Visuals and slicers that can be optimized for use on small, mobile screens.
These capabilities make it possible to design and build attractive, interactive mobile-optimized reports.

Create a mobile-optimized portrait version of a report page


Prerequisite : The first step is to design and create the report in the regular web view. After you've created the
report, you can optimize it for phones and tablets.
To create the mobile-optimized view, open the report in either Power BI Desktop or in the Power BI service.
When the report is open, go the mobile layout view:
In Power BI Desktop, select the View ribbon and choose Mobile layout .
In the Power BI service, choose Edit repor t > Mobile Layout . If the Edit option is not visible, look under
More options (...) .
You see a scrollable canvas shaped like a phone, and a Page visuals pane that lists all of the visuals that are on
the original report page.
Each visual in the Page visuals pane appears with its name for easy identification.
Each visual also has a visibility indicator. The visibility indicator of a visual changes depending on the
visibility status of the visual in the current state of the web report view. The visibility indicator is useful
when working with bookmarks.

Add visuals to the mobile layout canvas


To add a visual to the mobile layout, drag it from the Page visuals pane to the phone canvas. When you drag
the visual to the canvas, it snaps to the grid. Alternatively, you can double-click the visual in the visualization
pane and the visual will be added to the canvas.
You can add some or all of the web report page visuals to the mobile-optimized report page. You can add each
visual only once, and you don't have to include all the visuals.

NOTE
You can drag and drop hidden visuals onto the canvas. They will be placed, but not shown unless their visibility status
changes in the current web report view.

Visuals can be layered one on top of the other to create interactive reports using bookmarks, or to build
attractive reports by layering visuals over images. You can change the layering order of the visuals in the
Selection pane.
Once you've placed a visual on the canvas, you can resize it by dragging the handles that appear around the
edge of the visual when you select it. To maintain the visual's aspect ratio while resizing, press the Shift key
while dragging the resize handles.
The image below illustrates dragging and dropping visuals from the Page visuals pane onto the canvas, as well
as resizing and overlaying some of them.
The phone report grid scales across phones of different sizes, so your report looks good on small- and large-
screen phones.

Set the layering order of visuals on the mobile layout canvas


Each time you drag a visual onto the canvas, it is added on its own layer on top of any other visuals that are
already on the canvas. The Selection pane enables you to change the layering order.
To open the Selection pane, click the Selection button in the Show panes section on the View tab.
The Selection pane lists all the visuals that are on the canvas. The order of the list reflects the layer ordering on
the canvas - the first listed visual is on the top-most layer, the last listed visual is on the bottom-most layer. To
change the order, you can either drag and drop a visual to another place on the list, or select a visual and use the
arrow buttons to move it up or down.
The Selection pane also has a visibility indication for each visual in the list, but it is not possible to change the
visibility in the mobile layout view - this must be done in the regular web layout view.
Remove visuals from the mobile layout canvas
To remove a visual from the mobile layout, click the X in the top-right corner of the visual on the phone canvas,
or select the visual and press Delete .
You can remove all the visualizations from the canvas by clicking the eraser on the Page visuals pane.
Removing visuals from the mobile layout canvas removes them from the canvas only. The visuals still appear in
the Page visuals pane, and the original report remains unaffected.

Configure visuals and slicers for use in mobile-optimized reports


Visuals
By default, many visuals, particularly chart-type visuals, are responsive. That means they change dynamically to
display the maximum amount of data and insight, no matter the screen size.
As a visual changes size, Power BI gives priority to the data. For example, it might remove padding and move the
legend to the top of the visual automatically so that the visual remains informative even as it gets smaller.

If for some reason you want to turn responsiveness off, you can do that in the General section of the visual's
format settings.
Slicers
Slicers offer on-canvas filtering of report data. When designing slicers in the regular report authoring mode,
you can modify some slicer settings to make them more usable in mobile-optimized reports:
You can decide whether to allow report readers to select only one item or multiple items.
You can make the slicer vertical, horizontal, or responsive (responsive slicers must be horizontal).
If you make the slicer responsive, as you change its size and shape it shows more or fewer options. It can be tall,
short, wide, or narrow. If you make it small enough, it becomes just a filter icon on the report page.
Read more about creating responsive slicers.

Publish a mobile-optimized report


To publish a mobile-optimized version of a report, publish the main report from Power BI Desktop to the Power
BI service. This publishes the mobile-optimized version at the same time.

Viewing optimized and unoptimized reports on a phone or tablet


In the Power BI mobile apps, mobile-optimized reports are indicated by a special icon.

On phones, the app automatically detects whether the report is mobile-optimized or not.
If a mobile-optimized report exists, the app automatically opens the report in mobile-optimized mode.
If a mobile-optimized report doesn’t exist, the report opens in the unoptimized, landscape view.
Holding a phone in landscape orientation opens the report in the unoptimized view with the original report
layout, regardless of whether the report is optimized or not.
If you optimize only some pages, when readers come to an unoptimized page they will be prompted to switch to
landscape view. Turning the phone or tablet sideways will enable them to see the page in landscape mode. Read
more about interacting with Power BI reports optimized for portrait mode.
Considerations when creating mobile-optimized layouts
For reports with multiple pages, you can optimize all the pages or just a few.
If you've defined a background color for a report page, the mobile-optimized report will have the same
background color.
You can't modify format settings just for the mobile-optimized report. Formatting is consistent between the
master and mobile layouts. For example, the font sizes will be the same.
To change a visual, such as changing its formatting, dataset, filters, or any other attribute, return to the web
report authoring mode.

Next steps
Create a phone view of a dashboard in Power BI.
View Power BI reports optimized for your phone.
Power BI documentation on creating reports and dashboards.
More questions? Try asking the Power BI Community.
Use Visual table and Data point table in Power BI
Desktop
5/19/2021 • 2 minutes to read • Edit Online

In Power BI Desktop you can drill into the details of a visualization, and see textual representations of the
underlying data or the individual data records for the selected visual. These features are sometimes referred to
as click-through, drillthrough, or drillthrough to details.
You can use Visual table to view the data in a visual as a table, or use Data point table to view a table of the
data used to calculate a single data point.

IMPORTANT
Visual table and Data point table support only the following visualization types:
Bar chart
Column chart
Donut chart
Filled map
Funnel
Map
Pie chart
Treemap

Use Visual table in Power BI Desktop


Visual table shows you the data underlying a visualization. Visual table appears in the Data/Drill tab in the
ribbon when a visual is selected.

You can also see the data by right-clicking on a visualization, and then selecting Show as a table from the
menu that appears; or by selecting More options (...) in the upper-right corner of a visualization, and then
selecting Show as a table .
NOTE
You must be hovering over a data point in the visual for the right-click menu to be available.

When you select Visual table or Data point table , the Power BI Desktop canvas displays both the visual and
the textual representation of the data. In the horizontal view , the visual is displayed on the top half of the canvas,
and the data is shown on the bottom half.

You can toggle between the horizontal view and a vertical view by selecting the icon in the upper-right corner of
the canvas.
To get back to the report, select < Back to Repor t in the upper-left corner of the canvas.

Use Data point table in Power BI Desktop


You can also focus on one data record in a visualization, and drill into the data behind it. To use Data point
table , select a visualization, then select Data point table in the Data/Drill tab of the ribbon, and then select a
data point or row on the visualization.
NOTE
If the Data point table button in the ribbon is disabled and grayed-out, it means the selected visualization does not
support Data point table .

You can also right-click a data element and select Show data point as a table from the menu that appears.

When you select Data point table for a data element, the Power BI Desktop canvas displays all the data
associated with the selected element.
To get back to the report, select < Back to Repor t in the upper-left corner of the canvas.

NOTE
Data point table has the following limitations:
You can't change the data in the Data point table view and save it back to the report.
You can't use Data point table when your visual uses a calculated measure in a (multidimensional) measure group.
You can't use Data point table when you are connected to a live multidimensional (MD) model.

Next steps
There are all sorts of report formatting and data management features in Power BI Desktop . Check out the
following resources for a few examples:
Use grouping and binning in Power BI Desktop
Use gridlines, snap-to-grid, z-order, alignment and distribution in Power BI Desktop reports
Tips and tricks for creating reports in Power BI
Desktop
4/22/2021 • 17 minutes to read • Edit Online

To get the most out of your data, sometimes you need a little extra help. We’ve put together some tips & tricks
you can use when creating reports in the Microsoft Power BI Desktop and in Microsoft Excel 2016, or Excel 2013
Pro-Plus editions with the Power Pivot add-in enabled and Power Query installed and enabled.

Learning to use the Query Editor


Query Editor in Power BI Desktop is similar to the Power Query add-in capability in Excel 2013. While there are
several helpful articles in Power BI Support, you might also want to review the Power Query documentation on
support.office.com to get started.
You can get additional information from the Power Query Resource Center.
You can also view the Formula Reference.

Data types in Query Editor


When using Query Editor in Power BI Desktop to load data, we do a best guess data type detection. When using
formulas, sometimes data type settings on columns are not preserved. Ensure the data type of columns are
correct after doing the following operations: Load data initially to the query tab, First Row as Header, Add
column, Group by, Merge, Append, and before pressing loading the data for the first time.
One key thing to remember: italics in the data grid do not mean the data type is correctly set, it just means the
data is not considered as Text.

Reference queries in the Query Editor


In Query Editor's navigator in Power BI Desktop, when you right-click one of the queries, an option for
"Reference" is available. This is useful for the following reason:
When you use files as the data source for a query, the absolute path to the file is stored in the query. When
sharing or moving Power BI Desktop file or Excel workbook, you'll save time when you update the paths by
updating it just once rather than the paths.
By default all queries load to the data model. Some queries are intermediary steps and not intended for end
users. When referencing queries as mentioned above, this is often the case. You can control query loading
behavior by right-clicking the query in the navigator and toggling the "Enable Load" option. When Enable Load
does not have a checkmark next to it, the query is still available in the query tab and you can use it with other
queries. It is especially useful in combination with Merge, Append, and Reference transforms. However since the
query results are not loaded to the data model, the query will not clutter your reports field list or your data
model.

Scatter charts need a point identifier


Taking an example of a simple table of Temperatures and the Time the reading was taken. If you plot this directly
on a scatter chart, Power BI aggregates all the values into a single point. To show individual data points, you
must add a field to the Details bucket in the field well. A simple way to do this in Power BI Desktop is on the
query tab by using the "Add index column" option on the "Add Column" ribbon.
Reference lines in your report
You can use a calculated column in Power BI Desktop to define a reference line. Identify the table and column on
which you want to create a reference line. Select "New Column" in the ribbon and, in the formula bar, type the
following formula:

Target Value = 100

This calculated column will return the value 100 regardless of where it is used. Your new column will show up in
the Field List. Add the Target Value calculated column to a line chart to show how any series relates to that
specific reference line.

Sort by another column


When you use a categorical (string) value in Power BI for chart axes or in a slicer or filter, the default order is
alphabetical. If you need to override this order, for example for things like days of the week or months, then you
can tell Power BI Desktop to sort by a different column. To learn more, see Sort by Column in Power BI Desktop.

Building maps more easily with hints to Bing


Power BI integrates with Bing to provide default map coordinates (a process called geo-coding) so it's easier for
you to create maps. Bing uses some algorithms and hints to try to get the right location, but it's a best guess. To
increase the likelihood of correct geo-coding, you can use the following tips:
When you create a map, you're often looking to plot countries/regions, states, and cities. In Power BI Desktop, if
you name columns after the geographic designation it will help Bing guess what you're looking to display. For
example, if you have a field of US state names such as "California" and "Washington", Bing might return the
location of Washington, DC instead of Washington State for the word "Washington". Naming the column "State"
will improve the geocoding. The same goes for columns named "Country" and "City".
Some designations are ambiguous when considered in the context of multiple countries/regions. In some cases
what one country/region considers a 'state' is treated as a 'province' or a 'county' or some other designation.
You can increase the accuracy of geo-coding by building columns that append multiple fields together and use
those for plotting data locations. An example would be instead of passing only "Wiltshire", you can pass
"Wiltshire, England" to get a more accurate geo-coding result.
You can always provide specific latitude and longitude locations in Power BI service or Desktop. When you do
this, you'll also need to pass a Location field, otherwise the data is aggregated by default, so the location of the
latitude and longitude may not match what you expected.

Categorizing geographic fields to hint Bing's geocoding


Another way to ensure fields are correctly geocoded is by setting the Data Category on the data fields. In Power
BI Desktop, select the desired table, go to the Advanced ribbon, and then set the Data Category to Address, City,
Continent, Country/Region, Country, Postal Code, State, or Province. These data categories help Bing to correctly
encode the data. To learn more, see Data categorization in Power BI Desktop.

Better geocoding with more specific locations


Sometimes, even setting the data categories for mapping is insufficient. Build a more specific location like a
street address using the Query Editor in Power BI Desktop. Use the Add Column feature to build a custom
column. Then build the desired location as follows:
= [Field1] & " " & [Field2]

Then use this resulting field in the map visualizations. This is very useful for building street addresses from
shipping address fields that are common in data sets. One note is that the concatenation only works with text
fields. If needed, convert the street number to a text data type before using it to build an address.

Histograms in the query stage


There are several ways to build histograms in Power BI Desktop, we'll start with the simplest and go from there:
Simplest Histograms - Determine which query has the field you want to build a histogram on. Use the
"Reference" option for the query to create a new query and name it "FieldName Histogram". Use the "Group by"
option in the "Transform" ribbon and select the "count rows" aggregate. Ensure the data type is a number for the
resulting aggregate column. Then visualize this data on the reports page. This is fast and easy to build, but
doesn't work well if you have many data points and does not allow brushing across visuals.
Defining buckets to build a histogram - Determine which query has the field you want to build a histogram on.
Use the "Reference" option for the query to create a new query and name it "FieldName". Now define the
buckets with a rule. Use the Add Custom Column option on the Add Column ribbon and build a custom rule. A
simple bucketing rule might look like this:

if([FieldName] \< 2) then "\<2 min" else


if([FieldName] \< 5) then "\<5 min" else
if([FieldName] \< 10) then "\<10 min" else
if([FieldName] \< 30) then "\<30 min" else
"longer")

Ensure the data type is a number for the resulting aggregate column. Now you can use the group by technique
described in Simplest Histogram to achieve the histogram. This option handles more data points but still does
not help with brushing.
Defining a histogram that supports brushing - Brushing is when visuals are linked together so that when a user
selects a data point in one visual, other visuals on the report page highlight or filter data points related to the
selected data point. Since we're manipulating data at query time, we will need to create a relationship between
tables and ensure we know which detail item relates to the bucket in the histogram and vice-versa.
Start the process by using the "Reference" option on the query that has the field you want to build a histogram
on. Name the new query "Buckets". For this example, let's call the original query "Details". Next remove all
columns except the column you'll use as the bucket for the histogram. Now use the "Remove Duplicates" feature
in query, it's on the right click menu when you select the column, so the remaining values are the unique values
in the column. If you have decimal numbers, you can first use the tip for defining buckets to build a histogram to
get a manageable set of buckets. Now, check the data shown in the query preview. If you see blank values or
null, you'll need to fix those up before creating a relationship. See "Creating a relationship if my data has null or
blank values". Using this approach can be problematic due to the need to sort. To get the buckets to sort
correctly, see "Sorting order: make categories appear in the order I want".

NOTE
It's useful to think about the sort order before building any visuals.

Next step in the process is to define a relationship between the "Buckets" and "Details" queries on the buckets
column. In Power BI Desktop, click Manage Relationships in the ribbon. Create a relationship where Buckets is
in the left table and Details in on the right table and select the field you're using for the histogram.
Last step is to create the histogram. Drag the Bucket field from the "Buckets" table. Remove the default field
from the resulting column chart. Now from the "Details" table drag the histogram field into the same visual. In
the field well, change the default aggregate to Count. The result is the histogram. If you create another visual like
a treemap from the Details table, select a data point in treemap to see the histogram highlight and show the
histogram for the selected data point relative to the trend for the entire data set.

Histograms
In Power BI Desktop, you can use a calculated field to define a Histogram. Identify the table and column on
which you want to create a histogram. In the calculation area, type the following formula:

Frequency:=COUNTROWS(<Column Name>)

Save your changes and return to your report. Add the <Column Name> and the Frequency to a table then
convert to a bar chart. Ensure the <Column Name> is on the x-axis and the calculated field Frequency is on the
y-axis.

Tips and tricks for creating relationships in Power BI Desktop


Often when loading detail data sets from multiple sources, issues like null values, blank values, or duplicate
values prevent you from creating relationships.
Let's look at an example:
If we load data sets from of active customer support requests and another data set of work items that have
schemas as follows:

CustomerIncidents: {IncidentID, CustomerName, IssueName, OpenedDate, Status} WorkItems: {WorkItemID,


IncidentID, WorkItemName, OpenedDate, Status, CustomerName }

When we want to track all incidents and work items that relate to a specific a CustomerName, we cannot simply
create a relationship between these two data sets. Some WorkItems may not be related to a CustomerName, so
that field would be blank or NULL. There might be multiple records in WorkItems and CustomerIncidents for
any given CustomerName.
Creating relationships in Power BI Desktop when the data has null or blank values
Often data sets contain columns with null or blank values. This can cause problems when trying to use
relationships. You have essentially two options for addressing the issues. You can remove the rows that have null
or blank values. You can do this using either the filter feature in the query tab or if you're merging queries, select
the "keep only matching rows" option. Alternatively, you can replace the null or blank values with values that
work in relationships, typically strings like "NULL" and "(Blank)". There's no right approach here - Filtering out
rows at the query stage removes rows and can affect summary statistics and calculations. The latter approach
preserves that data rows but can make unrelated rows appear related in the model leading to miscalculations. If
you adopt the latter solution ensure you use filters at the View/Chart where appropriate to ensure you're getting
accurate results. Most importantly, evaluate which rows are kept/removed and understand overall impact on the
analysis..
Creating relationships in Power BI Desktop when the data has duplicate values
Often when loading detailed data sets from multiple sources, duplicate data values prevent you from creating
relationships. You can overcome this by creating a dimension table with the unique values from both data sets.
Let's look at an example:
If we load data sets from of active customer support requests and another data set of work items that have
schemas as follows:

CustomerInicdents: {IncidentID, CustomerName, IssueName, OpenedDate, Status} WorkItems: {WorkItemID,


IncidentID, WorkItemName, OpenedDate, Status, CustomerName }

When we want to track all incidents and work items that relate to a specific CustomerName we cannot simply
create a relationship between these two data sets. Some WorkItems may not be related to a CustomerName, so
that field would be blank or NULL. If you have any blank values or null in the CustomerNames table, you might
still not be able to create a relationship - see Creating relationships if my data has null or blank values. There
might be multiple WorkItems and CustomerIncidents for a single CustomerName.
To create a relationship in this case, we need to create a logical data set of all the CustomerNames across the
two data sets. In the Query tab, you can use the following sequence to create the logical data set:
1. Duplicate both queries, naming the first Temp and the second CustomerNames .
2. In each query, remove all columns except the CustomerName column
3. In each query, use Remove Duplicate .
4. In the CustomerNames query, select the Append option in the ribbon, select the query Temp .
5. In the CustomerNames query, select Remove Duplicates .
Now you have a dimension table that you can use to relate to CustomerIncidents and WorkItems that contains
all the values of each.

Patterns to jump-start your use of the Query Editor


Query Editor is very powerful in how it can manipulate data to shape and clean it so it is ready to be visualized
or modeled. There are a few patterns you should be aware of.
Temporary columns can be deleted after computing a result
Often you need to build a calculation in Power BI Desktop that transforms data from multiple columns into
single new column. This can be complex. One easy way to overcome the problem is do decompose the
operation into steps. Start by duplicating the initial columns. Then build the temporary columns. Then create the
column for the final result. You can then delete the temporary columns so the final data set is not cluttered. This
is possible because the query tab executes steps in order.
Duplicate or Reference queries followed by merge to original query
Sometimes it's useful to compute summary statistics for a data set. The easy way to do this is to duplicate or
reference the query in the query tab. Then use Group by to compute the summary statistics. Summary
statistics help you normalize the data in the original data so they're more comparable. This is especially useful
for comparing individual values to the whole. To do this go to the original query, and select the merge option.
Then merge the data from the summary statistics query matching on the appropriate identifiers. Now you're
ready to normalize the data as needed for your analysis.

Using DAX for the first time


DAX is the calculations formula language in Power BI Desktop. It's optimized for BI analytics. It's a little different
than what you might be familiar with if you've only used a SQL like query language. There are very good
resources online and in literature for learning DAX.
Learn DAX Basics in Power BI Desktop
Data Analysis Expressions (DAX) Reference
DAX Resource Center
Power BI service and Power BI Desktop
Read or watch "How to design visually stunning reports (and dashboards)"
Community member Miguel Myers is a data scientist as well as a graphic designer.

Read the blog


Watch the webinar
Consider your audience
What are the key metrics that will help them make decisions? How will the report be used? What learned or
cultural assumptions may affect design choices? What information does your audience need to be successful?
Where is the report going to be displayed? If it will be on a large monitor, you can put more content on it. If
readers will view it on their tablets, then fewer visualizations will be more readable.
Tell a story and keep it to one screen
Each report page should tell a story at a glance. Can you avoid scroll bars on your pages? Is the report too
cluttered or too busy? Remove all but essential information that can be easily read and interpreted.
Make the most important information biggest
If the text and visualizations on your report page are all the same size, your readers will have a hard time
focusing on what's most important. For example, card visualizations are a good way to display an important
number prominently:

But be sure to provide context


Use features such as textboxes and tooltips to add context to your visualizations.
Put the most important information in the upper corner
Most people read from top to bottom, so put the highest level of detail at the top and show more detail as you
move in the direction the audience uses for reading (left-to-right, right-to-left).
Use the right visualization for the data and format it for easy reading
Avoid visualization variety for the sake of variety. Visualizations should paint a picture and be easy to "read" and
interpret. For some data and visualizations, a simple graphic visualization is enough. But other data may call for
a more-complex visualization - be sure to make use of titles and labels and other customization to help the
reader.
Be careful using charts that distort reality, such as 3-D charts and charts that don't start at zero. Keep in mind
that it is more difficult for the human brain to interpret circular shapes. Pie charts, donut charts, gauges and
other circular chart types may look pretty but perhaps there's a different visual you can use instead?
Be consistent with chart scales on axes, chart dimension ordering and also the colors used for dimension
values within charts.
Be sure to encode quantitative data nicely. Don’t exceed three or four numerals when displaying numbers.
Display measures to one or two numerals left of the decimal point and scale for thousands or millions i.e. 3.4
million not 3,400,000.
Try to avoid mixing levels of precision and time. Make sure that time frames are well understood. Don’t have
one chart that has last month next to filtered charts from a specific month of the year.
Also try to avoid mixing big and small measures on the same scale, such as on a line or bar chart. For
example one measure can be in the millions and the other measure in the thousands. With such a large scale,
it would be difficult to see the differences of the measure that is in the thousands. If you need to mix, choose
a visualization, like a combo chart, that allows the use of a second axis.
Avoid cluttering your charts with data labels that are not needed. The values in bar charts, if large enough ,
are usually well understood without displaying the actual number.
Pay attention to how charts are sorted. If you want to draw attention to the highest or lowest number, sort by
the measure. If you want people to be able to quickly find a particular category within many other categories,
sort by the axis.
Pie charts are best if they have fewer than eight categories. Because you can't compare values side by side,
it’s harder to compare values in a pie chart than in bar and column charts. Pie charts can be good for viewing
part-to-whole relationships rather than for comparing the parts. And Gauge charts are great for displaying
the current status in the context of a goal.
For more visualization-specific guidance, see Visualization types in Power BI.
Learn more about Best Practice Dashboard Design
A few of our favorite books include:
Storytelling with Data by Cole Nussbaumer Knafic
Data points by Nathan Yau
The truthful Art by Alberto Cairo
Now You See It by Stephen Few
Envisioning Information by Edward Tufte
Advanced Presentations Design by Andrew Abela

Next steps
Basic concepts for designers in the Power BI service
Reports in Power BI
More questions? Try the Power BI Community
Group visuals in Power BI Desktop reports
4/28/2021 • 3 minutes to read • Edit Online

With grouping in Power BI Desktop , you can group visuals together in your report, such as buttons,
textboxes, shapes, images, and any visual you create, just like you group items in PowerPoint. Grouping visuals
in a report lets you treat the group like a single object, making moving, resizing, and working with layers in your
report easier, faster, and more intuitive.

Creating groups
To create a group of visuals in Power BI Desktop, select the first visual from the canvas, then holding the CTRL
button, click one or more additional visuals that you want in the group, then right-click the collection of visuals
and select Group from the menu that appears.

Groups are displayed in the Selection pane. You can have as many groups of visuals as your report needs, and
you can also nest groups of visuals. In the following image, the Statistics and Tools groups are nested under the
Header group. You can expand a group by selecting the caret beside the group name, and collapse it by selecting
the caret again.
Within the Selection pane, you can also drag and drop individual visuals to include them in a group, remove
them from a group, nest a group, or remove a group or individual visual from a nest. Simply drag the visual you
want to adjust, and place it where you want. Layering of visuals, if there is overlap, is determined by their order
in the Layer order list.

Renaming a group is easy: just double-click the group name in the Selection pane, and then type in the new
name of your group.

To ungroup just select the group, right-click and select ungroup from the menu that appears.

Hide and show visuals or groups


You can easily hide or show groups using the Selection pane. To hide a group, select the eye button beside the
group name (or any individual visual) to toggle whether the visual or group is hidden or displayed. In the
following image, the Statistics group is hidden, and the rest of the items and groups nested in the Headline
group are displayed.

When you hide a group, all visuals within that group are hidden, indicated by their eye button being grayed out
(unavailable to toggle on or off, because the entire group is hidden). To hide only certain visuals within a group,
simply toggle the eye button beside that visual, and only that visual in the group is hidden.

Selecting visuals within a group


There are a few ways to navigate and select items within a group of visuals. The following list describes the
behavior:
Clicking on empty space within a group (such as white space between visuals) does not select anything
Clicking a visual within a group selects the entire group, a second click selects the individual visual
Selecting a group, and then another object on the report canvas, then selecting Group from the right-click
menu creates a nested group
Selecting two groups, then right-clicking displays an option to merge the selected groups, rather than nesting
them

Apply background color


You can also apply a background color to a group using the Formatting section of the Visualizations pane, as
shown in the following image.
Once you apply a background color, clicking on the space between visuals in the group selects the group
(compare this to clicking on the white space between visuals in a group, which does not select the group).

Next steps
For more information about grouping, take a look at the following video:
Grouping in Power BI Desktop - video
You might also be interested in the following articles:
Use cross-report drillthrough in Power BI Desktop
Using slicers Power BI Desktop
Create and use report templates in Power BI
Desktop
6/3/2021 • 2 minutes to read • Edit Online

With Power BI Desktop, you can create compelling reports that share insights across your entire organization.
With Power BI Desktop templates , you can streamline your work by creating a report template, based on an
existing template, which you or other users in your organization can use as a starting point for a new report's
layout, data model, and queries. Templates in Power BI Desktop help you jump-start and standardize report
creation.

Creating report templates


Power BI report templates contain the following information from the report from which they were generated:
Report pages , visuals, and other visual elements
The data model definition , including the schema, relationships, measures, and other model definition
artifacts
All quer y definitions , such as queries, Query Parameters, and other query elements
What is not included in templates is the report's data.
Report templates use the file extension .PBIT (compare to Power BI Desktop reports, which use the .PBIX
extension).
To create a report template, select File > Expor t > Power BI template from the menu, which brings up the
following window, which prompts you to provide a description for the template. In this example, our description
for the template is Monthly sales report template.
Select OK and you're prompted for a file location to store the .PBIT template file.

And that's it, your Power BI report template is created in the file location you specified, with the .PBIT extension.

NOTE
Power BI report template files are generally much smaller than a Power BI Desktop report, because templates to not
contain any data - just the report definitions themselves.

Using report templates


To use a Power BI report template, simply open it in Power BI Desktop and begin using it. You can open Power BI
report templates in two ways:
Double-click on any .PBIT file to automatically launch Power BI Desktop and load the template
Select File > Impor t > Power BI template from within Power BI Desktop
When you open a report template, a dialog appears that asks for values for any parameters defined in the
report the template is based on. For example, if a report analyzes customers based on country or region and has
a Country parameter to specify the customer base, a prompt appears for you to select a Country value from the
list of values that were specified when defining the parameter.

Once any required parameters are provided, you're prompted for the location of the underlying data associated
with the report. The current report creator can then connect to data based on their credentials.

Once parameters and data have been specified, a report is created containing all the pages, visuals, data model
artifacts, and queries that were part of the report on which the template is based.
That's it. Creating and using report templates in Power BI Desktop is easy, enabling you to easily reproduce
compelling layouts and other report aspects, and share them with others.

Next steps
You might also be interested in learning about Quer y Parameters :
Using Query Parameters in Power BI Desktop?
In addition, there are all sorts of things you can do with Power BI Desktop. For more information on its
capabilities, check out the following resources:
What is Power BI Desktop?
Query Overview with Power BI Desktop
Data Types in Power BI Desktop
Shape and Combine Data with Power BI Desktop
Common Query Tasks in Power BI Desktop
Change settings for Power BI reports
8/5/2021 • 2 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Desktop ✔
️ Power BI service
With the report settings in Power BI Desktop and the Power BI service, you can control how report readers
interact with your report. For example, you can allow them to save filters for the report, personalize the visuals
in the report, or display the report pages as tabs across the bottom of the report instead of along the side.

It might be helpful to read these articles first:


Create a report in the Power BI service by importing a dataset, to understand the report creation experience.
Reports in Power BI, to understand your report readers' experience.
Let's get started!

Prerequisites
For creating reports using Power BI Desktop, see Desktop report view.
Sign up for the Power BI service.
You need to have edit permission for the report in the Power BI service. See Roles in the new workspaces for
details on permission.
If you don't already have a report in the Power BI service, you can install a sample content pack containing a
dashboard, report, and dataset.

Open the Settings pane in Power BI Desktop


1. Select File > Options and settings > Options .
2. Under Current file , select Repor t settings .

The rest of this article calls out some of the specific report settings.

Open the Settings pane in the Power BI service


1. In report Reading view, select File > Settings .
2. In the Settings pane, you see a number of toggles you can set, just for this report. The rest of this article
calls out some of them.

Set featured content


You can feature dashboards, reports, and apps so they appear in the Featured section of your colleagues' Power
BI Home page. Read more about how to feature content.

Set the Pages pane


Currently you can only change the Pages pane setting in the Power BI service. When you toggle Pages pane on,
report readers see the report page tabs along the bottom of the report in Reading view, instead of along the
side. In Edit view, the report page tabs are already along the bottom of the report.

Control filters
The report Settings pane has three settings for controlling reader interactions with the filters on your report.
The following links go to the Format the filters in Power BI reports article for details on each setting.
Persistent filters allow readers to save filters on the report.
Filtering experience has two more settings:
Allow report readers to change filter types.
Enable search in the filter pane.

Export data
By default, report readers can export summarized or underlying data from visuals in your report. With Expor t
data , you can allow them to export only summarized data, or to export no data at all from your report.

Personalize visuals
Allow your readers to change and personalize the visuals in your report. Read more about letting report readers
personalize visuals.

Next steps
Feature content on others' Home pages
Let report readers personalize visuals in a report
More questions? Try the Power BI Community
Feature content on colleagues' Power BI Home
page
7/2/2021 • 2 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI service ❌ Power BI Desktop
You can feature dashboards, reports, and apps so they appear in the Featured section of your colleagues' Power
BI Home page. Featuring content is especially useful for onboarding new employees to Power BI. You decide
which content they see first. Add descriptions and small thumbnail images to help them find what they need.
The content has to be in a new workspace.

Who can feature content


To feature dashboards and reports, you need to have the Admin, Member, or Contributor role in a workspace. To
feature the app itself, you need to have the Admin or Member role in a workspace. See Roles in the new
workspaces for details. You do need to have a Power BI Pro license.
Your Power BI admin can turn off the ability to feature content on your tenant, and choose who can feature
content. See the admin portal article for details.

Who sees featured content


When you feature a dashboard or report from a workspace, people with at least a Viewer role in that workspace
will see it featured. You can also feature a dashboard or report from an app, or the app itself. In that case, the
people you distribute the app to will see it featured.

Feature a dashboard or report


The procedure for featuring either a dashboard or report is similar.
1. In the All or Content list for a workspace, select More options (...) > Settings .
2. In the Settings pane, check or change the name. Add a Description and upload a Snapshot , if you
want them. They're useful because they help your users find your content.
3. Select Feature on Home .
4. Select Save .
Now all users who have access to this dashboard or report will see it in the Featured section on Home .

Feature an app
To feature an app, open the workspace for the app, select the Options menu (...) > Feature this app on
Home .

Now everyone who has access to this app will also see it in the Featured section on Home .

Considerations
Endorsing an app or a report by promoting it automatically checks the Feature on Home checkbox. You can
uncheck Feature on Home anytime. If you do, changing endorsement doesn't recheck Feature on Home .
Read more about promoting your content.

Next steps
How should I collaborate on and share dashboards and reports?
Manage featured content in the Admin portal
Questions? Try the Power BI Community
Let users personalize visuals in a report
8/3/2021 • 5 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Desktop ✔
️ Power BI service
When you share a report with a broad audience, some of your users may want to see slightly different views of
particular visuals. Maybe they'd want to swap what's on the axis, change the visual type, or add something to
the tooltip. It's hard to make one visual that satisfies everyone's requirements. With this new capability, you can
empower your business users to explore and personalize visuals, all in report reading view. They can adjust the
visual the way they want, and save it as a bookmark to come back to. They don't need to have edit permission
for the report, or to go back to the report author for a change.

What report users can change


This feature allows business users to gain further insights through ad-hoc exploration of visuals on a Power BI
report. To learn how to use this feature as a user, see Personalize visuals in your reports. The feature is ideal for
report creators who want enable basic exploration scenarios for their report readers. Here are modifications that
report readers can make:
Change the visualization type
Swap out a measure or dimension
Add or remove a legend
Compare two or more measures
Change aggregations, etc.
Not only does this feature allow for new exploration capabilities. It also includes ways for users to capture and
share their changes:
Capture their changes
Share their changes
Reset all their changes for a report
Reset all their changes for a visual
Clear out their recent changes

Enable personalization in a report


You can enable the feature either in Power BI Desktop or the Power BI service. You can also enable it in
embedded reports.
In Power BI Desktop
To enable the feature in Power BI Desktop, go to File > Options and settings > Options > Current file >
Repor t settings . Make sure Personalize visuals is turned on.

In the Power BI service


To enable the feature in the Power BI service instead, go to Settings for your report.
Turn on Personalize visuals > Save .

Turn the feature on or off at a page or visual level


When you enable Personalize visuals for a given report, by default all visuals in that report can be personalized.
If you don't want all the visuals to be personalized, you can turn the setting on or off per page or per visual.
Per page
Select the page tab > select Format in the Visualizations pane.
Slide Personalize visual > On or Off .
Per visual
Select the visual > select Format in the Visualizations pane > expand Visual header .

Slide Personalize visual > On or Off .


Use Perspectives for a more focused view
For Personalize visuals, you can use Perspectives to choose a subset of a model that provides a more focused
view. Choosing a subset can be helpful when working with a large data model, allowing you to focus on a
manageable subset of fields, and not overwhelm report readers with the full collection of fields in that large
model.

Keep the following considerations in mind when working with perspectives:


Perspectives are not meant to be used as a security mechanism, they are a tool for providing a better
end-user experience. All security for a perspective is inherited from the underlying model.
Perspectives in both tabular and multi-dimensional models are supported. However, for perspectives in
multi-dimensional models, you can only set the perspective to be the same as the base cube for the
report.
Before deleting a perspective from a model, be sure to check that the perspective is not being used in the
Personalize visuals experience.
To use Perspectives, you must enable Personalize visuals for the report. You also must create at least one
Perspective that includes the dimensions and measures you want end-users to interact with for the Personalize
visuals experience.
To create the perspective use Tabular Editor, which you can download from the following location: Tabular Editor
download.
Once you install Tabular Editor , open your report in Power BI Desktop and launch Tabular Editor from the
External Tools tab of the ribbon, as shown in the following image.

In Tabular Editor, right-click on the Perspectives folder to create a new perspective.

You can double-click the text to rename the perspective.

Next, add fields to the perspective by opening the Tables folder in Tabular Editor. Then right-click on the fields
you want to show in the perspective.
Repeat that process for each field you want to add to the perspective. You can’t add duplicate fields in a
perspective, so any fields you already added to a perspective will have the option to add it disabled.
After you added all the fields you want, be sure to save your settings, both in Tabular Editor and then also in
Power BI Desktop.

Once you save the new perspective to the model, and save the Power BI Desktop report, navigate to the Format
pane for the page, where you see a new section for Personalize visual .
The selection for Report-reader perspective is set to Default fields initially. Once you select the drop down arrow,
you see the other Perspectives you’ve created.

Once you set the Perspective for the report page, the Personalize visuals experience for that page is filtered to
the selected Perspective. Selecting Apply to all pages lets you apply your Perspective setting to all existing
pages in your report.

Limitations
Currently the feature has a few limitations to be aware of.
This feature isn't supported for publish to web.
Export to PowerPoint and PDF do not capture personalized visuals.
User explorations don't automatically persist. You need to save your view as a personal bookmark to capture
your changes.
This feature is supported in the Power BI mobile apps for iOS and Android tablets and in the Power BI
Windows app; it is not supported in the Power BI mobile apps for phones. However, any change to a visual
you save in a personal bookmark while in the Power BI service is respected in all the Power BI mobile apps.

Next steps
Personalize visuals in your reports.
Give the new visual personalization experience a try. Give us your feedback for this feature, and how we can
continue to improve it, on the Power BI Ideas site.
More questions? Try the Power BI Community
Interact with a report in Editing view in the Power BI
service
7/2/2021 • 2 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI service ❌ Power BI Desktop
You can create and edit reports in both the Power BI service and Power BI Desktop. In the Power BI service, you
create and edit reports in Editing view . And in Power BI Desktop, you create and edit reports in Report view.
This article covers Editing view in the Power BI service.
The Power BI service has two different modes for interacting with reports: Reading view for report business
users and Editing view for report owners and creators. You need a Power BI Pro or Premium Per User (PPU)
license to share reports as well as to edit reports created by others. Without a Pro or Premium Per User (PPU)
license, you can still create reports in your My Workspace, but you can't share them.
In report Editing view, you have lots of flexibility in both exploring and designing a report. All the Reading view
functionality is available, plus lots more. Editing view is only available to the person who created the report or to
colleagues who are members, admins, or contributors of the workspace where the report is stored. See Roles in
the new workspaces for details on permissions.

Functionality only available in Editing view


Take a look at the list of topics under the Power BI repor ts header in the Table of Contents. It's a long list and
many of the topics cover functionality only available if you have editing permissions for a report. To help you
navigate the Table of Contents, Editing view is required for the following actions:
Creating, editing, renaming, sharing, and deleting reports.
Adding, renaming, rearranging, and deleting report pages.
Formatting reports.
Adding visualizations, text boxes, shapes, and buttons to a report.
Adding visual-level, page-level, and report-level filters and setting visual interactions.
Creating refresh schedules.
Using Q&A functionality to create visuals in reports.
Showing data used to create the visualization.
Setting up drillthrough.
Duplicating a report page.
Using report settings to control your readers' interactions with reports.

Considerations and troubleshooting


A Power BI Pro or Premium Per User (PPU) license is required to edit reports created by others as well as to
share your reports with others. If you don't have a Pro or Premium Per User (PPU) license, you can still create
reports, but you can't share them.

Next steps
Power BI capabilities for business users
More questions? Try the Power BI Community
Analyze in Excel
9/17/2021 • 11 minutes to read • Edit Online

With Analyze in Excel , you can bring Power BI datasets into Excel, and then view and interact with them using
PivotTables, charts, slicers, and other Excel features. To use Analyze in Excel you must first download the
feature from Power BI, install it, and then select one or more datasets to use in Excel.

This article shows you how to install and use Analyze in Excel, describes its limitations, then provides some next
steps. Here's what you'll learn:
Install Analyze in Excel
Connect to Power BI data
Use Excel to analyze the data
Saving and sharing your workbook
Requirements
Let's jump in, and get the installation process started.

Install Analyze in Excel


You must install Analyze in Excel from links provided in the Power BI service. Power BI detects the version of
Excel you have on your computer, and automatically downloads the appropriate version (32-bit or 64-bit). You
can sign in to the Power BI service using the following link:
Sign in to Power BI
Once you've signed in and the Power BI service is running in your browser, select More options (the ...) in the
upper-right corner and then select Download > Analyze in Excel updates . This menu item applies to new
installations of updates of Analyze in Excel.

Alternatively, you can navigate in the Power BI service to a dataset you want to analyze, and select the More
options item for a dataset, report, or other Power BI item. From the menu that appears, select the Analyze in
Excel option, as shown in the following image.

Either way, Power BI detects whether you have Analyze in Excel installed, and if not, you're prompted to
download.
When you select download, Power BI detects the version of Excel you have installed and downloads the
appropriate version of the Analyze in Excel installer. You see a download status in the bottom of your browser, or
wherever your browser displays download progress.

When the download completes, run the installer (.msi) to install Analyze in Excel. The name of the installation
process is different from Analyze in Excel; the name will be Microsoft Analysis Ser vices OLE DB Provider
as shown in the following image, or something similar.

Once it completes, you're ready to select a report in the Power BI service (or other Power BI data element, like a
dataset), and then analyze it in Excel.

Connect to Power BI data


In the Power BI service, navigate to the dataset or report you want to analyze in Excel, and then:
1. Select the More options menu.
2. Select Analyze in Excel from the menu items that appear.
The following image shows selecting a report.

NOTE
Remember that if you select Analyze in Excel from a Report menu, it is the report's underlying dataset that is
brought into Excel.

The Power BI service then creates an Excel file of the dataset that's designed (and structured) for use with
Analyze in Excel , and begins a download process in your browser.

The file name matches the dataset (or report, or other data source) from which it was derived. So if the
report was called Quarterly Report, then the downloaded file would be Quar terly Repor t.xlsx .

NOTE
Analyze in Excel now downloads an Excel file instead of an ODC file. This enables data protection on data exported
from Power BI. The downloaded Excel file inherits the sensitivity label of the dataset chosen for Analyze in Excel.
3. Launch the Excel file.

NOTE
The first time you open the file, you may have to Enable Editing and then Enable Content , depending on your
Protected view and Trusted document settings.

When using Excel to analyze Power BI using a PivotTable, Power BI extends sensitivity label inheritance to Excel. A
sensitivity label applied on a Power BI dataset is automatically applied to the Excel file when you create a
PivotTable in Excel.
If the label on the dataset subsequently changes to be more restrictive, the label applied to the Excel file is
automatically updated upon data refresh in Excel. If the dataset changes to become less restrictive, no label
inheritance or update occurs.
Sensitivity labels in Excel that were manually set are not automatically overwritten by the dataset's label. If an
Excel file has a manually set sensitivity label, a policy tip will appear with a recommendation to upgrade the
label.
For more information, see how to apply sensitivity labels in Power BI.

Use Excel to analyze the data


Once you've enabled editing and content, Excel presents you with an empty PivotTable and Fields list from the
Power BI dataset, ready to be analyzed.

The Excel file has an MSOLAP connection string that connects to your dataset in Power BI. When you analyze or
work with the data, Excel queries that dataset in Power BI and returns the results to Excel. If that dataset connects
to a live data source using DirectQuery, Power BI queries the data source and returns the result to Excel.
With that connection to the data in Power BI now established, you can create PivotTables, charts, and analyze
that dataset just as you would work with a local dataset in Excel.
Analyze in Excel is especially useful for Power BI datasets and reports that connect to the following data
sources:
Azure Analysis Services tabular data models and SQL Server Analysis Services (SSAS) tabular or
multidimensional data models
Connection to datasets from live connection to Analysis Services (Azure and SQL Server) are not
currently supported
Power BI Desktop files or Excel workbooks with data models that have model measures created using
Data Analysis Expressions (DAX).
With Excel for the web , you can now explore and refresh Excel workbooks connected to Power BI datasets. If
you have downloaded an Analyze in Excel workbook from Power BI or connected directly to a Power BI dataset
from Excel desktop, you can share and refresh these workbooks through OneDrive and SharePoint. You can copy
the link to the OneDrive or SharePoint location by clicking the Share button in Excel desktop and pasting the
link directly in a browser. Now you start working with PivotTables connected to Power BI datasets in Excel for the
web just like you would in Excel desktop.

IMPORTANT
Using Analyze in Excel exposes all detail-level data to any users with permission to the dataset.

There are a handful of things to consider when you begin using Analyze in Excel, which might require an extra
step or two to reconcile. These possibilities are described in the following sections.
Sign in to Power BI
Although you’re signed in to Power BI in your browser, the first time you open a new Excel file in Excel you may
be asked to sign in to Power BI with your Power BI account. This authenticates the connection from Excel to
Power BI.
Users with multiple Power BI accounts
Some users have multiple Power BI accounts. If that's you, you might be signed in to Power BI with one account,
but your other account has access to the dataset being used in Analyze in Excel. In that case, you might see a
Forbidden error, or a sign-in failure when attempting to access a dataset that's being used in an Analyze in
Excel workbook.
If that happens, you'll be provided an opportunity to sign in again, at which time you can sign in with the Power
BI account that has access to the dataset being accessed by Analyze in Excel. You can also select your name in the
top ribbon in Excel, which identifies which account is currently signed in. Sign out and sign back in with the
other account.

Saving and sharing your new workbook


You can Save the Excel workbook you create with the Power BI dataset, just like any other workbook. However,
you cannot publish or import the workbook back into Power BI, because you can only publish or import
workbooks into Power BI that have data in tables, or that have a data model. Since the new workbook simply has
a connection to the dataset in Power BI, publishing or importing it into Power BI would be going in circles!
Once your workbook is saved, you can share it with other Power BI users in your organization.
When a user with whom you’ve shared your workbook opens it, they’ll see your PivotTables and data as they
appeared when the workbook was last saved, which may not be the latest version of the data. To get the latest
data, users must use the Refresh button on the Data ribbon. And since the workbook is connecting to a dataset
in Power BI, users attempting to refresh the workbook must sign in to Power BI and install the Excel updates the
first time they attempt to update using this method.
Since users need to refresh the dataset, and refresh for external connections is not supported in Excel Online, it’s
recommended that users open the workbook in the desktop version of Excel on their computer.

NOTE
Administrators for Power BI tenants can use the Power BI Admin Portal to disable the use of Analyze in Excel with on-
premises datasets housed in Analysis Services (AS) databases. When that option is disabled, Analyze in Excel is disabled
for AS databases, but continues to be available for use with other datasets.

Other ways to access Power BI datasets from Excel


Users with specific Office SKUs can also connect to Power BI datasets from within Excel by using the Get Data
feature in Excel. If your SKU does not support this feature, the Get Data menu option does not appear.
From the Data ribbon menu, select Get Data > From Power BI dataset as shown in the following image.

A pane appears, in which you can browse datasets to which you have access, see if datasets are certified or
promoted, and determine whether data protection labels have been applied to those datasets.
For more information about getting data into Excel in this way, see Create a PivotTable from Power BI datasets in
the Excel documentation.
You can also access featured tables in Excel, in the Data Types gallery. To learn more about featured tables,
and how to access them, see Access Power BI featured tables in Excel (preview).
Requirements
Here are some requirements for using Analyze in Excel :
Analyze in Excel is supported for Microsoft Excel 2010 SP1 and later.
Excel PivotTables do not support drag-and-drop aggregation of numeric fields. Your dataset in Power BI must
have pre-defined measures. Read about creating measures.
Some organizations may have Group Policy rules that prevent installing the required Analyze in Excel
updates to Excel. If you’re unable to install the updates, check with your administrator.
Analyze in Excel requires that the dataset be in Power BI Premium or that the user have a Power BI Pro
license. To learn more about the differences in functionality between license types, take a look at the Power BI
features comparison section of Power BI pricing.
Users can connect to datasets through Analyze in Excel if they have permission for the underlying dataset. A
user could have this permission in a few ways, such as having the Member role in the workspace containing
the dataset, or having Build permission for a dataset in a workspace or in an app that contains the dataset.
Read more about Build permission for datasets.
Guest users can't use Analyze in Excel for datasets sent from (originating from) another tenant.
Analyze in Excel is a Power BI service feature, and isn't available in Power BI Report Server or Power BI
Embedded.
Analyze in Excel is only supported on computers running Microsoft Windows.
When sharing an Excel workbook via a Power BI app, you have to provide Build permissions to the dataset in
the app and permissions to the OneDrive or SharePoint location for the Excel workbook. If you use the
"Entire organization" setting when providing permissions to users in the Power BI app, you have to set the
equivalent permission setting in OneDrive or SharePoint for the Excel workbook.
If you need to uninstall the Analyze in Excel feature, use the Add or remove programs system setting on
your computer.

Limitations and considerations


Row-level security (RLS) is supported for Analyze in Excel. RLS is enforced at the data-model level, and is
always applied to all users accessing data in the report. Read more about row-level security.
There may be times when using Analyze in Excel that you get an unexpected result, or the feature doesn't
work as you expected. See Troubleshoot Analyze in Excel for solutions to common issues.
Only Power BI datasets that use Import mode will preserve hierarchies in Analyze in Excel workbooks.
Power BI datasets built on DirectQuery or composite models will not have their hierarchies retained when
using Analyze in Excel .
Analyze in Excel doesn't support specifying a locale by modifying the connection string after a workbook
has been generated.
You may see an error message if the data is larger than 2 GB. In that case, either reduce the amount of data,
for example by applying filters, or use the XMLA endpoint. Learn more about the XMLA endpoint.

Next steps
You might also be interested in the following articles:
Use cross-report drillthrough in Power BI Desktop
Using slicers Power BI Desktop
Troubleshooting Analyze in Excel
Access Power BI featured tables in Excel (preview).
How to apply sensitivity labels in Power BI
Work with aggregates (sum, average, and so on) in
the Power BI service
9/13/2021 • 7 minutes to read • Edit Online

What is an aggregate?
Sometimes you want to mathematically combine values in your data. The mathematical operation could be sum,
average, maximum, count, and so on. When you combine values in your data, it's called aggregating. The result
of that mathematical operation is an aggregate.
When Power BI service and Power BI Desktop create visualizations, they may aggregate your data. Often the
aggregate is just what you need, but other times you may want to aggregate the values in a different way. For
example, a sum versus an average. There are several different ways to manage and change the aggregate Power
BI uses in a visualization.
First, let's take a look at data types because the type of data determines how, and whether, Power BI can
aggregate it.

Types of data
Most datasets have more than one type of data. At the most basic level, the data is either numeric or it isn't.
Power BI can aggregate numeric data using a sum, average, count, minimum, variance, and much more. The
service can even aggregate textual data, often called categorical data. If you try to aggregate a categorical field
by placing it in a numeric-only bucket like Values or Tooltips , Power BI will count the occurrences of each
category or count the distinct occurrences of each category. Special types of data, like dates, have a few of their
own aggregate options: earliest, latest, first, and last.
In the example below:
Units Sold and Manufacturing Price are columns that contain numeric data
Segment , Countr y , Product , Month , and Month Name contain categorical data

When creating a visualization in Power BI, the service will aggregate numeric fields (the default is sum) over
some categorical field. For example, "Units Sold by Product ", "Units Sold by Month " and "Manufacturing Price
by Segment ". Power BI refers to some numeric fields as measures . It's easy to identify measures in the Power
BI report editor -- The Fields list shows measures with the ∑ symbol next to them. See The report editor... take a
tour for more info.
Why don't aggregates work the way I want them to?
Working with aggregates in Power BI service can be confusing. Maybe you have a numeric field and Power BI
won't let you change the aggregation. Or maybe you have a field, like a year, and you don't want to aggregate it,
you just want to count the number of occurrences.
Typically, the underlying issue is the field definition in the dataset. Maybe the dataset owner defined the field as
text and that explains why Power BI can't sum or average it. Unfortunately, only the dataset owner can change
the way a field is categorized. So if you have owner permissions to the dataset, either in Desktop or the program
used to create the dataset (for example, Excel), you can fix this problem. Otherwise, you'll need to contact the
dataset owner for help.
There is a special section at the end of this article called Considerations and troubleshooting . It provides
tips and guidance. If you don't find your answer there, post your question on the Power BI Community forum.
You'll get a quick response directly from the Power BI team.

Change how a numeric field is aggregated


Say you have a chart that sums the units sold for different products, but you'd rather have the average.
1. Create a Clustered column char t that uses a measure and a category. In this example, we're using
Units Sold by Product. By default, Power BI creates a chart that sums the units sold (drag the measure
into the Value well) for each product (drag the category into the Axis well).
2. In the Visualizations pane, right-click the measure, and select the aggregate type you need. In this case,
we're selecting Average . If you don't see the aggregation you need, see the Considerations and
troubleshooting section.

NOTE
The options available in the drop-down list will vary depending on 1) the field selected and 2) the way the dataset
owner categorized that field.

3. Your visualization is now using aggregated by average.


Ways to aggregate your data
Some of the options that may be available for aggregating a field:
Do Not Summarize . With this option chosen, Power BI treats each value in that field separately and
doesn't summarize them. Use this option if you have a numeric ID column that the service shouldn't sum.
Sum . Adds all the values in that field up.
Average . Takes an arithmetic mean of the values.
Minimum . Shows the smallest value.
Maximum . Shows the largest value.
Count (Not Blanks). Counts the number of values in that field that aren't blank.
Count (Distinct). Counts the number of different values in that field.
Standard deviation.
Variance .
Median . Shows the median (middle) value. This value has the same number of items above and below. If
there are two medians, Power BI averages them.
For example, this data:

C O UN T RY A M O UN T

USA 100

UK 150

Canada 100

Germany 125

France

Japan 125
C O UN T RY A M O UN T

Australia 150

Would give the following results:


Do Not Summarize : Each value is shown separately
Sum : 750
Average : 125
Maximum : 150
Minimum : 100
Count (Not Blanks): 6
Count (Distinct): 4
Standard deviation: 20.4124145...
Variance: 416.666...
Median: 125

Create an aggregate using a category (text) field


You can also aggregate a non-numeric field. For example, if you have a product name field, you can add it as a
value and then set it to Count , Distinct count , First , or Last .
1. Drag the Product field into the Values well. The Values well is typically used for numeric fields. Power BI
recognizes that this field is a text field, sets the aggregate to Do not summarize , and presents you with
a single-column table.

2. If you change the aggregation from the default Do not summarize to Count (Distinct) , Power BI
counts the number of different products. In this case, there are four.

3. And if you change the aggregation to Count , Power BI counts the total number. In this case, there are
seven entries for Product .
4. By dragging the same field (in this case Product ) into the Values well, and leaving the default
aggregation Do not summarize , Power BI breaks down the count by product.

Considerations and Troubleshooting


Q: Why don't I have a Do not summarize option?
A: The field you've selected is likely a calculated measure in a multidimensional model, or a measure created in
Excel or Power BI Desktop. Each measure has its own hard-coded formula. You can’t change the aggregation
Power BI uses. For example, if it’s a sum, it can only be a sum. The Fields list shows measures with the calculator
symbol.
Q: My field is numeric, why are my only choices Count and Distinct count ?
A1: The likely explanation is that the dataset owner has not classified the field as a number. For example, if a
dataset has a year field, the dataset owner may categorize the value as text. It's more likely that Power BI will
count the year field (for example, number of people born in 1974). It's less likely that Power BI will sum or
average it. If you're the owner, you can open the dataset in Power BI Desktop and use the Modeling tab to
change the data type.
A2: If the field has a calculator icon, that means it's a measure. Each measure has its own formula that only the
dataset owner can change. The calculation Power BI uses may be a simple aggregation like an average or sum. It
may also be something more complicated like a "percent of contribution to parent category" or "running total
since start of the year". Power BI isn't going to sum or average the results. Instead, it will just recalculate (using
the hard-coded formula) for each data point.
A3: Another possibility is that you've dropped the field into a bucket that only allows categorical values. In that
case, your only options will be count and distinct count.
A4: And a fourth possibility is that you're using the field for an axis. On a bar chart axis, for example, Power BI
shows one bar for each distinct value -- it doesn't aggregate the field values at all.

NOTE
The exception to this rule is scatter charts, which require aggregated values for the X and Y axes.

Q: Why can't I aggregate text fields for SQL Server Analysis Services (SSAS) data sources?
A: Live connections to SSAS multidimensional models don't allow any client-side aggregations, including first,
last, avg, min, max, and sum.
Q: I have a scatter chart and I want my field to not aggregate. How?
A: Add the field to the Details bucket and not to the X or Y axes buckets.
Q: When I add a numeric field to a visualization, most of them default to sum but some default to average or
count or some other aggregation. Why isn't the default aggregation always the same?
A: Dataset owners can set the default summarization for each field. If you're a dataset owner, change the default
summarization in the Modeling tab of Power BI Desktop.
Q: I'm a dataset owner and I want to ensure that a field is never aggregated.
A: In Power BI Desktop, in the Modeling tab, set Data type to Text .
Q: I don't see Do not summarize as an option in my drop-down list.
A: Try removing the field and adding it back in.
More questions? Try the Power BI Community
Create a QR code for a report in Power BI to use in
the mobile apps
7/2/2021 • 2 minutes to read • Edit Online

QR codes in Power BI can connect anything in the real world directly to related BI information - no navigation or
search needed.
You can create a QR code in the Power BI service for any report, even for a report you can't edit. Then you place
the QR code in a key location. For example, you could paste it in an email, or print it out and paste it in a specific
location.
Colleagues you've shared the report with can scan the QR code for access to the report, right from their mobile
device. They can use either the QR code scanner located in the Power BI app, or any other QR scanner installed
on their device. They can also scan a report QR code with the Power BI for Mixed Reality app.

Create a QR code for a report


1. Open a report in the Power BI service.
2. Select the dropdown caret next to File , and select Generate a QR code from the menu.

3. A dialog box with the QR code appears.


4. From here you can scan the QR code or download and save it so you can:
Add it to an email or other document, or
Print it and place it in a specific location.

Print the QR code


Power BI generates the QR code as a JPG file, ready to print.
1. Select Download , then open the JPG file on a computer connected to a printer.
The JPG file has the same name as the tile. For example, "Sales and Marketing Sample.jpg".
2. Print the file at 100% or “actual size”.
3. Cut out the QR code along its edge and glue it to a place relevant to the report.

Next steps
Connect to Power BI data from the real world with the mobile apps
Scan a Power BI QR code from your mobile device
Create a QR code for a tile
Questions? Try asking the Power BI Community
Let users personalize visuals in a report
8/3/2021 • 5 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Desktop ✔
️ Power BI service
When you share a report with a broad audience, some of your users may want to see slightly different views of
particular visuals. Maybe they'd want to swap what's on the axis, change the visual type, or add something to
the tooltip. It's hard to make one visual that satisfies everyone's requirements. With this new capability, you can
empower your business users to explore and personalize visuals, all in report reading view. They can adjust the
visual the way they want, and save it as a bookmark to come back to. They don't need to have edit permission
for the report, or to go back to the report author for a change.

What report users can change


This feature allows business users to gain further insights through ad-hoc exploration of visuals on a Power BI
report. To learn how to use this feature as a user, see Personalize visuals in your reports. The feature is ideal for
report creators who want enable basic exploration scenarios for their report readers. Here are modifications that
report readers can make:
Change the visualization type
Swap out a measure or dimension
Add or remove a legend
Compare two or more measures
Change aggregations, etc.
Not only does this feature allow for new exploration capabilities. It also includes ways for users to capture and
share their changes:
Capture their changes
Share their changes
Reset all their changes for a report
Reset all their changes for a visual
Clear out their recent changes

Enable personalization in a report


You can enable the feature either in Power BI Desktop or the Power BI service. You can also enable it in
embedded reports.
In Power BI Desktop
To enable the feature in Power BI Desktop, go to File > Options and settings > Options > Current file >
Repor t settings . Make sure Personalize visuals is turned on.

In the Power BI service


To enable the feature in the Power BI service instead, go to Settings for your report.
Turn on Personalize visuals > Save .

Turn the feature on or off at a page or visual level


When you enable Personalize visuals for a given report, by default all visuals in that report can be personalized.
If you don't want all the visuals to be personalized, you can turn the setting on or off per page or per visual.
Per page
Select the page tab > select Format in the Visualizations pane.
Slide Personalize visual > On or Off .
Per visual
Select the visual > select Format in the Visualizations pane > expand Visual header .

Slide Personalize visual > On or Off .


Use Perspectives for a more focused view
For Personalize visuals, you can use Perspectives to choose a subset of a model that provides a more focused
view. Choosing a subset can be helpful when working with a large data model, allowing you to focus on a
manageable subset of fields, and not overwhelm report readers with the full collection of fields in that large
model.

Keep the following considerations in mind when working with perspectives:


Perspectives are not meant to be used as a security mechanism, they are a tool for providing a better
end-user experience. All security for a perspective is inherited from the underlying model.
Perspectives in both tabular and multi-dimensional models are supported. However, for perspectives in
multi-dimensional models, you can only set the perspective to be the same as the base cube for the
report.
Before deleting a perspective from a model, be sure to check that the perspective is not being used in the
Personalize visuals experience.
To use Perspectives, you must enable Personalize visuals for the report. You also must create at least one
Perspective that includes the dimensions and measures you want end-users to interact with for the Personalize
visuals experience.
To create the perspective use Tabular Editor, which you can download from the following location: Tabular Editor
download.
Once you install Tabular Editor , open your report in Power BI Desktop and launch Tabular Editor from the
External Tools tab of the ribbon, as shown in the following image.

In Tabular Editor, right-click on the Perspectives folder to create a new perspective.

You can double-click the text to rename the perspective.

Next, add fields to the perspective by opening the Tables folder in Tabular Editor. Then right-click on the fields
you want to show in the perspective.
Repeat that process for each field you want to add to the perspective. You can’t add duplicate fields in a
perspective, so any fields you already added to a perspective will have the option to add it disabled.
After you added all the fields you want, be sure to save your settings, both in Tabular Editor and then also in
Power BI Desktop.

Once you save the new perspective to the model, and save the Power BI Desktop report, navigate to the Format
pane for the page, where you see a new section for Personalize visual .
The selection for Report-reader perspective is set to Default fields initially. Once you select the drop down arrow,
you see the other Perspectives you’ve created.

Once you set the Perspective for the report page, the Personalize visuals experience for that page is filtered to
the selected Perspective. Selecting Apply to all pages lets you apply your Perspective setting to all existing
pages in your report.

Limitations
Currently the feature has a few limitations to be aware of.
This feature isn't supported for publish to web.
Export to PowerPoint and PDF do not capture personalized visuals.
User explorations don't automatically persist. You need to save your view as a personal bookmark to capture
your changes.
This feature is supported in the Power BI mobile apps for iOS and Android tablets and in the Power BI
Windows app; it is not supported in the Power BI mobile apps for phones. However, any change to a visual
you save in a personal bookmark while in the Power BI service is respected in all the Power BI mobile apps.

Next steps
Personalize visuals in your reports.
Give the new visual personalization experience a try. Give us your feedback for this feature, and how we can
continue to improve it, on the Power BI Ideas site.
More questions? Try the Power BI Community
Download a report from the Power BI service to
Power BI Desktop
9/20/2021 • 3 minutes to read • Edit Online

In Power BI Desktop, you can publish a report from your local computer to the Power BI service. Power BI
reports can go the other direction as well, you can download a report from the Power BI service to Power BI
Desktop. The extension for a Power BI report file, in either case, is PBIX.

Requirements
Always use the latest version of Power BI Desktop when you open downloaded files. Downloaded PBIX files
might not open in non-current versions of Power BI Desktop. For example, you cannot open downloaded PBIX
files using a Power BI Desktop version that does not support information protection.
You can download a file in either Reading view or Editing view, but you must have edit access to the
report.
The report must have been created using Power BI Desktop and published or uploaded to the Power BI
service.
The report you're downloading must be published or updated after November 23, 2016. Reports
published earlier aren't downloadable.

Download the report as a PBIX file


To download the .pbix file, follow these steps:
1. In the Power BI service, open the report you want to download.

NOTE
You can download the report in Reading view or Editing view. The image in this procedure is in Editing view.

2. From the top nav pane, select File > Download repor t (Preview) .
3. While the report is downloading, a status banner displays the progress. When the file is ready, you're
asked where to save the PBIX file. The default name of the file matches the title of the report.
4. If you haven't already, install Power BI Desktop, and open the PBIX file in Power BI Desktop.

Report feature parity


When you open a report in Power BI Desktop, you may see a warning message letting you know that some
features available in the Power BI service report aren't available in Power BI Desktop.

Working offline
When working in Power BI Desktop without an internet connection, if you open a report with an AppSource
Power BI visual that wasn't previously saved while Power BI Desktop was online, the visual will not render. To fix
this problem, follow these steps:
1. Make sure you're working online.
2. Open the report in Power BI Desktop. If you're connection was reestablished after the report was opened,
close the report and reopen it.
3. Save the report. After the report is saved, when you open it again without an internet connection, the
Power BI visual will work.

Limitations
This section lists the limitations of downloading a PBIX file.
This feature won't work with reports and the built-in downloadable samples originally created in the
Power BI service, unless the report was created through the quick create experience.
Reports created in the Power BI service must be saved before they can be downloaded.
If your administrator has turned off the ability to download data, this feature won't be visible in the Power
BI service.
Datasets with incremental refresh can't be downloaded to a PBIX file.
Datasets enabled for large models and the reports created from these datasets can't be downloaded to a
PBIX file.
Downloading a PBIX file after deployment isn't supported as part of the deployment pipeline (ALM).
Usage metric reports can't be downloaded to a PBIX file.
Datasets modified by using the XMLA endpoint can't be downloaded to a PBIX file.
If you create a Power BI report based on a dataset in one workspace and publish to a different workspace,
you and your users won't be able to download it. The download feature is not supported in this scenario.
You can only download the original report. You can't download a copy of a report.

Next steps
Reports in Power BI
Basic concepts for designers in the Power BI service
Getting Started with Power BI Desktop
Publish datasets and reports from Power BI Desktop
7/21/2021 • 3 minutes to read • Edit Online

When you publish a Power BI Desktop file to the Power BI service, you publish the data in the model to your
Power BI workspace. The same is true for any reports you created in Repor t view. You’ll see a new dataset with
the same name, and any reports in your Workspace navigator.
Publishing from Power BI Desktop has the same effect as using Get Data in Power BI to connect to and upload a
Power BI Desktop file.

NOTE
Any changes you make to the report in Power BI won't be saved back to the original Power BI Desktop file. This includes
when you add, delete, or change visualizations in reports.

To publish a Power BI Desktop dataset and reports


1. In Power BI Desktop, choose File > Publish > Publish to Power BI or select Publish on the ribbon.

2. Sign in to Power BI, if you aren't already signed in.


3. Select the destination. You can search your list of available workspaces to find the workspace into which
you want to publish. The search box lets you filter your workspaces. Select the workspace, and then click
the Select button to publish.

When publishing is complete, you receive a link to your report. Select the link to open the report in your Power
BI site.
Republish or replace a dataset published from Power BI Desktop
The dataset, and any reports you created in Power BI Desktop, upload to your Power BI site when you publish a
Power BI Desktop file. When you republish your Power BI Desktop file, the dataset in your Power BI site is
replaced with the updated dataset from the Power BI Desktop file.
This process is straightforward, but there are a few things you should know:
Two or more datasets in Power BI with the same name as the Power BI Desktop file could cause
publishing to fail. Make sure you have only one dataset in Power BI with the same name. You can also
rename the file and publish, creating a new dataset with same name as the file.
If you rename or delete a column or measure, any visualizations you already have in Power BI with that
field could be broken.
Power BI ignores some format changes of existing columns. For example, if you change a column’s
format from 0.25% to 25%.
Say you have a refresh schedule that is configured for your existing dataset in Power BI. When you add
new data sources to your file and then republish, you’ll have to sign into them before the next scheduled
refresh.
When you republish a dataset published from Power BI Desktop and have a refresh schedule defined, a
dataset refresh is started as soon as you republish.
When you make a change to a dataset and then republish it, a message shows you how many
workspaces, reports, and dashboards are potentially impacted by the change, and asks you to confirm
that you want to replace the currently published dataset with the one you modified. The message also
provides a link to the full dataset impact analysis in the Power BI service, where you can see more
information and take action to mitigate the risks of your change.
If the dataset (and report, if one exists) in the Power BI service that you're overwriting have sensitivity
labels that differ from the label that is applied to your .pbix file, a dialog will prompt you to choose
whether to keep those labels or to overwrite them with the label coming from your .pbix file.

Learn more about Dataset impact analysis.

NOTE
Some data connection in Power BI reports may include links to data, rather than including the data in the dataset that's
imported into the Power BI service. For example, DirectQuery connections link to data as updates or interactions occur,
rather than importing the data itself. If linked data sources in your report are on premises, you may need a gateway to
access them from Power BI. For more information, see what is an on-premises data gateway?.

Next steps
You can do all sorts of things with Power BI Desktop. For more information on its capabilities, check out the
following resources:
What is Power BI Desktop?
Query overview with Power BI Desktop
Data types in Power BI Desktop
Tutorial: Shape and combine data in Power BI Desktop
Common query tasks in Power BI Desktop
Visualization types in Power BI
8/5/2021 • 11 minutes to read • Edit Online

This article lists visualizations available in Power BI. We'll be adding new visualizations, stay tuned!
And check out the Microsoft AppSource, where you'll find a growing list of Power BI visuals you can download
and use in your own dashboards and reports. Feeling creative? Learn how to create and add your own visuals to
this community site.

Visualizations in Power BI
All of these visualizations can be added to Power BI reports, specified in Q&A, and pinned to dashboards.

Area charts: Basic (Layered) and Stacked

The basic area chart is based on the line chart with the area between the axis and line filled in. Area charts
emphasize the magnitude of change over time, and can be used to draw attention to the total value across a
trend. For example, data that represents profit over time can be plotted in an area chart to emphasize the total
profit.
For more information, see Basic Area chart.

Bar and column charts


Bar charts are the standard for looking at a specific value across different categories.

Cards
Multi row

Multi row cards display one or more data points, one per row.
Single number

Single number cards display a single fact, a single data point. Sometimes a single number is the most important
thing you want to track in your Power BI dashboard or report, such as total sales, market share year over year, or
total opportunities.
For more information, see Create a Card (big number tile).

Combo charts
A combo chart combines a column chart and a line chart. Combining the two charts into one lets you make a
quicker comparison of the data. Combo charts can have one or two Y axes, so be sure to look closely.
Combo charts are a great choice:
When you have a line chart and a column chart with the same X axis.
To compare multiple measures with different value ranges.
To illustrate the correlation between two measures in one visual.
To check whether one measure meets the target which is defined by another measure.
To conserve canvas space.
For more information, see Combo charts in Power BI.

Decomposition tree

The decomposition tree visual lets you visualize data across multiple dimensions. It automatically aggregates
data and enables drilling down into your dimensions in any order. It is also an artificial intelligence (AI)
visualization, so you can ask it to find the next dimension to drill down into based on certain criteria. This makes
it a valuable tool for ad hoc exploration and conducting root cause analysis.

Doughnut charts
Doughnut charts are similar to pie charts. They show the relationship of parts to a whole. The only difference is
that the center is blank and allows space for a label or icon.
For more information, see Doughnut charts in Power BI.

Funnel charts

Funnels help visualize a process that has stages, and items flow sequentially from one stage to the next. One
example is a sales process that starts with leads and ends with purchase fulfillment.
For example, a sales funnel that tracks customers through stages: Lead > Qualified Lead > Prospect > Contract
> Close. At a glance, the shape of the funnel conveys the health of the process you're tracking. Each funnel stage
represents a percentage of the total. So, in most cases, a funnel chart is shaped like a funnel -- with the first
stage being the largest, and each subsequent stage smaller than its predecessor. A pear-shaped funnel is also
useful -- it can identify a problem in the process. But typically, the first stage, the "intake" stage, is the largest.
For more information, see Funnel Charts in Power BI.

Gauge charts
A radial gauge chart has a circular arc and displays a single value that measures progress toward a goal/KPI. The
goal, or target value, is represented by the line (needle). Progress toward that goal is represented by the
shading. And the value that represents that progress is shown in bold inside the arc. All possible values are
spread evenly along the arc, from the minimum (left-most value) to the maximum (right-most value).
In the example above, we are a car retailer, tracking our Sales team's average sales per month. Our goal is 140
and represented by the black needle. The minimum possible average sales is 0 and we've set the maximum as
200. The blue shading shows that we're currently averaging approximately 120 sales this month. Luckily, we still
have another week to reach our goal.
Radial gauges are a great choice to:
Show progress toward a goal.
Represent a percentile measure, like a KPI.
Show the health of a single measure.
Display information that can be quickly scanned and understood.
For more information, see Gauge Charts in Power BI.

Key influencers chart

A key influencer chart displays the major contributors to a selected result or value.
Key influencers are a great choice to help you understand the factors that influence a key metric. For example,
what influences customers to place a second order or why were sales so high last June.
For more information, see Key influencer charts in Power BI

KPIs

A Key Performance Indicator (KPI) is a visual cue that communicates the amount of progress made toward a
measurable goal.
KPIs are a great choice:
To measure progress (what am I ahead or behind on?).
To measure distance to a goal (how far ahead or behind am I?).
For more information, see KPIs in Power BI.

Line charts

Line charts emphasize the overall shape of an entire series of values, usually over time.

Maps
Basic map
Use a basic map to associate both categorical and quantitative information with spatial locations.
For more information, see Tips and tricks for map visuals.
ArcGIS map

The combination of ArcGIS maps and Power BI takes mapping beyond the presentation of points on a map to a
whole new level. The available options for base maps, location types, themes, symbol styles, and reference layers
creates gorgeous informative map visuals. The combination of authoritative data layers (such as census data) on
a map with spatial analysis conveys a deeper understanding of the data in your visual.
For more information, see ArcGIS maps in Power BI.
Azure map

TIP
Used to associate both categorical and quantitative information with spatial locations.

For more information, see Azure Maps visual for Power BI.
Filled map (Choropleth)
A filled map uses shading or tinting or patterns to display how a value differs in proportion across a geography
or region. Quickly display these relative differences with shading that ranges from light (less-frequent/lower) to
dark (more-frequent/more).

TIP
The more intense the color, the larger the value.

For more information, see Filled Maps in Power BI.


Shape map

Shape maps compare regions on a map using color. A shape map can't show precise geographical locations of
data points on a map. Instead, its main purpose is to show relative comparisons of regions on a map by coloring
them differently.
For more information, see Shape Maps in Power BI.

Matrix

The matrix visual is a type of table visual (see Tables in this article) that supports a stepped layout. A table
supports two dimensions, but a matrix makes it easier to display data meaningfully across multiple dimensions.
Often, report designers include matrixes in reports and dashboards to allow users to select one or more
element (rows, columns, cells) in the matrix to cross-highlight other visuals on a report page.

TIP
The matrix automatically aggregates the data and enables drilling down into the data.

For more information, see Matrix visuals in Power BI.

Pie charts
Pie charts show the relationship of parts to a whole.

Power Apps visual

Report designers can create a Power App and embed it into a Power BI report as a visual. Consumers can
interact with that visual within the Power BI report.
For more information, see Add a Power Apps visual to your report.

Q&A visual

TIP
Similar to the Q&A experience on dashboards, the Q&A visual lets you ask questions about your data using natural
language.

For more information, see Q&A visuals in Power BI.

R script visuals
TIP
Visuals created with R scripts, commonly called R visuals, can present advanced data shaping and analytics such as
forecasting, using the rich analytics and visualization power of R. R visuals can be created in Power BI Desktop and
published to the Power BI service.

For more information, see R visuals in Power BI.

Ribbon chart

Ribbon charts show which data category has the highest rank (largest value). Ribbon charts are effective at
showing rank change, with the highest range (value) always displayed on top for each time period.
For more information, see Ribbon charts in Power BI.

Scatter
Scatter, bubble, and dot plot chart
A scatter chart always has two value axes to show one set of numerical data along a horizontal axis and another
set of numerical values along a vertical axis. The chart displays points at the intersection of an x and y numerical
value, combining these values into single data points. These data points may be distributed evenly or unevenly
across the horizontal axis, depending on the data.
A bubble chart replaces data points with bubbles, with the bubble size representing an additional dimension of
the data.

Both scatter and bubble charts can also have a play axis, which can show changes over time.
A dot plot chart is similar to a bubble chart and scatter chart except that it can plot numerical or categorical data
along the X axis. This example happens to use squares instead of circles and plots sales along the X axis.

For more information, see Scatter charts in Power BI.


Scatter-high density
By definition, high-density data is sampled to create visuals reasonably quickly that are responsive to
interactivity. High-density sampling uses an algorithm that eliminates overlapping points, and ensures that all
points in the data set are represented in the visual. It doesn't just plot a representative sample of the data.
This ensures the best combination of responsiveness, representation, and clear preservation of important points
in the overall data set.
For more information, see High Density Scatter charts in Power BI.

Slicers

A slicer is a standalone chart that can be used to filter the other visuals on the page. Slicers come in many
different formats (category, range, date, etc.) and can be formatted to allow selection of only one, many, or all of
the available values.
Slicers are a great choice to:
Display commonly-used or important filters on the report canvas for easier access.
Make it easier to see the current filtered state without having to open a drop-down list.
Filter by columns that are unneeded and hidden in the data tables.
Create more focused reports by putting slicers next to important visuals.
For more information, see Slicers in Power BI.

Smart narrative
The Smart narrative adds text to reports to point out trends, key takeaways, and add explanations and context.
The text helps users to understand the data and identify the important findings quickly.
For more information, see Create smart narrative summaries.

Standalone images

A standalone image is a graphic that has been added to a report or dashboard.


For more information, see Add an image widget to a dashboard.

Tables

A table is a grid that contains related data in a logical series of rows and columns. It may also contain headers
and a row for totals. Tables work well with quantitative comparisons where you are looking at many values for a
single category. For example, this table displays five different measures for Category.
Tables are a great choice:
To see and compare detailed data and exact values (instead of visual representations).
To display data in a tabular format.
To display numerical data by categories.
For more information, see Working with tables in Power BI.

Treemaps
Treemaps are charts of colored rectangles, with size representing value. They can be hierarchical, with rectangles
nested within the main rectangles. The space inside each rectangle is allocated based on the value being
measured. And the rectangles are arranged in size from top left (largest) to bottom right (smallest).
Treemaps are a great choice:
To display large amounts of hierarchical data.
When a bar chart can't effectively handle the large number of values.
To show the proportions between each part and the whole.
To show the pattern of the distribution of the measure across each level of categories in the hierarchy.
To show attributes using size and color coding.
To spot patterns, outliers, most-important contributors, and exceptions.
For more information, see Treemaps in Power BI.

Waterfall charts

A waterfall chart shows a running total as values are added or subtracted. It's useful for understanding how an
initial value (for example, net income) is affected by a series of positive and negative changes.
The columns are color coded so you can quickly tell increases and decreases. The initial and the final value
columns often start on the horizontal axis, while the intermediate values are floating columns. Because of this
"look", waterfall charts are also called bridge charts.
Waterfall charts are a great choice:
When you have changes for the measure across time or across different categories.
To audit the major changes contributing to the total value.
To plot your company's annual profit by showing various sources of revenue and arrive at the total profit (or
loss).
To illustrate the beginning and the ending headcount for your company in a year.
To visualize how much money you make and spend each month, and the running balance for your account.
For more information, see Waterfall charts in Power BI.

Next steps
Visualizations in Power BI reports Power BI Visuals Reference from sqlbi.com, guidance for picking the right
visual for your data
Add visuals to a Power BI report (part 1)
8/9/2021 • 2 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Desktop ✔
️ Power BI service
This article gives a quick introduction to creating a visualization in a report. It applies to both the Power BI
service and Power BI Desktop. For more-advanced content, see Part 2 of this series.

Prerequisites
This tutorial uses the Sales & marketing PBIX file.
1. From the upper left section of the Power BI Desktop menu bar, select File > Open
2. Find your copy of the Sales and marketing sample PBIX file

3. Open the Sales and marketing sample PBIX file in report view .

4. Select to add a new page.

NOTE
Sharing your report with a Power BI colleague requires that you both have individual Power BI Pro licenses or that the
report is saved in Premium capacity. See sharing reports

Add visualizations to the report


1. Create a visualization by selecting a field from the Fields pane.
Start with a numeric field like Sales > TotalSales . Power BI creates a column chart with a single column.

Or, start with a category field, such as Name or Product . Power BI creates a table and adds that field to
the Values well.
Or, start with a geography field, such as Geo > City . Power BI and Bing Maps create a map visualization.

Change the type of visualization


Create a visualization and then change its type.
1. Select Product > Categor y and then Product > Count of Product to add them both to the Values
well.

2. Change the visualization to a column chart by selecting the Stacked column char t icon.

3. To change the way the visual is sorted, select More actions (...). Use the sort options to change the
direction of the sort (ascending or descending) and change the column being used to sort (Sor t by ).

Next steps
Continue on to:
Part 2: Add visualizations to a Power BI report
Interact with the visualizations in the report.
Add visuals to a Power BI report (part 2)
8/9/2021 • 2 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Desktop ✔
️ Power BI service
In Part 1, you created a basic visualization by selecting checkboxes next to field names. In Part 2, you'll learn how
to use drag-and-drop and make full use of the Fields and Visualizations panes to create and modify
visualizations.

Create a new visualization


In this tutorial, we'll dig into our Retail Analysis dataset and create a few key visualizations.

Prerequisites
This tutorial uses the Retail analysis sample PBIX file.
1. From the upper left section of the Power BI Desktop menu bar, select File > Open
2. Find your copy of the Retail Analysis sample PBIX file

3. Open the Retail Analysis sample PBIX file in report view .

4. Select to add a new page.

Add visualizations to the report


Create a visualization by selecting a field from the Fields pane. The type of visualization created will depend on
the type of field selected. Power BI uses the data type to determine which visualization to use to display the
results. You can change the visualization used by selecting a different icon from the Visualizations pane. Keep in
mind that not all visualizations can display your data. For example, geographic data will not display well using a
funnel chart or line chart.
Add an area chart that looks at this year's sales compared to last year
1. From the Sales table, select This Year Sales > Value and Last Year Sales . Power BI creates a column
chart. This chart is interesting, and you want to dig deeper. What do the sales look like by month?
2. From the Time table, drag FiscalMonth into the Axis area.

3. Change the visualization to an area chart. There are many visualization types to choose from - see
descriptions of each, tips for best practices, and tutorials for help with deciding which type to use. From

the Visualizations pane, select the area chart icon .


4. Sort the visualization by selecting More actions (...) and choosing Sor t by > FiscalMonth .
5. Resize the visualization by selecting the visualization, grabbing one of the outline circles and dragging.
Make it wide enough to eliminate the scrollbar and small enough to give us enough room to add another
visualization.
6. Save the report.
Add a map visualization that looks at sales by location
1. From the Store table, select Territor y . Drag Total Stores into the Size area. Power BI recognizes that
Territory is a location, and creates a map visualization.

2. Add a legend. To see the data by store name, drag Store > Chain into the Legend area.

NOTE
Sharing your report with a Power BI colleague requires that you both have individual Power BI Pro licenses or that the
report is saved in Premium capacity. See sharing reports.

Next steps
More about Visualizations in Power BI reports.
More questions? Try the Power BI Community
Visualizations in Power BI reports
7/15/2021 • 3 minutes to read • Edit Online

APPLIES TO: Power BI service for business users Power BI service for designers & developers
Power BI Desktop Requires Pro or Premium license
Visualizations (known as visuals for short) display insights that have been discovered in the data. A Power BI
report might have a single page with one visual or it might have pages full of visuals. In the Power BI service,
visuals can be pinned from reports to dashboards.
It's important to make the distinction between report designers and report consumers. If you are the person
building or modifying the report, then you are a designer. Designers have edit permissions to the report and its
underlying dataset. In Power BI Desktop, this means you can open the dataset in Data view and create visuals in
Report view. In Power BI service, this means you can open the data set or report in the report editor in Editing
view. If a report or dashboard has been shared with you, you are a report consumer. You'll be able to view and
interact with the report and its visuals but you won't be able to make as many changes as a designer can.
There are many different visual types available directly from the Power BI Visualizations pane.

More Power BI visuals are available from the Microsoft AppSource community site. In AppSource you can
browse and download Power BI visuals provided by Microsoft and the community.
If you're new to Power BI, or need a refresher, use the links below to learn the basics of Power BI visualizations.
Alternately, use our Table of Contents (along the left side of this article) to find even more helpful information.

Add a visualization in Power BI


Create visualizations on the pages of your reports. Browse the list of available visualizations and available
visualization tutorials.

Upload a visualization from a file or from AppSource


Add a visualization that you created yourself or that you found in the Microsoft AppSource community site.
Feeling creative? Dig into our source code and use our developing tools to create a new visualization type and
share it with the community. To learn more about developing a Power BI visual, visit Developing a Power BI
visual.

Personalize your visualization pane


You can personalize the visualization pane by adding and removing Power BI visuals from it. If you removed
default visuals from the visualization pane, you can restore the pane to default and bring back all the default
visuals.
Add a visual to the visualization pane
If you find yourself using the same visual across many reports, you can add the visual to your visualization pane.
Adding visuals applies to AppSource visuals, organizational visuals, and visuals from files. To add a visual, right-
click on the visual.

Once a visual has been pinned, it moves up to live with the other default visuals. This visual is now tied to your
signed in account, so any new reports you build will automatically have this visual included, assuming you are
signed in. You no longer need to add a specific visual you regularly use, to every single report.

Remove a visual from the visualization pane


If you stop using a visual regularly, you can right-click it and remove it from the visualization pane. Any type of
visual can be removed from the visualization pane, including default, file ,organizational and AppSource visuals.

Restore the visualization pane


Restoring the visualization pane only applies to default visuals. Visuals that were added to the visualization pane
are not affected and will remain available from the visualization pane. If you want to remove AppSource or file
visuals from the visualization pane, you'll have to do it manually.
To restore the visualization pane to default, click more options and select Restore default visuals .
Change the visualization type
Try changing the type of visualization to see which works best with your data.

Pin the visualization


In Power BI service, when you have the visualization the way you want it, you can pin it to a dashboard as a tile.
If you change the visualization being used in the report after you pin it, the tile on the dashboard doesn't
change. If it was a line chart, it stays a line chart, even if you changed it to a Doughnut chart in the report.

Limitations and considerations


Depending on the data source and the number of fields (measures or columns), a visual may load slowly.
We recommend limiting visuals to 10-20 total fields, both for readability and performance reasons.
The upper limit for visuals is 100 fields (measures or columns). If your visual fails to load, reduce the
number of fields.

Next steps
Visualization types in Power BI
Where to find Power BI visuals
Create your own Power BI visuals
Change the type of visualization in a Power BI
report
8/9/2021 • 2 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Desktop ✔
️ Power BI service

Select a new visualization type


Try different types of visualizations in the Power BI service and Power BI Desktop to see which one illustrates
your data best.
1. Open a report that already has at least one visualization.
2. Select a visualization to make it active. An active visualization has handles and a border.
3. In the Visualizations pane, select the new visualization type.

.
4. (Optional) Pin your visualization to your dashboard as a tile.

Considerations and troubleshooting


If you change the visualization type in the report after you pinned it to your dashboard, the dashboard tile does
not automatically update. So, if you used the Power BI service to pin the visualization as a line chart and then, in
the report, changed it to a bar chart, the already-pinned version of this data will remain a line chart. Pin the bar
chart to see it too on the dashboard.
Sharing your report with a Power BI colleague requires that you both have individual Power BI Pro licenses or
that the report is saved in Premium capacity. See sharing reports.

Next steps
More about Visualizations in Power BI reports
Power BI - Basic Concepts
More questions? Try the Power BI Community
Customize visualization titles, backgrounds, labels,
and legends
9/21/2021 • 6 minutes to read • Edit Online

APPLIES TO: Power BI service for consumers Power BI service for designers & developers Power
BI Desktop Requires Pro or Premium license
In this tutorial, you'll learn a few different ways to customize your visualizations. There are so many options for
customizing your visualizations. The best way to learn about them all is by exploring the Format pane (select
the paint roller icon). To get you started, this article shows you how to customize a visualization title, legend,
background, label, layer, and add a theme.
You can't customize all visualizations. See the complete list of visualizations for details.

Prerequisites
The Power BI service or Power BI Desktop
Retail Analysis Sample report

NOTE
Sharing your report with a Power BI colleague requires that you both have individual Power BI Pro licenses or that the
report is saved in Premium capacity. See sharing reports.

Customize visualization titles in reports


To follow along, sign into Power BI Desktop and open the Retail Analysis Sample report.

NOTE
When you pin a visualization to a dashboard, it becomes a dashboard tile. You can also customize the tiles themselves
with new titles and subtitles, hyperlinks, and resizing.

1. Go to the New Stores page of the Retail Analysis Sample report.


2. Select the Open Store Count by Open Month and Chain clustered column chart.
3. In the Visualizations pane, select the paint roller icon to reveal the format options.
4. Select Title to expand that section.
5. Move the Title slider to On .
6. To change the title, enter Store count by month opened in the Title text field.

7. Change Font color to white and Background color to blue.


a. Select the drop-down and choose a color from Theme colors , Recent colors , or Custom color .

b. Select the drop-down to close the color window.


8. Increase the text size to 16 pt .
9. The last customization you'll make to the chart title is to align it in the center of the visualization.
At this point in the tutorial, your clustered column chart title will look something like this:

Save the changes you've made and move to the next section.
If you ever need to revert all of the changes, select Rever t to default , at the bottom of the Title customization
pane.

Customize visualization backgrounds


With the same clustered column chart selected, expand the Background options.
1. Move the Background slider to On .
2. Select the drop-down and choose a grey color.
3. Change Transparency to 74% .
At this point in the tutorial, your clustered column chart background will look something like this:

Save the changes you've made and move to the next section.
If you ever need to revert all of the changes, select Rever t to default , at the bottom of the Background
customization pane.

Customize visualization legends


1. Open the Over view report page and select the Total Sales Variance by FiscalMonth and District
Manager chart.
2. In the Visualization tab, select the paint roller icon to open the Format pane.
3. Expand the Legend options:

4. Move the Legend slider to On .


5. Move the legend to the left side of the visualization.
6. Add a legend title by toggling Title to On .
7. Enter Manager in the Legend name field.
8. Change Color to black.
Save the changes you've made and move to the next section.
If you ever need to revert all of the changes, select Rever t to default , at the bottom of the Legend
customization pane.

Customize total labels for stacked visuals


Stacked visuals can display data labels and total labels. On a stacked column chart, data labels identify the value
for each portion of a column. Total labels display the total value for the entire aggregated column.
Depending on the visual and its size, data labels may not display. If your data labels don't display, try making the
visual larger or viewing it in full screen mode.
Watch Rien add total labels to a stacked chart, and then follow the steps below to try it out yourself.

1. Open the Over view report page and select the Average selling area size by chain and store type
bar chart.
2. In the Visualization tab, select to convert this bar chart to a stacked bar chart. Notice that the visual
retains its data labels.

3. In the Visualization tab, select the paint roller icon to open the Format pane.
4. Move the Total labels slider to On .

5. Optionally, format the total labels. In this example, we've changed color to black, increased font size, and
opted to display the values as Thousands .

Customize layer order


Change the layering order of visuals and shapes in your reports. Layer order determines which objects will
come to the front when selected. Whenever you select an object on the report canvas, it becomes active and
moves to the top layer. For visuals, this makes it easier to interact with the selected visual. But, for shapes and
backgrounds, you may want to secure them to the bottom layer, so that you can't accidentally select them and
cover or obscure your report visuals.
Layering controls are available in the Power BI service, Power BI Desktop, mobile, and Report server. This article
shows you how to change layer order behavior in the Power BI service.
Watch Rien change layer order behavior, and then follow the steps below to try it out yourself.

1. Add a new report page by selecting the yellow plus sign.


2. Add a shape to the canvas. Here, we've added a blue rectangle.

3. Copy-paste a visual from another page in the report.

Now that you have 2 layers, try selecting the pie chart and then the background. When you select the pie
chart, Power BI makes that object active and displays its header menu. When you select the rectangle,
Power BI makes that object active and brings it to the front where it obscures the pie chart. You can
change this default behavior.
4. Select the rectangle and open the Formatting pane. Expand General and locate the Maintain layer
order toggle. Save the report changes and switch to Reading view.
5. In Reading view, when you select the blue rectangle, it stays in the back layer.

Customize colors using a theme


With report themes you can apply design changes to your entire report, such as using corporate colors,
changing icon sets, or applying new default visual formatting. When you apply a report theme, all visuals in
your report use the colors and formatting from your selected theme.
To apply a theme to your report, select Switch theme from the menu bar. Choose a theme. The report below
uses the Solar theme.

Visualization types that you can customize


Here is a list of the visualizations and the customization options that are available for each:

VISUA L IZ AT IO N T IT L E B A C KGRO UN D L EGEN D TOTA L L A B EL S

Area yes yes yes yes

Bar yes yes yes yes


VISUA L IZ AT IO N T IT L E B A C KGRO UN D L EGEN D TOTA L L A B EL S

Card yes yes n/a n/a

Multi-row Card yes yes n/a n/a

Column yes yes yes yes

Combo yes yes yes yes

Donut yes yes yes n/a

Filled map yes yes yes n/a

Funnel yes yes n/a n/a

Gauge yes yes n/a n/a

Key Influencer yes yes n/a n/a

KPI yes yes n/a n/a

Line yes yes yes n/a

Map yes yes yes n/a

Map: Azure Map yes yes yes n/a

Matrix yes yes n/a yes

Pie yes yes yes n/a

Q&A yes yes n/a n/a

Scatter yes yes yes n/a

Shape yes yes yes n/a

Slicer yes yes n/a n/a

Table yes yes n/a yes

Textbox no yes n/a n/a

Treemap yes yes yes n/a

Waterfall yes yes yes n/a

Next steps
Customize X-Axis and Y-Axis properties
Getting started with color formatting and axis properties
More questions? Try the Power BI Community
Show items with no data in Power BI
9/17/2021 • 7 minutes to read • Edit Online

Power BI lets you visualize all sorts of data from various sources. When creating a visual, Power BI only shows
relevant data to properly manage how data is presented and displayed. Power BI determines which data is
relevant based on the configuration of the visual, and the underlying data model. This article describes how
Power BI behaves when determining relevant data. We've also included some examples that show how
determinations are made.

Determining relevant data


To illustrate how Power BI determines which data is relevant to display, let's look at a table as a simple example.
Using the model represented in the example data model section, found at the end of this article, consider a table
built with the following settings:
1. Groups from the same table: Product[Color] - Product[Size]

P RO DUC T [ C O LO R] P RO DUC T [ SIZ E]

Blue Large

Blue Medium
P RO DUC T [ C O LO R] P RO DUC T [ SIZ E]

Blue Small

Red Large

In this example, Power BI displays the combinations of [Color-Size] that exist in the table [Product].
Now let's look at a different combination:
2. Groups from different but directly related tables and a measure: ProductStyle[Finish] -
Product[Color] - Sum(Sales[Quantity])

P RO DUC T ST Y L E[ FIN ISH ] P RO DUC T [ C O LO R] [ SUM Q UA N T IT Y ]

Gloss Blue 10

Matte Blue 15

In this example, Power BI displays only combinations that exist. Combinations that don't exist in the model, such
as ("None" + "Blue") or ("Matte" + "Red") won't be displayed. The condition that determines which combinations
exist is the value for Sum(Sales[Quantity]) not being blank.
Let's look at a different case:
3. Groups from different but related tables and no measure: ProductStyle[Finish] - Product[Color]

P RO DUC T ST Y L E[ FIN ISH ] P RO DUC T [ C O LO R]

Gloss Blue

Gloss Red

Matte Blue

Because there's no explicit measure and the two tables are directly related, Power BI attempts to inject a measure
to constrain the combinations that result. In this case, Power BI injects a CALCULATE(COUNTROWS('Product'))
measure, which shouldn't be blank, since Product is the table that's common to both tables.
In this case, Power BI displays the combinations that have entries in the Product table, which excludes the
combinations of ("None" + "Blue") and ("Matte" + "Red").
4. Groups from different and unrelated tables
The sample model doesn't include this combination, but if there were groups from different and unrelated
tables, Power BI couldn't relate two columns. The result would be a cross join of all the values of each column. In
that situation, Power BI issues an error of type unconstrained join, because such cross joins are expensive to
compute in the database, and don't provide very much information to a user.
Showing items with no data
The previous section described how Power BI determines which data is relevant to display. But there may be
times when you want to show items with no data.
The Show items with no data feature lets you include data rows and columns that don't contain measure
data (blank measure values).
To enable the Show items with no data feature, do the following steps:
1. Select a visual.
2. In the Values fields well, right-click the field and select Show items with no data from the menu that
appears, as shown in the following image:
The Show items with no data feature doesn't have any effect in the following circumstances:
There's no measure added to the visual, and the grouping columns come from the same table.
Groups are unrelated. Power BI doesn't run queries for visuals that have unrelated groups.
The measure is unrelated to any of the groups. In this case, the measure will never be blank for only some
group combinations.
There's a user-defined measure filter that excludes blank measures. For example: SalesAmount > 0
Cau t i on

Enabling the option to show items with no data may negatively affect performance, and can cause slow
rendering of visuals or time-out of data export.
How Show items with no data works
The most interesting use cases of Show items with no data are when measures are present. Consider the
situation when the groups are from the same table, or can be related through a path in the model. For example,
ProductStyle is directly related to Product and indirectly related to Sales, ProductStyle and ProductCategory can
be related through the Product table, and so on.
Let's look at a couple interesting cases, and compare when Show items with no data is off and then on.
1. Grouping columns from the same table: Product[Color] - Product[Size] - Sum(Sales[Quantity])
How it appears with Show items with no data feature off:

P RO DUC T [ C O LO R] P RO DUC T [ SIZ E] [ SUM Q UA N T IT Y ]

Blue Medium 15

Blue Small 10
P RO DUC T [ C O LO R] P RO DUC T [ SIZ E] [ SUM Q UA N T IT Y ]

How it appears with Show items with no data feature on:

P RO DUC T [ C O LO R] P RO DUC T [ SIZ E] [ SUM Q UA N T IT Y ]

Blue Large

Blue Medium 15

Blue Small 10

Red Large

Notice how two new combinations showed up with the feature turned on: Blue - Large and Red - Large. Both of
those entries have no corresponding Quantity in the Sales table. However, they show up in the Product table.
2. Grouping columns from related tables: ProductStyle[Finish] - Product[Color] - Sum(Sales[Quantity])
How it appears with Show items with no data feature off:

P RO DUC T ST Y L E[ FIN ISH ] P RO DUC T [ C O LO R] [ SUM Q UA N T IT Y ]

Gloss Blue 10

Matte Blue 15

How it appears with Show items with no data feature on:

P RO DUC T ST Y L E[ FIN ISH ] P RO DUC T [ C O LO R] [ SUM Q UA N T IT Y ]

Gloss Blue 10

Gloss Red

Matte Blue 15

None

Notice how (Gloss-Red) and (None, blank) appeared as combinations. Here's the reason they appeared:
Power BI first considered ProductStyle[Finish] and selected all the values to display, which resulted in Gloss,
Matte, None.
Using each of these values, Power BI selected all the corresponding Product[Color] entries.
None doesn't correspond to any Product[Color], so a blank appears for that value.
It's important to note that the mechanism of selecting values for the columns is order-dependent, and can be
thought of as a Left outer join operation between tables. If the order of the columns is changed, the results will
change as well.
Let's look at an example of changing the order, and how it impacts results. This example is the same as item 2 in
this section, with the ordering changed.
Product[Color] - ProductStyle[Finish] - Sum(Sales[Quantity])
How it appears with Show items with no data feature on:

P RO DUC T [ C O LO R] P RO DUC T ST Y L E[ FIN ISH ] [ SUM Q UA N T IT Y ]

Blue Gloss 10

Blue Matte 15

Red Gloss

Notice how ProductStyle[Finish]=None doesn't appear in the table. In this case, Power BI first selected all the
Color values in the Product table. Then, for each color, Power BI selected the corresponding Finish values that
contained data. Since None doesn't show up in any combination of Color, it's not selected.

Power BI visual behavior


When Show items with no data is enabled on one field in a visual, the feature is automatically enabled for all
other fields that are in that same visual bucket or hierarchy. A visual bucket or hierarchy can be its Axis or
Legend , or Categor y , Rows , or Columns .

For example, on a Matrix visual with four fields in the Rows bucket, if one field has Show items with no data
enabled, all items in the matrix will have it enabled. In the following image, the Show items with no data is
enabled on the first field in the Rows bucket, the SupplierID field. The other fields in the Rows bucket have it
automatically enabled as well.

In contrast, the Continent field shown in the Columns bucket doesn't have Show items with no data
automatically enabled.
This visual behavior is often seen if a visual is converted to a different type, such as converting a Matrix visual to
a table visual. In such conversions, the Show items with no data is automatically enabled for any field moved
to a bucket where a field in that bucket has the feature enabled. In the previous example, if SupplierID has the
Show items with no data feature enabled and the visual is converted to a table, the Continent field from the
Columns bucket is moved (along with the fields in the Rows bucket) into the only bucket used in a table visual
- the Values bucket. As such, all fields in the Values bucket will have Show items with no data enabled.
Exporting data
When using the Expor t summarized data feature, the behavior of the Show items with no data feature is
the same as if the export were converted to a Table visual. As such, when exporting a visual such as a Chart
Matrix visual, the exported data may appear differently than the visual displayed. This behavior results because
the conversion to a table visual, as part of the export process, would enable Show items with no data for all
fields being exported.

Example data model


This section shows the sample data model used in the examples in this article.
Model :

Data :

P RO DUC T [ P RO D P RO DUC T [ P RO D P RO DUC T [ C O LO P RO DUC T [ C AT E P RO DUC T [ ST Y L E


UC T ID] UC T N A M E] R] P RO DUC T [ SIZ E] GO RY ID] ID]

1 Prod1 Blue Small 1 1

2 Prod2 Blue Medium 2 2

3 Prod3 Red Large 1 1

4 Prod4 Blue Large 2 2


P RO DUC TC AT EGO RY [ C AT EGO RY ID] P RO DUC TC AT EGO RY [ C AT EGO RY N A M E]

1 Phone

2 Camera

3 TV

P RO DUC T ST Y L E[ ST Y L EID] P RO DUC T ST Y L E[ F IN ISH ] P RO DUC T ST Y L E[ P O L ISH ED]

1 Gloss Yes

2 Matte No

3 None No

SA L ES[ SA L EID] SA L ES[ P RO DUC T ID] SA L ES[ DAT E] SA L ES[ Q UA N T IT Y ]

1 1 1/1/2012 0:00 10

2 2 1/1/2013 0:00 15

Next steps
This article described how you can enable the Show items with no data feature in Power BI. You might also
be interested in the following articles:
Default member in multidimensional models in Power BI
Apply data-point limits and strategies by visual type
6/9/2021 • 5 minutes to read • Edit Online

APPLIES TO: Power BI service for business users Power BI service for designers & developers
Power BI Desktop Requires Pro or Premium license
When rendering a visual in Power BI, the visualization must be quick and accurate. That requires underlying
algorithms configured for each visual type. Visuals in Power BI must be flexible enough to handle different sizes
of datasets. Some datasets have only a handful of data points, while other datasets have petabytes of data
points. This article explains the strategies used by Power BI to render visualizations.

Data reduction strategies


Every visual employs one or more data reduction strategies in order to handle the potentially large volumes of
data being analyzed. Even a simple table employs a strategy to avoid loading the entire dataset to the client. The
reduction strategy being used varies by visual type. Each visual selects from the supported data reduction
strategies as part of generating the data request sent to the server.
Each visual controls the parameters on those strategies to influence the overall amount of data.

Strategies
For each strategy, there are defaults based on the shape and type of data being visualized. But the defaults can
be overridden, in the Power BI Formatting pane, to provide the right user experience.
Data Windowing (Segmentation): Allow users to scroll through the data in a visual by progressively
loading fragments of the overall dataset.
TopN : Show only the first N items
Simple Sample : Show the first, last, and N evenly distributed items in between.
BottomN : Show only the last N items. Useful for monitoring frequently updated data.
High-density sampling - An improved sampling algorithm that better respects outliers and/or the shape
of a curve.
Binned line sampling - Sample data points based on outliers in bins across an axis
Overlapping points sampling - Sample data points based on overlapping values to preserve
outliers

Statistics
Certain models can provide statistics about the number of values for certain columns. When such information is
present, we leverage that information to provide better balancing across multiple hierarchies, if a visual does not
explicitly override the count of values for a strategy.
For more information, see What's new in Analysis Services

Dynamic limits
In addition to the strategies above, visuals with two hierarchies of grouping columns (axis and legend, or
category and series) use one additional strategy called dynamic limits. Dynamic limits are designed to better
balance data points.
Dynamic limits provide a better selection of points for sparse data than static limits would. For example, a visual
could be configured to select 100 categories and 10 series with a total of 1000 points. But the actual data has 50
categories and 20 series. At query runtime, dynamic limits selects all 20 series to fill up the 1000 points
requested.
Dynamic limits are automatically applied when the server is capable as detailed below:
In Power BI Desktop with On-premises SSAS version 2016 or higher leveraging the SuperDax capabilities
of the server.
In Desktop and Power BI service when using an imported model, Direct Query, live connect to the service,
or live connect to AS PaaS.
In the Power BI service, when connecting through an on-premises gateway to on-premises SSAS version
2016 or higher leveraging the SuperDax capabilities of the server.

Strategies and data point limits by visual type


Area chart
See How line sampling works
Bar/column chart
When in categorical mode
Categories: Virtualization by using Window of 500 rows at a time
Series: Top 60
When in scalar mode (could use dynamic limits)
Max points: 10,000
Categories: Sample of 500 values
Series: Top 20 values
Card (multirow)
Values: Virtualization by using Window of 200 rows at a time
Combo chart
Uses the same strategies as column chart. Notice that the line in the combo char t does not use the high-
density algorithm that the line char t uses.
Power BI visuals
Can get up to 30,000 but it is up to the visual authors to indicate what strategies to use. The default limit is 1,000
but the visual creator can change that, up to a maximum of 30,000.
Doughnut
Max points: 3,500
Group: Top 500
Details: Top 20
Filled map choropleth
The filled map can use statistics or dynamic limits. Power BI tries to use reduction in the following order:
dynamic limits, statistics, and lastly configuration.
Max points: 10000
Categories: Top 500
Series (when both X and Y are present): Top 20
Funnel
Max points: 3,500
Categories: Top 3,500
KPI
Trend axis
Bottom 3,500
Line chart
See How line sampling works
Line chart, high density
See High density sampling
Map
Max points: 3,500
Depending on the configuration, a map can have:
Location: Top 3,500
Location, Size: Top 3,500
Location, Latitude, and Longitude aggregates (+/-Size): Top 3,500
Latitude, Longitude: see High density scatter
Latitude, Longitude, Size: Top 3,500
Legend, Latitude, Longitude: see High density scatter
Legend, Latitude, Longitude, Size: Top 233 legends, Top 15 latitude and longitude (could use statistics or
dynamic limits)
Location, Legend, Latitude, and Longitude as aggregates (+/-Size): Top 233 locations, Top 15 legends (could
use statistics or dynamic limits)
Maps: Azure Maps
Max points: 30,000
See High density sampling
Matrix
Rows: Virtualization by using Window of 500 rows at a time
Columns: Top 100 grouping columns
Values: multiple values do not count against the data reduction
PowerApps visual
Can get up to 30,000 but it is up to the visual authors to indicate what strategies to use. The default limit is 1,000
but the visual creator can change that, up to a maximum of 30,000.
Radial gauge
No reduction strategy
Slicer
Values: Virtualization by using Window of 200 rows at a time
Scatter chart (high density)
See High density scatter
Pie
Max points: 3,500
Group: Top 500
Details: Top 20
R & Python visuals
Limited to 150,000 rows. If more than 150,000 rows are selected, only the top 150,000 rows are used
Ribbon chart
When in categorical mode
Categories: Virtualization (data windowing) by using Window of 500 rows at a time
Series: Top 60
When in scalar mode (could use dynamic limits)
Max points: 10,000
Categories: Sample of 500 values
Series: Top 20 values
Shape map (Preview)
The shape map can use statistics or dynamic limits.
Max points: 1,500
Categories: Top 500
Table
Values: Virtualization (data windowing) by using Window of 500 rows at a time
Tree map (could use statistics or dynamic limits)
Max points: 3,500
Group: Top 500
Details: Top 20
Waterfall chart
When there is only the category bucket
Max points: 3,500
Category only - top 3,500
When both category and breakdown are present
Category: Virtualization (data windowing) by using Window of 30 rows at a time
Breakdown - Top 200 values

Next steps
Visualization types
Display a visualization's underlying data
3/5/2021 • 2 minutes to read • Edit Online

APPLIES TO: Power BI service for consumers Power BI service for designers & developers Power
BI Desktop Requires Pro or Premium license

Show data
A Power BI visualization is constructed using data from your datasets. If you're interested in seeing behind-the-
scenes, Power BI lets you display the data that is being used to create the visual. When you select Show Data ,
Power BI displays the data below (or next to) the visualization.
You can also export the data that is being used to create the visualization as an .xlsx or .csv file and view it in
Excel. For more information, see Export data from Power BI visualizations.

NOTE
Show Data and Export Data are both available in Power BI service and Power BI Desktop. However, Power BI Desktop
provides one additional layer of detail; Show Records displays the actual rows from the dataset.

Using Show Data


1. In Power BI Desktop, select a visualization to make it active.
2. Select More actions (...) and choose Show data .

3. By default, the data displays below the visual.


4. To change the orientation, select vertical layout from the top-right corner of the visualization.

5. To export the data to a .csv file, select the ellipses and choose Expor t data .
For more information on exporting the data to Excel, see Export data from Power BI visualizations.
6. To hide the data, de-select Explore > show data .

Using Show records


You can also focus on one data record in a visualization, and drill into the details behind it.
1. To use See records , select a visualization to make it active.
2. In the Desktop ribbon, select the tab for Visual tools > Data/Drill > See records .

3. Select a data point or row on the visualization. In this example, we've selected the fourth column from the
left. Power BI shows us the dataset record for this data point.

4. Select Back to repor t to return to the Desktop report canvas.


Considerations and troubleshooting
If the See records button in the ribbon is disabled and grayed-out, it means the selected visualization does
not support See Records.
You can't change the data in the See Records view and save it back to the report.
You can't use See Records when your visual uses a calculated measure in a multidimensional model.
You can't use See Records when you are connected to a live multidimensional (MD) model.

Next steps
Export data from Power BI visualizations
More questions? Try the Power BI Community
Getting started with the formatting pane
9/21/2021 • 5 minutes to read • Edit Online

APPLIES TO: Power BI service for consumers Power BI service for designers & developers Power
BI Desktop Requires Pro or Premium license
If you have edit permissions for a report, there are numerous formatting options available. In Power BI reports,
you can change the color of data series, data points, and even the background of visualizations. You can change
how the x-axis and y-axis are presented. You can even format the font properties of visualizations, shapes, and
titles. Power BI provides you with full control over how your reports appear.
To get started, open a report in Power BI Desktop or the Power BI service. Both provide almost identical
formatting options. When you open a report in the Power BI service, be sure to select Edit from the menu bar.

When you’re editing a report and you have a visualization selected, the Visualizations pane appears. Use this
pane to change visualizations. Directly below the Visualizations pane are three icons: the Fields icon (a stack
of bars), the Format icon (a paint roller), and the Analytics icon (a magnifying glass). In the image below, the
Fields icon is selected, indicated by a yellow bar below the icon.

When you select Format , the area below the icon displays the customizations available for the currently
selected visualization.
You can customize many elements of each visualization. The options available depend on the visual selected.
Some of those options are:
Legend
X-axis
Y-axis
Data colors
Data labels
Total labels
Shapes
Plot area
Title
Background
Lock aspect
Border
Tooltips
Visual headers
Shapes
Position
and more.

NOTE
You won’t see all these elements with each visualization type. The visualization you select will affect which customizations
are available; for example, you won’t see an X-Axis if you have a pie chart selected because pie charts don’t have an X-
axis.

Also note that if you don’t have any visualization selected, Filters appears in place of the icons, which lets you
apply filters to all visualizations on the page.
The best way to learn how to use the Formatting options is to try them out. You can always undo your changes
or revert to default. There are an incredible amount of options available, and new ones being added all the time.
It's just not possible to describe all formatting options in one article. But to get you started, let's review a few
together.
1. Change colors used in the visual
2. Apply a style
3. Change axis properties
4. Add data labels
5. Add total labels

Working with colors


Let’s walk through the steps necessary to customize colors on a visualization.
1. Select a visualization to make it active.
2. Select the paint roller icon to open the Formatting tab. The Formatting tab displays all the formatting
elements available for the selected visual.

3. Select Data Colors to expand its available customizations.


4. Change Show all to On, and select different colors for columns, rows, lines -- depending on the visual
type.

Here are a few useful tips for working with colors. The numbers in the following list are also shown on the
following screen, indicating where these useful elements can be accessed or changed.
1. Don’t like the color? No problem, just select Rever t to default and your selection reverts to the default
setting.
2. Don't like any of the color changes? Select Rever t to default from the bottom of the Data color
section, and your colors revert to the default settings.
3. Want a color you don’t see in the palette? Just select Custom color , and choose from the spectrum.

Not crazy about the change you just made? Use CTRL+Z to undo , just like you’re used to doing.

Applying a style to a table


Some Power BI visualizations have a Style option. With one click, a full set of formatting options are applied to
your visualization, all at once.
1. Select a table or matrix to make it active.
2. Open the Formatting tab and select Style .

3. Select a style from the dropdown.

Even after you apply a Style, you can continue formatting properties, including color, for that visualization.

Changing axis properties


It’s often useful to modify the X-axis or the Y-axis. Similar to working with colors, you can modify an axis by
selecting the down-arrow icon to the left of the axis you want to change, as shown in the following image.
In the example below, we've formatted the Y axis by:
moving the labels to the right side of the visualization
changing the starting value to zero.
changing the label font color to black
increasing label font size to 12
adding a Y-axis title

You can remove the axis labels entirely, by toggling the radio button beside X-Axis or Y-Axis . You can also
choose whether to turn axis titles on or off by selecting the radio button next to Title .

Adding data labels


Let's add data labels to an area chart.
Here is the before picture.

And, here is the after picture.

We selected the visualization to make it active and opened the Formatting tab. We selected Data labels and
turned them On. Then we increased font to 12, changed font family to Arial Black, turned Show background to
On and background color to white with a transparency of 5%.
Depending on the visual and its size, data labels may not display. If your data labels don't display, try making the
visual larger or viewing it in full screen mode.
These are just a few of the formatting tasks that are possible. Open a report in Editing mode and have fun
exploring the Formatting pane to create beautiful and informative visualizations.

Adding total labels


One last formatting example before you start exploring on your own. Let's add total labels to a stacked column
chart. Total labels are available for stacked charts, combo charts, and area charts.
When you turn on total labels, Power BI displays the aggregate, or total, of the data. Let's look at an example.
Here, we have a stacked column chart with data labels showing the value of each portion of each full stack. This
is the default view.

By opening the visual in Editing view, you can change the display for data labels and total labels. Select the visual
to make it active and open the Formatting pane. Scroll down to Data labels and Total labels . Data labels is
On and Total labels is Off.
Turn Data labels Off, and turn Total labels On. Power BI now displays the aggregate for each column.

These are just a few of the formatting tasks that are possible. Open a report in Editing mode and have fun
exploring the Formatting pane to create beautiful and informative visualizations.

Next steps
For more information, see the following article:
Sharing reports
Tips and tricks for color formatting in Power BI
Conditional formatting in tables
Tips and tricks for formatting in reports
7/22/2021 • 7 minutes to read • Edit Online

APPLIES TO: Power BI service for consumers Power BI service for designers & developers Power
BI Desktop Requires Pro or Premium license
Power BI provides many different ways to customize your reports. This article details a collection of tips that can
make your Power BI visualizations more compelling, interesting, and customized to your needs.
The following tips are provided. Have another great tip? Great! Send it our way and we’ll see about adding it to
this list.
Apply a theme to the entire report
Change the color of a single data point
Conditional formatting
Base the colors of a chart on a numeric value
Base the color of data points on a field value
Customize colors used in the color scale
Use diverging color scales
Add color to table rows
How to undo in Power BI
To make any changes, you must have edit permissions for the report. In Power BI Desktop, open the report in
Repor t view. In the Power BI service, that means opening the report and selecting Edit from the menu bar, as
shown in the following image.

When the Filters and Visualizations panes appear along the right side of the report canvas, you’re ready to
start customizing. If the panes do not appear, select the arrow, from the top-right corner, to open them.

Apply a theme
With report themes you can apply design changes to your entire report, such as using corporate colors,
changing icon sets, or applying new default visual formatting. When you apply a report theme, all visuals in
your report use the colors and formatting from your selected theme. To learn more, see Use report themes

Here, we've applied the Innovate theme to the Sales and Marketing report.
Change the color of a single data point
Sometimes you want to highlight one particular data point. Perhaps it’s a sales figure for the launch of a new
product, or increased quality scores after launching a new program. With Power BI, you can highlight a
particular data point by changing its color.
The following visualization ranks units sold by product segment.

Now imagine you want to call out the Convenience segment to show how well this brand new segment is
performing, by using color. Here are the steps:
Expand the Data colors card and turn the slider On for Show all . This displays the colors for each data element
in the visualization. You can now modify any of the data points.
Set Convenience to orange.

Once selected, the Convenience data point is a nice shade of orange, and certainly stands out.
If you expect to add new columns to the chart, and want to maintain the same color scheme, be sure to set the
Default color to grey.
Even if you change visualization types, then return, Power BI remembers your selection and keeps
Convenience orange.

Change the color of all data points


You can change the color of a data point for one, several, or all data elements in the visualization. Perhaps you
want your visual to mimic your corporate colors of yellow, green, and blue.

Or, perhaps you want a different color for each category.


Notice that the legend colors match the data colors. Legend colors aren't set separately, but inherit the colors set
for the Data colors .

NOTE
There are certain circumstances where Power BI will change the legend (and data) colors. One example is when your visual
is created using streaming data, a new month begins, and a new category is introduced into your visual. Let's say that
you've set the data colors for all five categories in the line chart above. And now it's Jan-13 and another manufacturer has
entered the market. Because you did not set a data color for that new manufacturer, you may find that Power BI has
changed the data colors for the original five manufacturers. When a new category is introduced, you may have to
reassign data colors to the new and existing categories using the Formatting > Data colors pane.

There are all sorts of things you can do with colors. In the next section, we take a look at conditional formatting.

Conditional formatting for visualizations


Visualizations often benefit from dynamically setting color based on the numeric value of a field. By doing this,
you could show a different value than what’s used for the size of a bar, and show two values on a single graph.
Or you can use this to highlight data points over (or under) a certain value – perhaps highlighting areas of low
profitability.
The following sections demonstrate different ways to base color on a numeric value.
Base the color of data points on a value
To change color based on a value, select a visualization to make it active. Open the Formatting pane by selecting
the paint roller icon and then choose the Data colors card. Below Default color , select the fx icon.

In the Default color pane, use the dropdowns to identify the fields to use for conditional formatting. In this
example, we've selected the Sales fact > Total Units field and selected light blue for the Lowest value and
dark blue for Highest value .
You can also format the color of the visual using a field that is not part of the visual. In the following image,
%Market Share SPLY YTD is being used.
As you can see, although we've sold more units of both Productivity and Extreme (their columns are higher),
Moderation has a larger %Market Share SPLY YTD (its column has more color saturation).
Customize the colors used in the color scale
You can also change the way the values map to these colors. In the following image, the colors for Minimum
and Maximum are set to orange and green, respectively.
In this first image, notice how the bars in the chart reflect the gradient shown in the bar; the highest value is
green, the lowest is orange, and each bar between is colored with a shade of the spectrum between green and
orange.

Now, let’s see what happens if we provide numeric values in the Minimum and Maximum value boxes. Select
Custom from the dropboxes for both Minimum and Maximum , and set Minimum to 3,500, and set
Maximum to 6,000.

By setting those values, gradient is no longer applied to values on the chart that are below Minimum or above
Maximum ; any bar with a value over Maximum value is colored green, and any bar with a value under
Minimum value is colored red.
Use diverging color scales
Sometimes your data may have a naturally diverging scale. For example, a temperate range has a natural center
at freezing point, and a profitability score has a natural mid-point (zero).
To use diverging color scales, select the checkbox for Diverging . When Diverging is turned on, an additional
color selector, called Center , appears, as shown in the following image.

When the Diverging slider is on, you can set the colors for Minimum , Maximum and Center separately. In
the following image, Center is set to .2 for % Market Share SPLY YTD , so bars with values above .2 are a
gradient shade of green, and bars below one are shades of red.
Add color to table rows
Tables and matrixes offer many options for color formatting.

One of the quickest ways to apply color to a table or matrix is to open the Formatting tab and select Style . In the
image below, we've selected Bold header flashy rows .

Experiment with other color formatting options. In this image, we've changed the background color under
Column headers and changed both the Background color and Alternate background color for the
Values (rows).

How to undo in Power BI


Like many other Microsoft services and software, Power BI provides an easy way to undo your last command.
For example, let’s say you change the color of a data point, or a series of data points, and you don’t like the color
when it appears in the visualization. You don’t recall exactly which color it was before, but you know you want
that color back!
To undo your last action, or the last few actions, all you have to do is type CTRL+Z.
To discard all the changes you made on a Formatting card, select Rever t to default .

Give us your feedback


Do you have a tip you’d like to share? Please send it our way, and we’ll see about including it here.

Next steps
Getting started with color formatting and axis properties
Sharing reports.
Copy and paste a report visualization
4/6/2021 • 4 minutes to read • Edit Online

APPLIES TO: Power BI service for business users Power BI service for designers & developers
Power BI Desktop Requires Pro or Premium license
This article covers two different ways to copy and paste a visual.
copy a visual in a report and paste it onto another report page (requires editing permissions for the
report)
copy an image of a visual from Power BI to your clipboard, and paste it into other applications (available
in the Power BI service and mobile, unavailable in Power BI Desktop)

Copy and paste within the same report


Visuals in Power BI reports can be copied from one page in the report to the same page or different page in the
same report.
Copying and pasting a visualization requires edit permissions to the report. In the Power BI service, this means
opening the report in Editing View.
Visualizations on dashboards can't be copied and pasted into Power BI reports or other dashboards.
1. Open a report that has at least one visualization.
2. Select the visualization and use Ctrl +C to copy, and Ctrl +V to paste.

Copy a visual as an image to your clipboard


Have you ever wanted to share an image from a Power BI report or dashboard? Now you can copy the visual
from the Power BI service or mobile and paste it into any other application that supports pasting.
When you copy a static image of a visual, you get a copy of the visual, including filters applied to it, along with
its metadata. This includes:
link back to the Power BI report or dashboard
title of the report or dashboard
notice if the image contains confidential information
last updated time stamp
text description of the filters applied to the visual
Copy from a dashboard tile
1. Open the Power BI service and navigate to the dashboard you want to copy from.
2. From the upper right corner of the visual, select More options(...) and choose Copy visual as image .

3. When the Your visual is ready to copy dialog appears, select Copy to clipboard .

4. When your visual is ready, paste it into another application using Ctrl + V or right-click > Paste. In the
screenshot below, we've pasted the visual into Microsoft Word.
Copy from a report visual
1. Open the Power BI service and navigate to the report you want to copy from.
2. From the upper right corner of the visual, select the icon for Copy visual as image .

3. When the Your visual is ready to copy dialog appears, select Copy to clipboard .

4. When your visual is ready, paste it into another application using Ctrl + V or right-click > Paste. In the
screenshot below, we've pasted the visual into an email.
5. If there is a data sensitivity label applied to the report, you'll receive a warning when you select the copy
icon.

And, a sensitivity label will be added to the metadata below the pasted visual.
Manage use of copying a visual as an image
If you own the content or are an administrator of the tenant, you can control whether a visual can be copied as
an image from a report or dashboard.
Disable copy as an image for a specific visual
If you don't want users to be able to copy a specific visual, you can remove the copy icon from that visual in the
Power BI service.
1. Select the paint roller icon to open the Formatting pane.
2. Open the Visual formatting card.
3. Scroll down to Visual header , expand the card, and toggle off Copy icon .
4. If you can't find the Visual header setting, turn on the modern visual header option under Repor t
settings .
5. Save changes. Reshare and republish as needed.
Disable copy as an image for a group of users
If you own the content or are an administrator of the tenant, you can control who can copy visuals. This setting
disables copying visual as image for all content the user accesses in the Power BI tenant.
1. Navigate to the Admin Portal.
2. Under Tenant settings , select Expor t and sharing settings .

3. Disable Copy and paste visuals , for your selected user groups.
4. Save changes, and the specified groups will not be able to use Copy visual as image throughout Power
BI.

Considerations and troubleshooting

Q: I don't see the Copy as image option


A: If you're using Power BI Desktop, this feature is not yet available
Q: Why is the Copy icon disabled on a visual?
A: We currently support native Power BI visuals and Certified Visuals. There is limited support for certain visuals
including:
ESRI and other Map visuals
Python visuals
R visuals
PowerApps
Non-certified custom visuals For your custom visual to be supported, learn more about how to certify your
custom visual.
Q: Why is my visual not pasting correctly?
A: There are limitations around copy visual as an image, including:
For custom visuals
Visuals with applied themes and colors
Tile scaling when pasting
Custom visuals with animations
Copying constraints
Cannot copy a freshly pinned dashboard tile
Cannot redirect users to content with Odata filters and sticky states such as personal bookmarks
Applications with limited support for pasting HTML-formatted content from the clipboard may not render
everything that was copied from the visual

Next steps
More about Visualizations in Power BI reports
More questions? Try the Power BI Community
Export the data that was used to create a
visualization
9/20/2021 • 11 minutes to read • Edit Online

IMPORTANT
Not all data can be viewed or exported by all users. There are safeguards that report designers and administrators use
when building dashboards and reports. Some data is restricted, hidden, or confidential, and cannot be seen or exported
without special permissions.

Who can export data


If you have permissions to the data, you can see and export the data that Power BI uses to create a visualization.
Often, data is confidential or limited to specific users. In those cases, you will not be able to see or export that
data. For details, see the Limitations and considerations section at the end of this document.

Viewing and exporting data


If you'd like to see the data that Power BI uses to create a visualization, you can display that data in Power BI. You
can also export that data to Excel as an .xlsx or .csv file. The option to export the data requires a Pro or Premium
license as well as edit permissions to the dataset and report. If you have access to the dashboard or report but
the data is classified as highly confidential, Power BI will not allow you to export the data.
Watch Will export the data from one of the visualizations in his report, save it as an .xlsx file, and open it in Excel.
Then follow the step-by-step instructions below the video to try it out yourself. Note that this video uses an
older version of Power BI.

NOTE
This video might use earlier versions of Power BI Desktop or the Power BI service.

https://www.youtube.com/embed/KjheMTGjDXw

Export data from a Power BI dashboard


1. Select More actions (...) from the upper-right corner of the visualization.
2. Choose the Expor t to .csv option.

3. Power BI exports the data to a .csv file. If you've filtered the visualization, then the .csv export will be
filtered as well.
4. Your browser will prompt you to save the file. Once saved, open the .csv file in Excel.
Export data from a report
To follow along, open the Procurement analysis sample report in the Power BI service in Editing view. Add a new
blank report page. Then follow the steps below to add an aggregation, hierarchy, and a visualization-level filter.
Create a stacked column chart
1. Create a new Stacked column char t .

2. From the Fields pane, select Location > City , Location > Countr y/Region , and Invoice > Discount
Percent . You may have to move Discount Percent into the Value well.
3. Change the aggregation for Discount Percent from Count to Average . In the Value well, select the
arrow to the right of Discount Percent (it may say Count of Discount Percent ), and choose Average .

4. Add a filter to City , select all cities, and then remove Atlanta .
5. Drill down one level in the hierarchy. Turn on drilling and drill down to the City level.

Now we're ready to try out both options for exporting data.
Export summarized data
Select the option for Summarized data if you want to export data for what you see in that visual. This type of
export shows you only the data (columns and measures) that are being used to create the visual. If the visual
has an aggregate, you'll export aggregated data. For example, if you have a bar chart showing four bars, you'll
get four rows of Excel data. Summarized data is available in the Power BI service as .xlsx and .csv and in Power BI
Desktop as .csv.
1. Select the ellipsis in the upper-right corner of the visualization. Select Expor t data .

In the Power BI service, since your visualization has an aggregate (you changed Count to average), you'll
have two options:
Summarized data
Underlying data
For help understanding aggregates, see Aggregates in Power BI.

NOTE
In Power BI Desktop, you'll only have the option to export summarized data as a .csv file.

2. From Expor t data , select Summarized data , either choose .xlsx or .csv, and then select Expor t . Power
BI exports the data.

3. When you select Expor t , your browser prompts you to save the file. Once saved, open the file in Excel. If
you're using the Power BI app in Microsoft Teams, you may not receive the same prompts. Your exported
file is saved in your local Downloads folder.

In this example, our Excel export shows one total for each city. Since we filtered out Atlanta, it isn't
included in the results. The first row of our spreadsheet shows the filters that Power BI used when
extracting the data.
All the data used by the hierarchy is exported, not simply the data used for the current drill level
for the visual. For example, we had drilled down to the city level, but our export includes country
data as well.
Our exported data is aggregated. We get a total, one row, for each city.
Since we applied filters to the visualization, the exported data will export as filtered. Notice that the
first row displays Applied filters: City is not Atlanta, GA .
Export underlying data
Select this option if you want to see the data in the visual and additional data from the dataset (see chart below
for details). If your visualization has an aggregate, selecting Underlying data removes the aggregate. In this
example, the Excel export shows one row for every single City row in our dataset and the discount percent for
that single entry. Power BI flattens the data, it doesn't aggregate it.
When you select Expor t , Power BI exports the data to an .xlsx file and your browser prompts you to save the file.
Once saved, open the file in Excel.
1. Select the ellipsis from the upper-right corner of the visualization. Select Expor t data .

In the Power BI service, since your visualization has an aggregate (you changed Count to average ),
you'll have two options:
Summarized data
Underlying data
For help understanding aggregates, see Aggregates in Power BI.

NOTE
In Power BI Desktop, you'll only have the option to export summarized data.

2. From Expor t data , select Underlying data , and then select Expor t . Power BI exports the data.

3. When you select Expor t , your browser prompts you to save the file. Once saved, open the file in Excel. If
you're using the Power BI app in Microsoft Teams, you may not receive the same prompts. Your exported
file is saved in your local Downloads folder.
This screenshot shows you only a small portion of the Excel file; it has more than 100,000 rows.
All the data used by the hierarchy is exported, not simply the data used for the current drill level
for the visual. For example, we had drilled down to the city level, but our export includes country
data as well.
Since we applied filters to the visualization, the exported data will export as filtered. Notice that the
first row displays Applied filters: City is not Atlanta, GA .

Customize the export data user experience


Users who are granted access to a report are granted access to the entire underlying dataset , unless row-
level security (RLS) limits their access. Report authors and Power BI administrators can use the capabilities
described below to customize the user experience.
Report authors decide which export options are available to users.
Power BI administrators can turn off some or all data export options for their organization.
Dataset owners can set row level security (RLS). RLS will restrict access to read-only users. But if you have
configured an app workspace and given members edit permissions, RLS roles will not be applied to them.
For more information, see Row-level security.
Report authors can hide columns so that they don't show up in the Fields list. For more information, see
Dataset properties
These customized user experience do not restrict what data users can access in the dataset. Use
row-level security (RLS) in the dataset so that each person's credentials determine which data they
can access.

Protect data when it is exported out of Power BI


Report authors can classify and label reports using Microsoft Information Protection sensitivity labels. If
the sensitivity label has protection settings, Power BI will apply these protection settings when export
report data to Excel, PowerPoint, or PDF files. Only authorized users can open protected files.
Security and Power BI a administrators can use Microsoft Cloud App Security to monitor user access and
activity, perform real-time risk analysis, and set label-specific controls. For example, organizations can use
Microsoft Cloud App Security to configure a policy that prevents users from downloading sensitive data
from Power BI to unmanaged devices.

Export underlying data details


What you see when you select Underlying data can vary. Understanding these details may require the help of
your admin or IT department.

VISUA L C O N TA IN S W H AT Y O U'L L SEE IN EXP O RT

Aggregates the first aggregate and non-hidden data from the entire
table for that aggregate

Aggregates related data - if the visual uses data from other data tables
that are related to the data table that contains the
aggregate (as long as that relationship is *:1 or 1:1)

Measures* all measures in the visual and all measures from any data
table containing a measure used in the visual

Measures* all non-hidden data from tables that contain that measure
(as long as that relationship is *:1 or 1:1)

Measures* all data from all tables that are related to table(s) containing
the measures via a chain of *:1 of 1:1)

Measures only all non-hidden columns from all related tables (to expand
the measure)

Measures only summarized data for any duplicate rows for model measures

* In Power BI Desktop or service, in the reporting view, a measure shows in the Fields list with a calculator icon
. Measures can be created in Power BI Desktop.
Set the export options
Power BI report designers control the types of data export options that are available for their consumers. The
choices are:
Allow end users to export summarized data from the Power BI service or Power BI Report Server
Allow end users to export both summarized and underlying data from the service or Report Server
Don't allow end users to export any data from the service or Report Server

IMPORTANT
We recommend that report designers revisit old reports and manually reset the export option as needed.

To set these options:


1. Start in Power BI Desktop.
2. From the upper left corner, select File > Options and Settings > Options .
3. Under CURRENT FILE , select Repor t settings .
4. Make your selection from the Expor t data section.
You can also update this setting in the Power BI service.
It's important to note that if the Power BI admin portal settings conflict with the report settings for export data,
the admin settings will override the export data settings.

Limitations and considerations


These limitations and considerations apply to Power BI Desktop and the Power BI service, including Power BI Pro
and Premium.
To export the data from a visual, you need to have Build permission for the underlying dataset.
The maximum number of rows that Power BI Desktop and Power BI ser vice can export from an
impor t mode repor t to a .csv file is 30,000.
The maximum number of rows that the applications can export from an impor t mode repor t to an .xlsx
file is 150,000.
Export using Underlying data won't work if:
the version is older than 2016.
the tables in the model don't have a unique key.
an administrator or report designer has disabled this feature.
Export using Underlying data won't work if you enable the Show items with no data option for the
visualization Power BI is exporting.
When using DirectQuery, the maximum amount of data that Power BI can export is 16-MB uncompressed
data. An unintended result may be that you export less than the maximum number of rows of 150,000.
This is likely if:
There are too many columns. Try reducing the number of columns and exporting again.
There's data that is difficult to compress.
Other factors are at play that increase file size and decrease the number of rows Power BI can
export.
If the visualization uses data from more than one data table, and no active relationship exists for those
tables in the data model, Power BI only exports data for the first table.
Power BI custom visuals and R visuals aren't currently supported.
In Power BI, you can rename a field (column) by double-clicking the field and typing a new name. Power
BI refers to the new name as an alias. It's possible that a Power BI report can end up with duplicate field
names, but Excel doesn't allow duplicates. So when Power BI exports the data to Excel, the field aliases
revert to their original field (column) names.
If there are Unicode characters in the .csv file, the text in Excel may not display properly. Examples of
Unicode characters are currency symbols and foreign words. You can open the file in Notepad and the
Unicode will display correctly. If you want to open the file in Excel, the workaround is to import the .csv. To
import the file into Excel:
1. Open Excel.
2. Go to the Data tab.
3. Select Get external data > From text .
4. Go to the local folder where the file is stored and select the .csv.
When exporting to .csv, certain characters will be escaped with a leading ' to prevent script execution
when opened in Excel. This happens when:
The column is defined as type "text" in the data model, and
The first character of the text is one of the following: =, @, +, -
Power BI admins can disable the export of data.
If a dynamic format string is applied to a measure, the exported data won't preserve this formatting in
Excel. Also, visual-specific formatting such as percent of grand total for a measure isn't preserved in Excel.
More questions? Try asking the Power BI Community
Move and resize a visualization in a report
8/9/2021 • 2 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Desktop ✔
️ Power BI service
Report designers and owners can move and resize visualizations. If you're working in the Power BI service
(app.powerbi.com) you'll need to open the report in Editing view.

Open the report


In Power BI Desktop, open a report that has at least one visualization, or create a new visualization.

Move the visualization


Select (left-click) any area of the visualization and drag to the new location.

Resize the visualization


Select the visualization to display the border and click and drag the dark frame handles to resize.

Select Focus mode to see more detail.


Hover over the visualization and select the Focus mode icon.

Next steps
Resize a visualization on a dashboard
Focus mode
More questions? Try the Power BI Community
Change how visuals interact in a Power BI report
7/2/2021 • 3 minutes to read • Edit Online

If you have edit permissions for a report, you can use Visual interactions to change how visualizations on a
report page impact each other.

Introduction to visual interactions


By default, visualizations on a report page can be used to cross-filter and cross-highlight the other visualizations
on the page. For example, selecting a state on a map visualization highlights the column chart and filters the line
chart to display only data that applies to that one state. See About filtering and highlighting. And if you have a
visualization that supports drilling, by default, drilling one visualization has no impact on the other visualizations
on the report page. But both of these default behaviors can be overridden, and interactions set, on a per-
visualization basis.
This article shows you how to use visual interactions in Power BI Desktop. The process is the same in the
Power BI service Editing view. If you only have Reading view access, or the report has been shared with you, you
will not be able to change the visual interactions settings.
The terms cross-filter and cross-highlight are used to distinguish the behavior described here from what
happens when you use the Filters pane to filter and highlight visualizations.

NOTE
This video uses older versions of Power BI Desktop and the Power BI service.

https://www.youtube.com/embed/N_xYsCbyHPw?list=PL1N57mwBHtN0JFoKSR0n-tBkUJHeMP2cP

Enable the visual interaction controls


If you have edit permissions to a report, you can turn on the visual interaction controls and then customize how
the visualizations on your report page filter and highlight each other.
1. Select a visualization to make it active.
2. Display the Visual Interactions options.
In Power BI Desktop, select Format > Edit interactions .

In the Power BI service, open the report in Editing view and select the dropdown from the report
menu bar.
3. To display the visualization interaction controls, select Edit interactions . Power BI adds filter and
highlight icons to all of the other visualizations on the report page. We can see that the tree map is cross-
filtering the line chart and the map, and is cross-highlighting the column chart. You can now change how
the selected visualization interacts with the other visualizations on the report page.

Change the interaction behavior


Get familiar with how your visualizations interact by selecting each visualization on your report page, one at a
time. Select a data point or a bar or a shape and watch the impact on the other visualizations. If the behavior you
see is not what you'd prefer, you can change the interactions. These changes are saved with the report, so you
and your report consumers will have the same visual interaction experience.
Start by selecting a visualization to make it active. Notice that all the other visualizations on the page now
display interaction icons. The bolded icon is the one that is being applied. Next, determine what impact you'd like
the selected visualization to have on the others. And, optionally, repeat for all other visualizations on the
report page.
If the selected visualization should:
cross-filter one of the other visualizations on the page, select the filter icon in the upper right corner of that
visualization .

cross-highlight one of the other visualizations on the page, select the highlight icon .

have no impact on one of the other visualizations on the page, select the no impact icon .
Change the interactions of drillable visualizations
Certain Power BI visualizations can be drilled. By default, when you drill a visualization, it has no impact on the
other visualizations on the report page. But, that behavior can be changed.

TIP
Try it yourself using the Human Resources sample PBIX file. There's a column chart with a drill-down feature on the New
hires tab.

1. Select the drillable visual to make it active.


2. Turn on the drill-down feature by selecting the drill-down icon.

3. From the menu bar, select Format , select the drop-down caret under Apply drill down filters to , and
select Entire page . Now when you drill down (and up) in a visualization, the other visualizations on the
report page change to reflect your current drilling selection.
4. If the behavior you see is not what you'd prefer, you can change the interactions as described above.

Considerations and troubleshooting


If you build a matrix with fields from different tables, then try to cross-highlight by selecting multiple items at
different levels of the hierarchy, you get errors on the other visuals.

Next steps
Filtering and highlighting in Power BI reports
Customize x-axis and y-axis properties
9/20/2021 • 6 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Desktop ✔
️ Power BI service
In this tutorial, you'll learn many different ways to customize the X-axis and Y-axis of your visuals. Not all visuals
have axes. Pie charts, for example, don't have axes. And customization options vary from visual to visual. There
are too many options to cover in a single article, so we'll take a look at some of the most-used customizations
and get comfortable using the visual Format pane in the Power BI report canvas.
Watch Amanda customize her X- and Y-axes. She'll also demonstrate the different ways to control concatenation
when using drill-down and drill-up options.

NOTE
This video might use earlier versions of Power BI Desktop or the Power BI service.

https://www.youtube.com/embed/9DeAKM4SNJM

Prerequisites
Power BI Desktop
Retail Analysis Sample

Add a new visualization


Before you can customize your visualization, you have to build it.
1. In Power BI Desktop, open the Retail Analysis sample.
2. At the bottom, select the yellow plus icon to add a new page.

3. From the Visualizations pane, select the stacked column chart icon. This adds an empty template to
your report canvas.

4. To set the X-axis values, from the Fields pane, select Time > FiscalMonth .
5. To set the Y-axis values, from the Fields pane, select Sales > Last Year Sales and Sales > This Year
Sales > Value .

Now you can customize your X-axis. Power BI gives you almost limitless options for formatting your
visualization.

Customize the X-axis


There are many features that are customizable for the X-axis. You can add and modify the data labels and X-axis
title. For categories, you can modify the width, size, and padding of bars, columns, lines, and areas. And for
values, you can modify the display units, decimal places, and grid lines. The following example shows
customization for a column chart. Let's add a few customizations to get you familiar with the options and then
you can explore the rest on your own.
Customize the X -axis labels
The X-axis labels display below the columns in the chart. Right now, they're light grey, small, and difficult to read.
Let's change that.

1. In the Visualizations pane, select Format (the paint roller icon ) to reveal the customization
options.
2. Expand the X-axis options.
3. Move the X-axis slider to On .

Some reasons you may want to set the X axis to Off , is if the visualization is self-explanatory without
labels or if you have a crowded report page and need to make space to display more data.
4. Format the text color, size, and font:
Color : Select black
Text size : Enter 14
Font family : Select Arial Black
Inner padding : Enter 40%
5. Maybe you don't like the way the X-axis text is displayed on a diagonal. You have several options.
Change the text size to something smaller than 14.
Make the visualization larger.
Display fewer columns and add a scrollbar by increasing Minimum categor y width .
Here, we've selected the second option and grabbed one of the resize bars to make the visualization
wider. It now accommodates the 14-point text without needing to display the text on an angle or with a
scrollbar.

Customize the X -axis title


When the X-axis title is On , the X-axis title displays below the X-axis labels.
1. Start by turning the X-axis title to On .

The first thing you'll notice is that your visualization now has a default X-axis title. In this case, it's
FiscalMonth .
2. Format the title text color, size, and font:
Title color : Select orange
Axis title : Type Fiscal Month (with a space)
Title text size : Enter 18
After you finish the customizations, your stacked column chart looks something like this:

3. Save the changes you've made and move to the next section. If you ever need to revert all of the changes,
select Rever t to default at the bottom of the X-Axis customization pane. Next, you'll customize your Y-
Axis.

Customize the Y-axis


There are many features that can be customized for the Y-axis. You can add and modify the data labels, Y-axis
title, and gridlines. For values, you can modify the display units, decimal places, starting point, and end point.
And, for categories, you can modify the width, size, and padding of bars, columns, lines, and areas.
The following example continues our customization of a column chart. Let's make a few changes to get you
familiar with the options, and then you can explore the rest on your own.
Customize the Y -axis labels
The Y-axis labels are displayed to the left by default. Right now, they're light grey, small, and difficult to read.
Let's change that.
1. Expand the Y-Axis options.

2. Move the Y-Axis slider to On .


One reason you might want to turn off the Y-axis, is to save space for more data.
3. Format the text color, size, and font:
Color : Select black
Text size : Enter 10
Display units : Select Millions

Customize the Y -axis title


When the Y-axis title is On , the Y-axis title displays next to the Y-axis labels. For this visualization, having a Y-
Axis title doesn't improve the visual, so leave Title turned Off . We'll add Y-axis titles to a dual-axis visual later in
this tutorial.
Customize the gridlines
Let's make the gridlines stand out by changing the color and increasing the stroke:
Color : Select orange
Stroke : Enter 2
After all these customizations, your column chart should look something like this:
Customizing visualizations with dual Y axes
Some visualizations can benefit from having two Y axes. Combo charts are a good example. Before we can
format dual Y axes, we'll create a combo chart that compares trends for sales and gross margin.
Create a chart with two Y -Axes
1. Select the column chart, and change it to a Line and stacked column chart. This type of visual supports a
single line chart value and multiple stackable column values.

2. Drag Sales > Gross Margin Last Year % from your Fields pane into the Line Values bucket.

3. Reformat the visualization to remove the angled X-axis labels.

Power BI creates two Y axes, allowing the values to be scaled differently. The left axis measures sales
dollars and the right axis measures gross margin percentage.
Format the second Y -Axis
Because we started with a visualization with one formatted Y-axis, Power BI created the second Y-axis using the
same settings. But we can change that.
1. In the Visualizations pane, select the paint roller icon to display the format options.
2. Expand the Y-Axis options.
3. Scroll down until you find the Show secondar y option. Verify that it is On . Our secondary Y axis
represents the line chart.

4. (Optional) Customize the font color, size, and display units for the two axes. If you switch Position for
either the column axis or the line axis, then the two axes switch sides.
Add titles to both axes
With a visualization that's complex, it helps to add axes titles. Titles help your colleagues understand the story
your visualization is telling.
1. Toggle Title to On for Y-Axis (Column) and the Y-Axis (Line) .
2. Set Style to Show title only for both.

3. Your combo chart now shows dual axes, both with titles.

4. Format the titles. In this example, we've shorted one of the titles and reduced the font size for both.
Font size: 9
Shortened the Axis title for the first Y axis (the column chart): Sales last year & this year.
For more information, see Tips and tricks for color formatting in Power BI and Customize visualization
titles, legends, and backgrounds.

Invert the y-axis


For line, bar, column, area, and combo charts, you can invert the y-axis, putting positive values going down and
negative values going up.
Select the visual. In the Format pane, expand the Y axis section. Slide Inver t axis to On .

Next steps
Visualizations in Power BI reports
More questions? Try the Power BI Community
Create and use basic area charts
8/9/2021 • 2 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Desktop ✔
️ Power BI service
The basic area chart (also known as layered area chart.) is based on the line chart. The area between axis and
line is filled with colors to indicate volume.
Area charts emphasize the magnitude of change over time, and can be used to draw attention to the total value
across a trend. For example, data that represents profit over time can be plotted in an area chart to emphasize
the total profit.

NOTE
Sharing your report with a Power BI colleague requires that you both have individual Power BI Pro licenses or that the
report is saved in Premium capacity.

When to use a basic area chart


Basic area charts are a great choice:
to see and compare the volume trend across time series
for individual series representing a physically countable set
Prerequisites
This tutorial uses the Retail Analysis sample PBIX file.
1. From the upper left section of the menubar, select File > Open
2. Find your copy of the Retail Analysis sample PBIX file

3. Open the Retail Analysis sample PBIX file in report view .


4. Select to add a new page.

Create a basic area chart


1. These steps will help you create an area chart that displays this year's sales and last year's sales by
month.
a. From the Fields pane, select Sales > Last Year Sales , and This Year Sales > Value .

b. Convert the chart to a basic area chart by selecting the Area chart icon from the Visualizations pane.

c. Select Time > FiscalMonth to add it to the Axis well.


d. To display the chart by month, select the ellipses (top right corner of the visual) and choose Sor t by
month . To change the sort order, select the ellipses again and select either Sor t ascending or Sor t
descending .

Highlighting and cross-filtering


For information about using the Filters pane, see Add a filter to a report.
To highlight one particular area in your chart, select that area or its top border. Unlike other visualization types, if
there are other visualizations on the same page, highlighting a basic area charts does not cross-filter the other
visualizations on the report page. However, area charts are a target for cross-filtering triggered by other
visualizations on the report page.
1. Try it out by selecting your area chart and copying it to the New Store Analysis report page (CTRL-C
and CTRL-V).
2. Select one of the shaded areas of the area chart and then select the other shaded area. You'll notice no
impact on the other visualizations on the page.
3. Now select an element. Notice the impact on the area chart -- it gets cross-filtered.
To learn more, see Visual interactions in reports

Considerations and troubleshooting


Make the report more accessible for people with disabilities
Basic area charts are not effective for comparing the values due to the occlusion on the layered areas. Power
BI uses transparency to indicate the overlap of areas. However, it only works well with two or three different
areas. When you need to compare trend to more than three measures, try using line charts. When you need
to compare volume to more than three measures, try using treemap.

Next step
Reports in Power BI
Create card visualizations
8/9/2021 • 2 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Desktop ✔
️ Power BI service
Sometimes a single number is the most important thing you want to track in your Power BI dashboard or
report, such as total sales, market share year over year, or total opportunities. This type of visualization is called
a Card. As with almost all of the native Power BI visualizations, Cards can be created using the report editor or
Q&A.

NOTE
Sharing your report with a Power BI colleague requires that you both have individual Power BI Pro licenses or that the
report is saved in Premium capacity.

Prerequisite
This tutorial uses the Retail Analysis sample PBIX file
1. From the upper left section of the menubar, select File > Open
2. Find your copy of the Retail Analysis sample PBIX file

3. Open the Retail Analysis sample PBIX file in report view .

4. Select to add a new page.

Option 1: Create a card using the report editor


The first method to create a card is to use the report editor in Power BI Desktop.
1. Start on a blank report page and select the Store > Open store count field.
Power BI creates a column chart with the one number.
2. In the Visualizations pane, select the card icon.

You have now successfully created a card with the report editor. Below is the second option for creating a card
using the Q&A question box.

Option 2: Create a card from the Q&A question box


The Q&A question box is another option for you to use when creating a card. The Q&A question box is available
in Power BI Desktop report view.
1. Start on a blank report page
2. At the top of your window, select the Ask a Question icon.
Power BI will create a card and a box for your question.

3. For example, type "Total Sales for Tina" in the question box.
The question box helps you with suggestions and restatements, and finally displays the total number.
You have now successfully created a card with the Q&A question box. Below are steps for formatting your card
to your specific needs.

Format a card
You have many options for changing labels, text, color and more. The best way to learn is to create a card and
then explore the Formatting pane. Here are just a few of the formatting options available.
The Formatting pane is available when interacting with the card in a report.
1. Start by selecting the paint roller icon to open the Formatting pane.
2. With the card selected, expand Data label and change the color, size, and font family. If you had
thousands of stores, you could use Display units to show the number of stores by thousands and
control the decimal places as well. For example, 125.8K instead of 125,832.00.

3. Expand Categor y label and change the color and size.


4. Expand Background and move the slider to On. Now you can change the background color and
transparency.
5. Continue to explore the formatting options until your card is exactly how you'd like it.

Considerations and troubleshooting


If you do not see a question box at all, contact your Power BI admin.

Next steps
Combo charts in Power BI
Visualization types in Power BI
Create and use combo charts in Power BI
9/20/2021 • 3 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Desktop ✔
️ Power BI service
In Power BI, a combo chart is a single visualization that combines a line chart and a column chart. Combining
the 2 charts into one lets you make a quicker comparison of the data.
Combo charts can have one or two Y axes.

When to use a Combo chart


Combo charts are a great choice:
when you have a line chart and a column chart with the same X axis.
to compare multiple measures with different value ranges.
to illustrate the correlation between two measures in one visualization.
to check whether one measure meet the target which is defined by another measure
to conserve canvas space.

NOTE
Sharing your report with a Power BI colleague requires that you both have individual Power BI Pro licenses or that the
report is saved in Premium capacity.

Prerequisites
This tutorial uses the Retail Analysis sample PBIX file.
1. From the upper left section of the menubar, select File > Open
2. Find your copy of the Retail Analysis sample PBIX file

3. Open the Retail Analysis sample PBIX file in report view .

4. Select to add a new page.

Create a basic, single-axis, Combo Chart


Watch Will create a combo chart using the Sales and Marketing sample.

NOTE
This video might use earlier versions of Power BI Desktop or the Power BI service.

https://www.youtube.com/embed/lnv66cTZ5ho?list=PL1N57mwBHtN0JFoKSR0n-tBkUJHeMP2cP

1. Start on a blank report page and create a column chart that displays this year's sales and gross margin by
month.
a. From the Fields pane, select Sales > This Year Sales > Value .
b. Drag Sales > Gross Margin This Year to the Value well.
c. Select Time > FiscalMonth to add it to the Axis well.

2. Select More options (...) in the upper-right corner of the visualization, and select Sor t by >
FiscalMonth . To change the sort order, select the ellipsis again and choose either Sor t ascending or
Sor t descending . For this example will use Sor t ascending .
3. Convert the column chart to a combo chart. There are two combo charts available: Line and stacked
column and Line and clustered column . With the column chart selected, from the Visualizations
pane select the Line and clustered column char t .

4. From the Fields pane, drag Sales > Last Year Sales to the Line Values bucket.
Your combo chart should look something like this:

Create a combo chart with two axes


In this task, we'll compare gross margin and sales.
1. Create a new line chart that tracks Gross Margin last year % by FiscalMonth . Select the ellipsis to
sort it by Month and Ascending .
In January GM% was 35%, peaked at 45% in April, dropped in July and peaked again in August. Will we
see a similar pattern in sales last year and this year?
2. Add This Year Sales > Value and Last Year Sales to the line chart. The scale of Gross Margin Last
Year % is much smaller than the scale of Sales which makes it difficult to compare.

3. To make the visual easier to read and interpret, convert the line chart to a Line and Stacked Column chart.
4. Drag Gross Margin Last Year % from Column Values into Line Values . Power BI creates two axes,
thus allowing the datasets to be scaled differently; the left measures sales dollars and the right measures
percentage. And we see the answer to our question; yes, we do see a similar pattern.

Add titles to the axes

1. Select the paint roller icon to open the Formatting pane.


2. Select the down arrow to expand the Y-axis options.
3. For Y-Axis (Column) , set Position to Left , set Title to On , Style to Show title only , and Display
units as Millions .
4. Under Y-Axis (Column) , scroll down until you see Show secondar y . Because there are so many
options for the Y axes, you may have to use both scrollbars. The Show secondary section displays options
for formatting the line chart portion of the combo chart.

5. For Y-Axis (Line) , leave Position as Right , turn Title to On , and set Style to Show title only .
Your combo chart now displays dual axes, both with titles.
6. Optionally, modify the text font, size, and color and set other formatting options to improve the display
and readability of the chart.
From here you might want to:
Add the combo chart as a dashboard tile.
Save the report.
Make the report more accessible for people with disabilities.

Cross-highlighting and cross-filtering


Highlighting a column or line in a combo chart cross-highlights and cross-filters the other visualizations on the
report page... and vice versa. Use visual interactions to change this default behavior.

Considerations and limitations


Depending on the size of your combo chart, the data labels may or may not display. If you don't see data labels,
resize the combo chart.

Next steps
Doughnut charts in Power BI
Visualization types in Power BI
Create and use doughnut charts in Power BI
8/9/2021 • 2 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Desktop ✔
️ Power BI service
A doughnut chart is similar to a pie chart in that it shows the relationship of parts to a whole. The only
difference is that the center is blank and allows space for a label or icon.

Prerequisite
This tutorial uses the Retail Analysis sample PBIX file.
1. From the upper left section of the menubar, select File > Open
2. Find your copy of the Retail Analysis sample PBIX file

3. Open the Retail Analysis sample PBIX file in report view .

4. Select to add a new page.

NOTE
Sharing your report with a Power BI colleague requires that you both have individual Power BI Pro licenses or that the
report is saved in Premium capacity.

Create a doughnut chart


1. Start on a blank report page and from the Fields pane, select Sales > Last Year Sales .

2. From the Visualizations pane, select the icon for doughnut chart to convert your bar chart to a
doughnut chart. If Last Year Sales is not in the Values area, drag it there.

3. Select Item > Categor y to add it to the Legend area.


4. Optionally, adjust the size and color of the chart's text.

Considerations and troubleshooting


The sum of the doughnut chart values must add up to 100%.
Too many categories make it difficult to read and interpret.
Doughnut charts are best used to compare a particular section to the whole, rather than comparing
individual sections with each other.

Next steps
Funnel charts in Power BI
Visualization types in Power BI
Create and use funnel charts
9/20/2021 • 2 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Desktop ✔
️ Power BI service
A funnel chart helps you visualize a linear process that has sequential connected stages. For example, a sales
funnel that tracks customers through stages: Lead > Qualified Lead > Prospect > Contract > Close. At a glance,
the shape of the funnel conveys the health of the process you're tracking.
Each funnel stage represents a percentage of the total. So, in most cases, a funnel chart is shaped like a funnel --
with the first stage being the largest, and each subsequent stage smaller than its predecessor. A pear-shaped
funnel is also useful -- it can identify a problem in the process. But typically, the first stage, the "intake" stage, is
the largest.

NOTE
Sharing your report with a Power BI colleague requires that you both have individual Power BI Pro licenses or that the
report is saved in Premium capacity.

When to use a funnel chart


Funnel charts are a great choice:
when the data is sequential and moves through at least 4 stages.
when the number of "items" in the first stage is expected to be greater than the number in the final stage.
to calculate potential (revenue/sales/deals/etc.) by stages.
to calculate and track conversion and retention rates.
to reveal bottlenecks in a linear process.
to track a shopping cart workflow.
to track the progress and success of click-through advertising/marketing campaigns.

Working with funnel charts


Funnel charts:
Can be sorted.
Support multiples.
Can be highlighted and cross-filtered by other visualizations on the same report page.
Can be used to highlight and cross-filter other visualizations on the same report page.
NOTE
Watch this video to see Will create a funnel chart using the Sales and Marketing sample. Then follow the steps
below the video to try it out yourself using the Opportunity Analysis PBIX sample file

Prerequisite
This tutorial uses the Opportunity Analysis sample PBIX file.
1. From the upper left section of the menubar, select File > Open
2. Find your copy of the Oppor tunity Analysis sample PBIX file

3. Open the Oppor tunity Analysis sample PBIX file in report view .

4. Select to add a new page.

Create a basic funnel chart


Watch this video to see Will create a funnel chart using the Sales and Marketing sample.

NOTE
This video might use earlier versions of Power BI Desktop or the Power BI service.

https://www.youtube.com/embed/qKRZPBnaUXM
Now create your own funnel chart that shows the number of opportunities we have in each of our sales stages.
1. Start on a blank report page and select the SalesStage > Sales Stage field.

2. Select the funnel icon to convert the column chart to a funnel chart.
3. From the Fields pane, select Fact > Oppor tunity Count .
4. Hovering over a bar displays a wealth of information.
The name of the stage
Number of opportunities currently in this stage
Overall conversion rate (% of Lead)
Stage-to-stage (also known as Drop Rate) which is the % of the previous stage (in this case,
Proposal Stage/Solution Stage)

5. Save the report.


Highlighting and cross-filtering
For information about using the Filters pane, see Add a filter to a report.
Highlighting a bar in a funnel cross-filters the other visualizations on the report page... and vice versa. To follow
along, add a few more visuals to the report page that contains the funnel chart.
1. On the funnel, select the Proposal bar. This cross-highlights the other visualizations on the page. Use
CTRL to multi-select.

2. To set preferences for how visuals cross-highlight and cross-filter each other, see Visual interactions in
Power BI

Next steps
Gauges in Power BI
Visualization types in Power BI
Create key performance indicator (KPI)
visualizations
8/9/2021 • 2 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Desktop ✔
️ Power BI service
A Key Performance Indicator (KPI) is a visual cue that communicates the amount of progress made toward a
measurable goal. For more about KPIs, see Key Performance Indicators (KPIs) in PowerPivot.

When to use a KPI


KPIs are a great choice:
To measure progress. Answers the question, "What am I ahead or behind on?"
To measure distance to a goal. Answers the question, "How far ahead or behind am I?"

KPI requirements
A designer bases a KPI visual on a specific measure. The intention of the KPI is to help you evaluate the current
value and status of a metric against a defined target. A KPI visual requires a base measure that evaluates to a
value, a target measure or value, and a threshold or goal.
A KPI dataset needs to contain goal values for a KPI. If your dataset doesn't contain goal values, you can create
them by adding an Excel sheet with goals to your data model or PBIX file.

Prerequisites
This tutorial uses the Retail Analysis sample PBIX file.
1. From the upper left section of the menubar, select File > Open
2. Find your copy of the Retail Analysis sample PBIX file

3. Open the Retail Analysis sample PBIX file in report view.

4. Select + to add a new page.

NOTE
Sharing your report with a Power BI colleague requires that you both have individual Power BI Pro licenses or that the
report is saved in Premium capacity.

How to create a KPI


In this example, you'll create a KPI that measures the progress you've made toward a sales goal.
1. From the Fields pane, select Sales > Total Units This Year . This value will be the indicator.
2. Add Time > FiscalMonth . This value will represent the trend.
3. In the upper-right corner of the visual, select the ellipsis and check that Power BI sorted the columns in
ascending order by FiscalMonth .

IMPORTANT
Once you convert the visualization to a KPI, there's no option to sort. You must sort it correctly now.

Once sorted correctly, your visual will look like this:

4. Convert the visual to a KPI by selecting the KPI icon from the Visualization pane.
5. To add a goal, drag Total Units Last Year to the Target goals field.

6. Optionally, format the KPI by selecting the paint roller icon to open the Formatting pane.
Indicator - controls the indicator’s display units and decimal places.
Trend axis - when set to On , the visual shows the trend axis as the background of the KPI visual.
Goals - when set to On , the visual shows the goal and the distance from the goal as a percentage.
Color coding > Direction - people consider some KPIs better for higher values and consider
some better for lower values. For example, earnings versus wait time. Typically a higher value of
earnings is better versus a higher value of wait time. Select high is good and, optionally, change
the color settings.
KPIs are also available in the Power BI service and on your mobile devices. It gives you the option to be always
connected to your business's heartbeat.

Considerations and troubleshooting


If your KPI doesn't look like the one above, it may be because you didn't sort by FiscalMonth . KPIs don't have a
sort option. You'll need to start again and sort by FiscalMonth before you convert your visualization to a KPI.

Next steps
Tips and Tricks for Power BI Map visualizations
Visualization types in Power BI
More questions? Try the Power BI Community
Create and use the paginated report visual
9/14/2021 • 4 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Report Builder ✔
️ Power BI service ✔
️ Power BI Desktop
In this article, you learn how to use the paginated report visual for Power BI reports. This native Power BI visual
allows you to render any paginated report you’ve uploaded to the service in a Power BI report.
This visual brings the power of paginated reports to your Power BI reports. You can map fields from your Power
BI dataset to be used as parameter values for your paginated report visual. This provides a fully interactive
experience like any other visual.

Prerequisites
To access a paginated report to include in your Power BI report with a paginated report visual, you need
access to a workspace in aPower BI Premium capacity.
To publish your Power BI report with a paginated report visual to the Power BI service, you need a Power BI
Pro license, or Premium Per User (PPU) license, and write access to a workspace in aPower BI Premium
capacity.

Create a paginated report visual


1. Open your Power BI report in Power BI Desktop or in the Power BI service. If in the Power BI service,
select Edit .

2. Select Paginated Repor t from the Visualizations pane.


3. Select Connect to repor t .

4. Search for and select an existing paginated report saved to the Power BI service.
5. Select Set Parameters .

6. You have two options for mapping paginated report parameters:


You can bind the paginated report parameter to Power BI fields:
a. Drag your Power BI field into the Parameters field in the Visualizations pane.
b. Select this field from the dropdown menu. Select See repor t .

Or choose to use the default parameter for the paginated report, if the report author specified any.

7. Now your paginated report will render within your Power BI report.

8. If making edits in the Power BI service, select Save to save your changes. If making edits in Power BI
Desktop, select Publish , then choose a workspace in a Premium capacity to publish your Power BI report
to the Power BI service.
NOTE
We recommend saving the Power BI report with the paginated report visual to the same workspace as the
paginated report. This ensures that readers with access to the Power BI report also have access to the paginated
report, which is required for the paginated report visual to render.

Cross-filtering
You can enable cross-filtering between your paginated report visual and other visuals in your Power BI report by
mapping your paginated report parameters to fields in the Power BI report. If you have other visuals that affect
the Power BI field you’ve selected for the parameter value(s), the paginated report visual updates as you interact
with those visuals.
For example, if Fiscal Year FY2018 is selected in the slicer visual, the paginated report visual automatically
updates to show sales for FY2018, because the Power BI field for Fiscal Year is mapped to the paginated report
parameter for Fiscal Year.
Turn on the toolbar
From the Format pane, you can show or hide the Toolbar in your paginated report visual. With the toolbar
visible, report readers can easily export the paginated report from within your Power BI report. Paginated
reports support exporting to the following formats: Excel, PDF, Accessible PDF, CSV, PowerPoint, Word, MHTML,
and XML. Unlike the 150,000 row limitation imposed by standard Power BI reports, with the paginated report
visual, you can export up to 1,000,000 rows to Excel, while retaining all the formatting in the paginated report.

You can also show parameters in the toolbar. In the Format pane, turn Parameters on. With this option
enabled, you can select and apply parameters from the paginated report visual toolbar.
Auto-apply filters
You can decide whether report filters are automatically applied to the paginated report visual, or not. By default,
the Auto-apply filters option is turned off. This means your paginated report visual remains unchanged as you
adjust filters in your Power BI report. If you turn on Auto-apply filters, your paginated report visual
automatically updates as you apply filters or update other visuals that affect the field you’ve selected for the
parameter value.
Select your paginated report visual. From the Format pane, turn Auto-apply filters on.

Considerations and limitations


When mapping an aggregate field in Power BI (for example, Sum, Average, Minimum, or Maximum) to a
paginated report parameter, consider whether your paginated report parameter is a single-value or multi-
value parameter. If mapping to a single-value parameter, the aggregate value is used, but if mapping to a
multi-value parameter, the per-row aggregate values are mapped to the parameter.
The paginated report visual isn't supported in Embedded scenarios yet.
Using a Power BI dataset with a date parameter

NOTE
Versions of Power BI Report Builder 15.7.01704.0001 and above allow you to use date parameters with the paginated
report visual without having to follow these next steps. Download the newest version of Power BI Report Builder.

When you use a Power BI dataset as the data source for your paginated report and set up a date parameter in
your query that then automatically generates the parameter table and parameter, using that parameter in a
paginated report parameter will fail. The paginated report visually treats the parameter as a text field and fails to
match the Power BI date field. There are three options to work around this:
From the same Power BI data source, create a new dataset with only the date values. Use this dataset as the
available values for your parameter, setting the data type of the parameter as Date/Time.
Manually change the DAX query text in the auto-generated dataset to remove the part that sets the
parameter to be a text value.
Change the Power BI dataset using Power Query to add a column that formats the date field as a text field.

Next steps
What are paginated reports in Power BI Premium?
Tutorial: Create a paginated report and upload it to the Power BI service
Power BI Paginated Reports in a Day course
More questions? Try the Power BI Community
Create Shape Map visualizations in Power BI
Desktop (preview)
8/9/2021 • 9 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Desktop ✔
️ Power BI service
Create a Shape Map visual to compare regions on a map using color. Unlike the Map visual, Shape Map can't
show precise geographical locations of data points on a map. Instead, its main purpose is to show relative
comparisons of regions on a map by coloring them differently.
Shape Map visuals are based on TopoJSON maps, which have the compelling ability to use custom maps that
you can create. Examples of custom maps are: geographical, seating arrangements, floor plans, and others.

NOTE
Sharing your report with a Power BI colleague requires that you both have individual Power BI Pro licenses or that the
report is saved in Premium capacity.

Creating Shape Maps


You can test the Shape Map control with the maps that are shipping with this Preview release, or you can use
your own custom map as long as it meets the requirements outlined in the following section called Use
Custom Maps .
The Shape Map visual is in Preview, and must be enabled in Power BI Desktop. To enable Shape Map , select
File > Options and Settings > Options > Preview Features , then select the Shape Map Visual
checkbox. You'll need to restart Power BI Desktop after you make the selection.
Once Shape Map is enabled, select the Shape Map icon from the Visualizations pane.

Power BI Desktop creates an empty Shape Map visual design canvas.


Take the following steps to create a Shape Map :
1. In the Fields pane, drag a data field that has the region names (or abbreviations) onto the Location
bucket, and a data measure field into the Color saturation bucket (you won't see a map yet).

NOTE
To get sample map data you can use to test the Shape Map visual, see the section titled Getting Map Data
below.
2. In the Format settings pane, expand Shape , and select from the Standard Maps drop-down to show
your data. At this point, the rendering appears, as shown in the following image.
NOTE
In the Region Keys section at the end of this article is a collection of tables that have map regions keys you can
use to test the Shape Map visual.

3. You can then modify the map using the Formatting options such as Default color , Zoom , and more.
And, you can also add a category data column to the Legend bucket, and classify the map regions based
on categories.

Use custom maps


You can use custom maps with Shape Map as long as they are in the TopoJSON format. If your map is in
another format, you can use online tools such as Map Shaper to convert your shapefiles or your GeoJSON
maps into the TopoJSON format.
To use your TopoJSON map file, add a ShapeMap visual to your report and add some data to the Location and
Color saturation buckets. Then, in the Visualizations pane with the Format section selected (shown as (1) in
the following image), expand the Shape section and select + Add Map .
Sample custom map
The Offices of the United States Attorneys release an annual fiscal report on their litigation and caseload data. All
of their reports can be found in the link below,
https://www.justice.gov/usao/resources/annual-statistical-reports
Since states can be divided into multiple districts, we have to use a custom shape map. By importing the
TopoJSON map of the U.S. judicial districts into Power BI Desktop , we can then visualize the annual fiscal
district attorney data. The image below shows an example of this map.

You can do interesting things with the individual state maps as well, and show more detail based on the districts
it contains.
If you'd like to experiment with this dataset and visualization, you can download the original PBIX file that was
used to generate this report using the following link.
Custom shape map demo .PBIX file

Getting map data


To quickly get data into a model so you can test Shape Map , you can copy one of the tables at the end of this
article, then select Enter Data from the Home ribbon.

If your data has multiple columns, you will need to use an editor like Excel to paste the data, then copy each data
column separately. You can then paste the data into Power BI Desktop. The top row is automatically identified as
a header.

You can enter a new column simply by typing a new column name (in the blank column to the right), then add
values in each cell, just like you can do in Excel. When finished, select Load and the table is added to the data
model for Power BI Desktop.

NOTE
When working with countries or regions, use the three-letter abbreviation to ensure that geocoding works properly in
map visualizations. Do not use two-letter abbreviations, as some countries or regions may not be properly recognized.
If you only have two-letter abbreviations, check out this external blog post for steps on how to associate your two-letter
country/region abbreviations with three-letter country/region abbreviations.

Preview behavior and requirements


There are a few considerations and requirements for this Preview release of Shape Map :
The Shape Map visual is in Preview, and must be enabled in Power BI Desktop. To enable Shape Map , select
File > Options and Settings > Options > Preview Features , then select the Shape Map Visual
checkbox.
Currently, you must also have the Color saturation bucket set in order for the Legend classification to
work properly.
The final release version of Shape Map will have a user interface that shows the map keys of the currently
selected map (there is no date set for final release, and Shape Map is still in Preview). In this Preview
release, you can reference the map region keys in the tables found in the following Region Keys section of
this article.
The Shape Map visual will plot up to a maximum of 1,500 data points.
Region keys
Use the following Region keys in this Preview release to test Shape map .
Australia: States
ID ABBR ISO NAME P O STA L

au-wa WA AU-WA Western Australia WA

au-vic Vic AU-VIC Victoria VIC

au-tas Tas AU-TAS Tasmania TAS

au-sa SA AU-SA South Australia SA

au-qld Qld AU-QLD Queensland QLD

au-nt NT AU-NT Northern Territory NT

au-nsw NSW AU-NSW New South Wales NSW

au-act ACT AU-ACT Australian Capital ACT


Territory

Austria: States
ID ISO NAME N A M E- EN P O STA L

at-wi AT-9 Wien Vienna WI

at-vo AT-8 Vorarlberg Vorarlberg VO

at-tr AT-7 Tirol Tyrol TR

at-st AT-6 Steiermark Styria ST

at-sz AT-5 Salzburg Salzburg SZ

at-oo AT-4 Oberösterreich Upper Austria OO

at-no AT-3 Niederösterreich Lower Austria NO

at-ka AT-2 Kärnten Carinthia KA

at-bu AT-1 Burgenland Burgenland BU

Brazil: States
ID

Tocantins

Pernambuco
ID

Goias

Sergipe

Sao Paulo

Santa Catarina

Roraima

Rondonia

Rio Grande do Sul

Rio Grande do Norte

Rio de Janeiro

Piaui

Parana

Paraiba

Para

Minas Gerais

Mato Grosso

Maranhao

Mato Grosso do Sul

Distrito Federal

Ceara

Espirito Santo

Bahia

Amazonas

Amapa

Alagoas

Acre
ID

Litigated Zone 1

Litigated Zone 2

Litigated Zone 3

Litigated Zone 4

Canada: Provinces
ID ISO NAME P O STA L

ca-nu CA-NU Nunavut NU

ca-nt CA-NT Northwest Territories NT

ca-yt CA-YT Yukon YT

ca-sk CA-SK Saskatchewan SK

ca-qc CA-QC Quebec QC

ca-pe CA-PE Prince Edward Island PE

ca-on CA-ON Ontario ON

ca-ns CA-NS Nova Scotia NS

ca-nl CA-NL Newfoundland and NL


Labrador

ca-nb CA-NB New Brunswick NB

ca-mb CA-MB Manitoba MB

ca-bc CA-BC British Columbia BC

ca-ab CA-AB Alberta AB

France: Regions
ID NAME N A M E- EN

Auvergne-Rhone-Alpes

Bourgogne-Franche-Comte

Bretagne Bretagne Brittany

Centre-Val de Loire Centre-Val de Loire Centre-Val de Loire


ID NAME N A M E- EN

Corse Corse Corsica

Grand Est

Guadeloupe

Hauts-de-France

Ile-de-France Île-de-France Ile-de-France

La Reunion

Mayotte

Normandie Normandie

Nouvelle-Aquitaine

Occitanie

Pays de la Loire Pays de la Loire Pays de la Loire

Provence-Alpes-Cote d'Azur Provence-Alpes-Côte d'Azur Provence-Alpes-Cote d'Azur

Germany: States
ID ISO NAME N A M E- EN P O STA L

de-be DE-BE Berlin Berlin BE

de-th DE-TH Thüringen Thuringia TH

de-st DE-ST Sachsen-Anhalt Saxony-Anhalt ST

de-sn DE-SN Sachsen Saxony SN

de-mv DE-MV Mecklenburg- Mecklenburg- MV


Vorpommern Vorpommern

de-bb DE-BB Brandenburg Brandenburg BB

de-sh DE-SH Schleswig-Holstein Schleswig-Holstein SH

de-sl DE-SL Saarland Saarland SL

de-rp DE-RP Rheinland-Pfalz Rhineland-Palatinate RP

de-nw DE-NW Nordrhein-Westfalen North Rhine- NW


Westphalia
ID ISO NAME N A M E- EN P O STA L

de-ni DE-NI Niedersachsen Lower Saxony NI

de-he DE-HE Hessen Hesse HE

de-hh DE-HH Hamburg Hamburg HH

de-hb DE-HB Bremen Bremen HB

de-by DE-BY Bayern Bavaria BY

de-bw DE-BW Baden-Württemberg Baden-Wurttemberg BW

Ireland: Counties
ID

Wicklow

Wexford

Westmeath

Waterford

Sligo

Tipperary

Roscommon

Offaly

Monaghan

Meath

Mayo

Louth

Longford

Limerick

Leitrim

Laoighis

Kilkenny
ID

Kildare

Kerry

Galway

Dublin

Donegal

Cork

Clare

Cavan

Carlow

Italy: Regions
ID ISO NAME N A M E- EN P O STA L

it-vn IT-34 Veneto Veneto VN

it-vd IT-23 Valle d'Aosta Aosta Valley VD

it-um IT-55 Umbria Umbria UM

it-tt IT-32 Trentino-Alto Adige Trentino-South Tyrol TT

it-tc IT-52 Toscana Tuscany TC

it-sc IT-82 Sicilia Sicily SC

it-sd IT-88 Sardegna Sardinia SD

it-pm IT-21 Piemonte Piedmont PM

it-ml IT-67 Molise Molise ML

it-mh IT-57 Marche Marche MH

it-lm IT-25 Lombardia Lombardy LM

it-lg IT-42 Liguria Liguria LG

it-lz IT-62 Lazio Lazio LZ

it-fv IT-36 Friuli-Venezia Giulia Friuli-Venezia Giulia FV


ID ISO NAME N A M E- EN P O STA L

it-er IT-45 Emilia-Romagna Emilia-Romagna ER

it-cm IT-72 Campania Campania CM

it-lb IT-78 Calabria Calabria LB

it-bc IT-77 Basilicata Basilicata BC

it-pu IT-75 Apulia Puglia PU

it-ab IT-65 Abruzzo Abruzzo AB

Mexico: States
ID A B REVIAT URA ISO NAME N A M E- EN P O STA L

mx-zac Zac. MX-ZAC Zacatecas Zacatecas ZA

mx-yuc Yuc. MX-YUC Yucatán Yucatan YU

mx-ver Ver. MX-VER Veracruz Veracruz VE

mx-tla Tlax. MX-TLA Tlaxcala Tlaxcala TL

mx-tam Tamps. MX-TAM Tamaulipas Tamaulipas TM

mx-tab Tab. MX-TAB Tabasco Tabasco TB

mx-son Son. MX-SON Sonora Sonora SO

mx-sin Sin. MX-SIN Sinaloa Sinaloa SI

mx-slp S.L.P. MX-SLP San Luis Potosí San Luis Potosi SL

mx-roo Q.R. MX-ROO Quintana Roo Quintana Roo QR

mx-que Qro. MX-QUE Querétaro Queretaro QE

mx-pue Pue. MX-PUE Puebla Puebla PU

mx-oax Oax. MX-OAX Oaxaca Oaxaca OA

mx-nle N.L. MX-NLE Nuevo León Nuevo Leon NL

mx-nay Nay. MX-NAY Nayarit Nayarit NA

mx-mor Mor. MX-MOR Morelos Morelos MR

mx-mic Mich. MX-MIC Michoacán Michoacan MC


ID A B REVIAT URA ISO NAME N A M E- EN P O STA L

mx-mex Méx. MX-MEX Estado de Mexico State MX


México

mx-jal Jal. MX-JAL Jalisco Jalisco JA

mx-hid Hgo. MX-HID Hidalgo Hidalgo HI

mx-gro Gro. MX-GRO Guerrero Guerrero GR

mx-gua Gto. MX-GUA Guanajuato Guanajuato GT

mx-dur Dgo. MX-DUR Durango Durango DU

mx-dif CDMX. MX-DIF Ciudad de Mexico City DF


México

mx-col Col. MX-COL Colima Colima CL

mx-coa Coah. MX-COA Coahuila Coahuila CA

mx-chh Chih. MX-CHH Chihuahua Chihuahua CH

mx-chp Chis. MX-CHP Chiapas Chiapas CP

mx-cam Camp. MX-CAM Campeche Campeche CM

mx-bcs B.C.S. MX-BCS Baja California Baja California BS


Sur Sur

mx-bcn B.C. MX-BCN Baja California Baja California BN

mx-agu Ags. MX-AGU Aguascalientes Aguascalientes AG

Netherlands: Provinces
ID ISO NAME N A M E- EN

nl-zh NL-ZH Zuid-Holland South Holland

nl-ze NL-ZE Zeeland Zeeland

nl-ut NL-UT Utrecht Utrecht

nl-ov NL-OV Overijssel Overijssel

nl-nh NL-NH Noord-Holland North Holland

nl-nb NL-NB Noord-Brabant North Brabant

nl-li NL-LI Limburg Limburg


ID ISO NAME N A M E- EN

nl-gr NL-GR Groningen Groningen

nl-ge NL-GE Gelderland Gelderland

nl-fr NL-FR Fryslân Friesland

nl-fl NL-FL Flevoland Flevoland

nl-dr NL-DR Drenthe Drenthe

UK: Countries
ID ISO NAME

gb-wls GB-WLS Wales

gb-sct GB-SCT Scotland

gb-nir GB-NIR Northern Ireland

gb-eng GB-ENG England

USA: States
ID NAME P O STA L

us-mi Michigan MI

us-ak Alaska AK

us-hi Hawaii HI

us-fl Florida FL

us-la Louisiana LA

us-ar Arkansas AR

us-sc South Carolina SC

us-ga Georgia GA

us-ms Mississippi MS

us-al Alabama AL

us-nm New Mexico NM

us-tx Texas TX

us-tn Tennessee TN
ID NAME P O STA L

us-nc North Carolina NC

us-ok Oklahoma OK

us-az Arizona AZ

us-mo Missouri MO

us-va Virginia VA

us-ks Kansas KS

us-ky Kentucky KY

us-co Colorado CO

us-md Maryland MD

us-wv West Virginia WV

us-de Delaware DE

us-dc District of Columbia DC

us-il Illinois IL

us-oh Ohio OH

us-ca California CA

us-ut Utah UT

us-nv Nevada NV

us-in Indiana IN

us-nj New Jersey NJ

us-ri Rhode Island RI

us-ct Connecticut CT

us-pa Pennsylvania PA

us-ny New York NY

us-ne Nebraska NE

us-ma Massachusetts MA
ID NAME P O STA L

us-ia Iowa IA

us-nh New Hampshire NH

us-or Oregon OR

us-mn Minnesota MN

us-vt Vermont VT

us-id Idaho ID

us-wi Wisconsin WI

us-wy Wyoming WY

us-sd South Dakota SD

us-nd North Dakota ND

us-me Maine ME

us-mt Montana MT

us-wa Washington WA

Next steps
Matrix visual in Power BI
Visualization types in Power BI
Create and use filled maps (choropleth maps) in
Power BI
8/9/2021 • 4 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Desktop ✔
️ Power BI service
A filled map uses shading or tinting or patterns to display how a value differs in proportion across a geography
or region. Quickly display these relative differences with shading that ranges from light (less-frequent/lower) to
dark (more-frequent/more).

What is sent to Bing


Power BI integrates with Bing to provide default map coordinates (a process called geo-coding). When you
create a map visualization in Power BI service or Power BI Desktop, the data in the Location , Latitude , and
Longitude buckets (that is being used to create that visualization) is sent to Bing.
You, or your administrator, may need to update your firewall to allow access to the URLs Bing uses for
geocoding. Those URLs are:
https://dev.virtualearth.net/REST/V1/Locations
https://platform.bing.com/geo/spatial/v1/public/Geodata
https://www.bing.com/api/maps/mapcontrol
For more information about the data being sent to Bing, and for tips to increase your geo-coding success, see
Tips and tricks for map visualizations.

When to use a filled map


Filled maps are a great choice:
to display quantitative information on a map.
to show spatial patterns and relationships.
when your data is standardized.
when working with socioeconomic data.
when defined regions are important.
to get an overview of the distribution across the geographic locations.
Prerequisites
This tutorial uses the Sales and Marketing sample PBIX file.
1. From the upper left section of the menu bar, select File > Open
2. Find your copy of the Sales and Marketing sample PBIX file

3. Open the Sales and Marketing sample PBIX file in report view .

4. Select to add a new page.

NOTE
Sharing your report with a Power BI colleague requires that you both have individual Power BI Pro licenses or that the
report is saved in Premium capacity.

Create a filled map


1. From the Fields pane, select the Geo > State field.

2. Convert the chart to a filled map. Notice that State is now in the Location well. Bing Maps uses the field
in the Location well to create the map. The location can be a variety of valid locations: countries, states,
counties, cities, zip codes, or other postal codes etc. Bing Maps provides filled map shapes for locations
around the world. Without a valid entry in the Location well, Power BI cannot create the filled map.
3. Filter the map to display only the continental United States.
a. To the left of the Visualizations pane, look for the Filters pane. Expand it if it is minimized
b. Hover over State and select the expand chevron

c. Place a check mark next to Select all and remove the check mark next to AK .

4. Select the paint roller icon to open the Formatting pane, and choose Data colors .
5. Under the heading Default color , select fx .

6. Use the Default color - Data colors screen to determine how your filled map will be shaded. The
options available to you include which field to base the shading, and how to apply the shading. In this
example we're using the field SalesFact > Sentiment , and setting the lowest value for sentiment as
orange and the highest value as blue. Values that fall between the maximum and minimum will be shades
of orange and blue. The illustration at the bottom of the screen shows the range of colors that will be
used.

7. The filled map is shaded in orange and blue, with orange representing the lower sentiment numbers and
blue representing the higher, more-positive sentiment. To display additional detail, drag a field into the
Tooltips well. Here we've added SalesFact > Sentiment gap . Highlighting the state of Idaho (ID) shows
us that sentiment gap is low, at 6.

8. Save the report.


Power BI gives you plenty of control over the appearance of your filled map. Play around with these data color
controls until you get the look you want.

Highlighting and cross-filtering


For information about using the Filters pane, see Add a filter to a report.
Highlighting a location in a filled map cross-filters the other visualizations on the report page... and vice versa.
1. To follow along, first save this report by selecting File > Save .
2. Copy the filled map using CTRL-C.
3. From the bottom of the report canvas, select the Sentiment tab to open the Sentiment report page.

4. Move and resize the visualizations on the page to make some room, then CTRL-V paste the filled map
from the previous report. (See the following images)
5. On the filled map, select a state. This cross-highlights and cross-filters the other visualizations on the
page. Selecting Texas , for example, cross-filters the cards and cross-highlights the bar chart. From this, I
know that Sentiment is 75 and that Texas is in the Central District #23.

6. Select a data point on the VanArsdel - Sentiment by Month line chart. This filters the filled map to show
Sentiment data for VanArsdel and not their competition.
Considerations and troubleshooting
Map data can be ambiguous. For example, there's a Paris, France, but there's also a Paris, Texas. Your geographic
data is probably stored in separate columns – a column for city names, a column for state or province names,
etc. – so Bing may not be able to tell which Paris is which. If your dataset already contains latitude and longitude
data, Power BI has special fields to help make the map data unambiguous. Just drag the field that contains your
latitude data into the Visualizations > Latitude area. And do the same for your longitude data.
If you have permissions to edit the dataset in Power BI Desktop, watch this video for help with addressing map
ambiguity.
If you do not have access to latitude and longitude data, but you do have edit access to the dataset, follow these
instructions to update your dataset.
For more help with Map visualizations, see Tips and tricks for map visualizations.

Next steps
Shape map
Visualization types in Power BI
Create ArcGIS maps in Power BI
9/22/2021 • 19 minutes to read • Edit Online

APPLIES TO: Power BI service for business users Power BI service for designers & developers
Power BI Desktop Requires Pro or Premium license

NOTE
These visuals can be created and viewed in both Power BI Desktop and the Power BI service. The steps and illustrations in
this article are from Power BI Desktop.

This overview is written from the point of view of a person creating an ArcGIS map for Power BI. Once a
designer shares an ArcGIS for Power BI map with a colleague, that colleague can view and interact with the map
but not save changes. To learn more about viewing an ArcGIS map, see Explore ArcGIS for Power BI.
The combination of ArcGIS maps and Power BI takes mapping beyond the presentation of points on a map to a
whole new level. Choose from base maps, location types, themes, symbol styles, and reference layers to create
gorgeous informative map visualizations. The combination of authoritative data layers on a map with spatial
analysis conveys a deeper understanding of the data in your visualization. While you cannot create an ArcGIS for
Power BI map on a mobile device, you can view and interact with it.

NOTE
ArcGIS for Power BI supports Power BI Report Server in online environments only; it isn't supported in an offline
environment.

TIP
GIS stands for Geographic Information Systems.

The example below uses a dark gray canvas to show regional sales as a heatmap against a demographic layer of
2020 USA Median Disposable Income. As you'll see as you read on, using ArcGIS for Power BI offers enhanced
mapping capability, demographic data, and even-more compelling map visualizations so you can tell your best
story.
TIP
Visit Esri's page on ArcGIS for Power BI to see many examples and read testimonials. Also view Esri's ArcGIS Maps
for Power BI online help .

User consent
ArcGIS for Power BI is provided by Esri (https://www.esri.com). Your use of ArcGIS for Power BI is subject to Esri's
terms and privacy policy. Power BI users wishing to use the ArcGIS for Power BI visual must accept the consent
dialog. This dialog appears only the first time you use ArcGIS for Power BI.

Prerequisites
This tutorial uses Power BI Desktop and the PBIX Retail Analysis sample. ArcGIS for Power BI maps can also be
created using the Power BI service.
1. From the upper left section of the menu bar, select File > Open repor t .
2. Find the Retail Analysis sample PBIX file saved on your local machine.
3. Open the Retail Analysis Sample in report view .
4. Select to add a new page to the report.

Create an ArcGIS for Power BI map visualization


To add a map to a report, follow these steps:
1. Select the ArcGIS for Power BI icon from the Visualizations pane.
2. Power BI adds an empty template to the report canvas. In this overview, we'll be using the Standard
version included with Power BI. If you sign in to a valid ArcGIS account with the proper licensing, you'll
have access to more features; for details, see the ArcGIS for Power BI online help.

3. From the Fields pane, drag a data field to the Location field, or drag coordinates into the appropriate
Latitude and/or Longitude buckets. In this example, we're using Store > City .

NOTE
ArcGIS for Power BI automatically detects whether the fields you've selected are best viewed as a shape or a point
on a map. You can adjust the default in the settings (see format the ArcGIS for Power BI visualization).

4. From the Fields pane, drag a measure to the Size bucket to adjust how the data is shown. In this
example, we're using Sales > Last Year Sales .
You've created your first ArcGIS for Power BI map. Now, let's refine and format our map using base maps,
location types, themes, and more.

Format the ArcGIS for Power BI visualization


To access ArcGIS for Power BI formatting features:
1. On the Visualizations pane, click the Format tab to view the formatting options.

ArcGIS map formatting options include:


Layers: Change the title of the Layers list (ToC), turn the layers list on or off, anchor the list over the
map, define the position of the anchored list. The Layers list is on by default and is available in the
expanded map tools .
Map tools: Turn Basemaps on or off (they are off by default), lock the map extent in its current
position, define the position of infographics cards on the map. Zoom in and Zoom out buttons are off
by default.
Location type: Specifying the country/region in which your data is located helps to improve the
accuracy of locations on your map. If your data is in a single country/region, choose the
country/region from the drop-down list. If your data is global, choose World.
Search: Turn the Search function on or off, change the default color of the pin. Search is on by default
and is available in the expanded map tools .
Edit an ArcGIS for Power BI map
After you add data to the map visualization, the map tools become available.
NOTE
This tutorial shows only the features and options available in the Standard version of ArcGIS for Power BI. If you're
signed in to a valid ArcGIS account with the proper licensing, you'll have access to more features.

To expand the map tools:


1. Click the Map tools button to expand the tools.

The map tools expand to show the available features. Each feature, when selected, opens a task pane that
provides detailed options.

TIP
Esri provides comprehensive documentation on using ArcGIS for Power BI.

Change the base map


A basemap provides a background, or visual context, for the data in a map. For example, a basemap showing
streets can provide context for your address data. Using the Standard account, four base maps are provided:
Dark Gray Canvas, Light Gray Canvas, OpenStreetMap, and Streets.
To change the basemap, follow these steps:
1. In the visualization's Format pane, expand the Map tools category and turn Basemaps on.
2. Click the Basemap button to display the gallery.
3. Select the Dark Gray Canvas basemap.
The map updates using the new basemap.
For more information, see Change the basemap in the ArcGIS for Power BI online help.
Show map layers
In ArcGIS for Power BI, you work with geographic data through layers. Layers are logical collections of
geographic data that are used to create maps; they are also the basis for geographic analysis.
To display the Layers list, click the Layers button in the map tools.
The Layers list displays each layer that makes up the map, and each layer has its own set of options to help you
customize and work with the map. Different options appear in the menu depending on the type of layer
selected; for example, you can change symbology and location type for a layer created using Power BI data—like
the City layer you created for this example—but those options aren't available for reference or drive-time
layers.

For more information, see Work with layers in the ArcGIS for Power BI online help.
Specify the location type
ArcGIS for Power BI uses its powerful geo enabling technology to accurately position location data on the map
and automatically renders items as points or boundaries by default, based on the type of data. For example, a
latitude-longitude coordinate is rendered as a point on the map, whereas a state field is rendered as a boundary,
or polygon. You can change the way locations are rendered by specifying the location type.
Use the Location type feature to improve the accuracy of the locations on your map. You can quickly do this by
choosing a country/region in the visualization's Format pane (expand the Location type category and choose the
appropriate country/region), or access more options by using the full Location Type feature in the layer options
pane.
The full Location type feature is accessible through the layer options menu and allows you to choose whether
to represent your data as points or boundaries (polygons), in addition to specifying the country/region in which
the data is located. Boundaries are typically defined as standard geographic areas such as countries, provinces,
ZIP codes, and so on. If you choose boundaries and a specific country/region for your data locations, you can
choose from a variety of standard boundaries, such as counties, census tracts, districts, or municipalities.
Different location types are available for each country/region.
To modify your data's location type, follow these steps:
1. In the Layers list, select the data layer you want to work with.
2. Click the Layer options button and choose Location type .

Accept the default values to render the locations as points on the map and specify One countr y >
United States .

For more information, see Specify the location type in the ArcGIS for Power BI online help.
Customize the map's symbology
ArcGIS for Power BI uses values in the Fields pane to intelligently determine how it should render locations on
the map. The Symbology feature allows you to modify the default styling to better tell your story. You can
choose a different map theme and customize the symbols and colors used to represent locations on the map.
Different map themes and styling options are available, depending on the values you added to the map visual's
Fields pane.
To change a layer's symbology, follow these steps:
1. In the Layers list, select the data layer you want to work with.
2. Click the Layer options button and choose Symbology .
The Symbology pane appears, with the Map theme category expanded.
Ch an ge t h e m ap t h em e

In this example, because we added values to both the Location and Size fields, the map uses the Size theme by
default.
To change the map theme, follow these steps:
1. Choose some of the other map themes to see how your map changes.

2. Choose the Size theme.


For detailed information, see Change the map theme in the ArcGIS for Power BI online help.
L a y e r t r a n sp a r e n c y

If your map contains several layers, it can be useful to render layers with some level of transparency so that
items on other layers are still visible.
To set the transparency value for the layer, follow these steps:
1. In the Symbology pane, expand the Transparency category.
2. Type a percentage in the text box or move the slider to the left (less transparent) or to the right (more
transparent).
Sy m b o l st y l e

Symbol styles allow you to fine-tune how data is presented on the map. Default symbol styles are based on the
selected Location type and Map theme, and the available styling options are different depending on which field
wells contain values and the nature of those values.
To change the symbol style, follow these steps:
1. In the Symbology pane, expand the Symbol style category.
2. Change the symbol settings as desired. Choose a symbol shape, color, transparency, and outline color,
thickness, and transparency. Expand the Symbol size category to change those options; different options
appear depending on the nature of your data and the selected map theme.
The example below shows the map theme set to Size and several symbol style adjustments to
transparency, style, and size.

3. When you're done setting styling options, close the Symbology pane.
Analyze your data
ArcGIS for Power BI provides several tools that allow you to discover patterns in your data and tell a compelling
story with a map.
Analysis features include:
Selecting locations on the map
Searching for a specific address, place, or point of interest
Adding a reference layer to provide more context
Finding locations within a specified radius or drive-time area
Adding cards that display demographic details about the area displayed on the map
Select locations
ArcGIS for Power BI provides several different selection tools to help you select locations on the map. Different
tools appear, depending on the type of layer currently selected in the Layers list.
To display the selection tools, follow these steps:
1. From the map tools, click the Selection tools button to expand the toolset.
There are four selection tools available; different tools may appear in the Selection tools menu,
depending on the type of layer that is currently active. Because the map in this example contains only a
data layer, only the Single select and Box select tools appear.

TO O L DESC RIP T IO N
TO O L DESC RIP T IO N

Single select —This is a single-selection tool that can


be used to click individual locations; it is the default
selection tool. Press Ctrl and click to select multiple
locations.Clicking data locations on the map selects them
and triggers interactions with other
visualizations.Clicking a pin or a location on a reference
layer displays its tooltip.

Box select —Drag a rectangle selector to select multiple


locations or select individual locations by clicking
them.As with the Select tool, clicking a pin or a location
on a reference layer displays its tooltip.When the Box
select tool is active, you cannot pan the map.

Reference layer select —If you added a reference


layer to the map, use this tool to select locations by
clicking areas on the reference layer. Locations that are
within a delimited area on a reference are highlighted;
locations in other areas of the map are unavailable.This
tool appears only if the map contains one or more
reference layers and a reference layer is currently active.

Drive-time select —If you added a drive-time area to


your map, use the drive-time area selection tool to select
data locations within the defined area.

2. Select one or more locations on the map. You can select a maximum of 250 data points at a time.
For more information, see Select locations on a map in the ArcGIS for Power BI online help.
Pin a location
Pin a specific address, place, or point of interest on the map. For this example, you'll search for the Pittsburgh
International Airport.
To pin a location, follow these steps:
1. From the map tools, click the Search button to open the Search pane.
2. Type the keywords Pittsburgh international in the search box.
Keywords can include an address, place, or point of interest. As you type, similar recent searches or
suggestions based on similar keywords appear.
3. From the results list, choose Pittsburgh International Airpor t and click Close .
A symbol appears on the map, and the map automatically zooms to the location. Pins remain in place on
the map only during the current session; you cannot save a pinned location with the map. The pinned
location also appears as a layer in the Layers list; you can rename the layer, show or hide it, or remove it
from the map, as you can with other layers.
4. To change the color of the pin, expand the Search category in the map visual's Format pane and choose
a new color.

NOTE
The Search feature replaces the Pins feature previously available in ArcGIS for Power BI.
For more information, see Pin a location in the ArcGIS for Power BI online help.
Add a reference layer
Reference layers provide context for the Power BI data you're already displaying on a map. Reference layers can
include demographic data, such as household income, age, or education. They can also include publicly shared
feature layers available on ArcGIS Online that provide more information about areas surrounding the locations
on your map.
A dd a dem o gr aph i c l ayer

The Standard ArcGIS for Power BI account includes a curated selection of U.S. demographic layers that help
contextualize data from Power BI.
To add a demographic layer, follow these steps:
1. From the map tools, click the Analysis tools button to expand the toolset.
2. Click the Reference layer button .
The Reference layer pane appears, displaying the Demographics tab and its selection of layers.
3. Scroll through the gallery and click Add on the thumbnail of the layer you want to add to your map.
For this example, find the 2020 USA Average Household Income layer and select Add .
The map updates to show the new layer.

Demographic reference layers are interactive; click an area to view a tooltip containing more information. You
can also use the Reference select tool to select areas on the map that fall within an area on the reference layer.
A d d a r e fe r e n c e l a y e r fr o m A r c G I S

ArcGIS for Power BI allows you to search for publicly shared feature layers on ArcGIS, giving you access to
thousands of reference layers that provide information about the areas surrounding the locations on your data
layer. When you sign in to ArcGIS for Power BI using a valid ArcGIS account, you can search for content in your
organization, your organization's groups, or public content. In this example, because you're using the Standard
account, only publicly shared content appears in search results.
To add an ArcGIS reference layer, follow these steps:
1. In the Reference pane, click the ArcGIS tab.
2. In the search field, type USA Congressional districts and press Enter .
The gallery populates with several possible results.
3. Locate the USA 117th Congressional Districts (all territories) layer and select Add .
The map updates to show the new layer.

ArcGIS reference layers are interactive; click an area to view a tooltip containing more information. You can also
use the Reference select tool to select areas on the map that fall within an area on the reference layer.
Find nearby locations
You can use locations on your map—including a pinned location—as a starting point to find and select nearby
locations on your map. For example, if you search for a particular place of interest, you can select locations on
your map that are within a specified driving time or distance from that place.
In this example, you'll use the Pittsburgh International Airport you pinned earlier as a starting point to find
locations within 100 miles of the airport. Use similar steps to find locations within a specified drive time.
To find locations within a specific driving distance from the point of origin, follow these steps:
1. From the map tools, click the Analysis tools button to expand the toolset.
2. Click the Drive-time button .
The Drive time pane appears.
3. Click the single select tool and, on the map, select the Pittsburgh International Airpor t location you
pinned earlier.
4. From the Search area drop-down menu, choose Radius and specify a distance of 100 miles.
5. Click OK .
The map shows a circle surrounding the pinned airport location. The Drive time pane expands to show
styling options for the driving distance area.

The driving distance area also appears as a layer in the Layers list; you can rename the layer, show or hide
it, or remove it from the map, as you can with other layers.
6. With the drive-time layer active in the Layers list, use the Drive-time select tool to click the driving
distance area.
Locations that fall within the search area are selected; unselected locations on the map appear smaller or
become more transparent. Other visualizations are updated to reflect the selected locations.
For more information, see Find nearby locations in the ArcGIS for Power BI online help.
Add infographics cards
Like reference layers, infographics cards provide additional details about areas on the map. Infographics cards
lay on top of the map and display specific demographic information about either the area immediately
surrounding a selected location, or about the general area displayed in the current map extent. For detailed
information, see Add infographics cards in the ArcGIS for Power BI online help.
Get help
Esri provides comprehensive online documentation on ArcGIS for Power BI.
To access the ArcGIS for Power BI online help from the visualization, follow these steps:
1. From the map tools, click the Settings button .
2. On the Settings pane, click the Help button.
3. Click OK on the confirmation window that appears.
The ArcGIS for Power BI online help opens in a browser window.
Find answers to frequently asked questions on ArcGIS for Power BI online help.
You can ask questions, find the latest information, report issues, and find answers on the Power BI
community thread related to ArcGIS for Power BI .
If you have a suggestion for an improvement, please submit it to Power BI's ideas list.
Manage the use of ArcGIS for Power BI within your organization
Power BI allows designers, Power BI admins, and user administrators to manage the use of ArcGIS for Power BI.
The sections below outline the actions each role can take.
Designer options
In Power BI Desktop, designers can disable ArcGIS for Power BI on the security tab. Select File > Options and
settings and then select Options > Security . When disabled, ArcGIS will not load by default.

Administrator options
In the Power BI service, administrators can turn off ArcGIS for Power BI for all users. Select Settings > Admin
Por tal > Tenant settings . When disabled, Power BI will no longer display the ArcGIS for Power BI icon in the
visualizations pane.
User Administrator options
Power BI Desktop supports using Group Policy to disable ArcGIS for Power BI across an organization's
deployed computers.
For Power BI Desktop

AT T RIB UT E VA L UE

Key Software\Policies\Microsoft\Power BI Desktop

valueName EnableArcGISMaps

For Power BI Desktop (Optimized for Power BI Report Server)

AT T RIB UT E VA L UE

Key Software\Policies\Microsoft\Microsoft Power BI Desktop SSRS

valueName EnableArcGISMaps

A value of 1 (decimal) enables ArcGIS for Power BI.


A value of 0 (decimal) disables ArcGIS for Power BI.

Considerations and limitations


ArcGIS for Power BI is available in the following services and applications:

SERVIC E/ A P P L IC AT IO N AVA IL A B IL IT Y

Power BI Desktop Yes

Power BI service (powerbi.com) Yes


SERVIC E/ A P P L IC AT IO N AVA IL A B IL IT Y

Power BI mobile applications* Yes

Power BI publish to web Yes, for designers signed in to a valid ArcGIS account with
the appropriate add-on license. Consumers do not need the
add-on license to view published content.

Power BI Embedded Yes, for designers signed in to a valid ArcGIS account with
the appropriate add-on license. Consumers do not need the
add-on license to view published content.

Power BI service embedding (powerbi.com) No

Power BI Report Server Yes, in online environments only; not supported in a


disconnected environment.

*In mobile environments, you can view maps created using the ArcGIS for Power BI visualization included with
Power BI (Standard account). Maps that contain premium content from ArcGIS are not supported in mobile
environments.
In services or applications where ArcGIS for Power BI is not available, the visualization will show as an empty
visual with the Power BI logo.
The following table compares the standard features available to all Power BI users to those available to signed-in
ArcGIS users:

STA N DA RD ( IN C L UDED W IT H P O W ER B I) W IT H Y O UR A RC GIS A C C O UN T

Basemaps

4 basic basemaps All Esri basemaps plus access to your organization's


basemaps, including custom basemaps

Geocoding

3,500 locations per map 10,000 locations per map

10,000 locations per month No monthly limit

Reference layers

10 reference layers that contain U.S. demographics Access to all web maps and layers from your ArcGIS
organization

Publicly shared feature layers in ArcGIS Publicly shared feature layers in ArcGIS

Access to ArcGIS Living Atlas of the World maps and layers


(feature services)

Infographics

Curated gallery of U.S. demographics variables (7 categories) Full access to the ArcGIS GeoEnrichment data browser,
including U.S. and global demographics variables
Next steps
Interacting with an ArcGIS map that has been shared with you
Blog posts announcing ArcGIS for Power BI updates
More questions? Try asking the Power BI Community
Tips and tricks for Power BI map visualizations
9/20/2021 • 6 minutes to read • Edit Online

APPLIES TO: Power BI service for consumers Power BI service for designers & developers Power
BI Desktop Requires Pro or Premium license
Power BI integrates with Bing Maps to provide default map coordinates (a process called geo-coding) so you can
create maps. Together they use algorithms to identify the correct location, but sometimes it's a best guess. If
Power BI tries, but can't create the map visualization on its own, it enlists the help of Bing Maps.
You, or your administrator, may need to update your firewall to allow access to the URLs Bing uses for
geocoding. Those URLs are:
https://dev.virtualearth.net/REST/V1/Locations
https://platform.bing.com/geo/spatial/v1/public/Geodata
https://www.bing.com/api/maps/mapcontrol
To increase the likelihood of correct geo-coding, use the following tips. The first set of tips is for you to use if you
have access to the dataset itself. The second set of tips is things you can do in Power BI if you don't have access
to the dataset.

What is sent to Bing Maps?


The Power BI service and Power BI Desktop send Bing the geo data it needs to create the map visualization. This
may include the data in the Location , Latitude , and Longitude buckets of the visual's field well. Exactly what is
sent varies by map type. To learn more, see Bing Maps privacy.
For maps (bubble, scatter, and dot plot maps), if latitude and longitude are provided, then no data is sent
to Bing. Otherwise, any data in the Location bucket is sent to Bing.
Filled maps require a field in the Location bucket; even if latitude and longitude are provided. Whatever
data is in the Location , Latitude , or Longitude bucket is sent to Bing.
In the example below, the field Vendor is being used for geo-coding, so the values in the Vendor column
are sent to Bing. Data from the Size and Color saturation buckets is not sent to Bing.

In this second example below, the field Territor y is being used for geo-coding, so the values in the
Territory column are sent to Bing. Data from the Legend and Color saturation buckets is not sent to
Bing.

In the dataset: tips to improve the underlying dataset


If you have access to the dataset that is being used to create the map visualization, there are a few things you
can do to increase the likelihood of correct geo-coding.
1. Categorize geographic fields in Power BI Desktop
In Power BI Desktop, you can ensure fields are correctly geo-coded by setting the Data Category on the data
fields. In Data view, select the desired column. From the ribbon, select the Modeling tab and then set the Data
Categor y to Address , City , Continent , Countr y/Region , County , Postal Code , State or Province . These
data categories help Bing correctly encode the date. To learn more, see Data categorization in Power BI Desktop.
If you are live connecting to SQL Server Analysis Services, you will need to set the data categorization outside of
Power BI using SQL Server Data Tools (SSDT).
2. Use more than one location column.
Sometimes, even setting the data categories for mapping isn't enough for Bing to correctly guess your intent.
Some designations are ambiguous because the location exists in multiple countries or regions. For example,
there's a Southampton in England, Pennsylvania, and New York.
Power BI uses Bing's unstructured URL template service to get the latitude and longitude coordinates based on a
set of address values for any country. If your data doesn't contain enough location data, add those columns and
categorize them appropriately.
For example, if you only have a City column, Bing may have a hard time geo-coding. Add additional geo
columns to make the location unambiguous. Sometimes all it takes is adding one more location column to the
dataset - in this case state/province. And don't forget to categorize it properly, see #1 above.
Make sure each field only has a single location category. For example, your City location field should be
Southampton , not Southampton, New York . And Address location fields should be 1 Microsoft Way and
not 1 Microsoft Way, Redmond, WA .
3. Use specific Latitude and Longitude
Add latitude and longitude values to your dataset. This removes any ambiguity and returns results more quickly.
Latitude and Longitude fields must be in Decimal Number format, which you can set in the data model.
NOTE
This video might use earlier versions of Power BI Desktop or the Power BI service.

https://www.youtube.com/embed/ajTPGNpthcg
4. Use Place categor y for columns with full location information
While we encourage you to use geo-hierarchies in your maps, if you must use a single location column with full
geographical information, you can set the data categorization to Place . For example, if the data in your column
is full addresses, such as 1 Microsoft Way, Redmond Washington 98052, this generalized data category will
work best with Bing.

In Power BI: tips to get better results when using map visualizations
1. Use latitude and longitude fields (if they exist)
In Power BI, if the dataset you are using has fields for longitude and latitude -- use them! Power BI has special
buckets to help make the map data unambiguous. Just drag the field that contains your latitude data into the
Visualizations > Latitude area. And do the same for your longitude data. When you do this, you also need to
fill the Location field when creating your visualizations. Otherwise, the data is aggregated by default, so for
example, the latitude and longitude would be paired at the state level, not the city level.

Use geo-hierarchies so you can drill down to different "levels" of


location
When your dataset already has different levels of location data, you and your colleagues can use Power BI to
create geo-hierarchies. To do this, drag more than one field into the Location bucket. Used together in this way,
the fields become a geo-hierarchy. In the example below we have added geo fields for: Country/Region, State,
and City. In Power BI you and your colleagues can drill up and down using this geo-hierarchy.
When drilling with geo-hierarchies, it is important to know how each drill button works and what gets sent to
Bing Maps.
The drill button on the far right, called Drill Mode , allows you to select a map Location and drill down
into that specific location one level at a time. For example, if you turn the drill-down option on and click
North America, you move down in the hierarchy to the next level -- states in North America. For geo-coding,
Power BI sends Bing Maps country and state data for North America only.
On the left there are 2 other drill options. The first option, , drills to the next level of the hierarchy for all
locations at once. For example, if you are currently looking at countries and then use this option to move to
the next level, states, Power BI displays state data for all countries. For geo-coding, Power BI sends Bing Maps
state data (no country data) for all locations. This option is useful if each level of your hierarchy is unrelated
to the level above it.
The second option, , is similar to the drill-down option, except that you don't need to click on the map. It
expands down to the next level of the hierarchy remembering the current level's context. For example, if you
are currently looking at countries and select this icon, you move down in the hierarchy to the next level --
states. For geo-coding, Power BI sends data for each state and its corresponding country to help Bing Maps
geocode more accurately. In most maps, you will use either this option or the drill down option on the far
right, so you can send Bing as much information as possible to get accurate location information.

Next steps
Drill down in a Power BI visualization
Power BI visualizations
More questions? Try the Power BI Community
Create matrix visualizations in Power BI
8/9/2021 • 11 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Desktop ✔
️ Power BI service
The matrix visual is similar to a table. A table supports two dimensions and the data is flat, meaning duplicate
values are displayed and not aggregated. A matrix makes it easier to display data meaningfully across multiple
dimensions -- it supports a stepped layout. The matrix automatically aggregates the data and enables you to
drill down.
You can create matrix visuals in Power BI Desktop reports and cross-highlight elements within the matrix with
other visuals on that report page. For example, you can select rows, columns, and even individual cells and
cross-highlight. Also, individual cells and multiple cell selections can be copied and pasted into other
applications.

There are many features associated with the matrix, and we'll go through them in the following sections of this
article.

NOTE
Sharing your report with a Power BI colleague requires that you both have individual Power BI Pro licenses or that the
report is saved in Premium capacity.

Understanding how Power BI calculates totals


Before jumping into how to use the matrix visual, it's important to learn how Power BI calculates total and
subtotal values in tables and matrices. For total and subtotal rows, Power BI evaluates the measure over all rows
in the underlying data – it isn't just a simple addition of the values in the visible or displayed rows. This means
you can end up with different values in the total row than you might expect.
Take a look at the following matrix visuals.
In this example, each row in the matrix visual farthest to the right is showing the Amount for each
salesperson/date combination. However, since a salesperson shows up against multiple dates, the numbers can
appear more than once. Thus, the accurate total from the underlying data, and a simple addition of the visible
values, do not equate. This is a common pattern when the value you’re summing is on the ‘one’ side of a one-to-
many relationship.
When you look at totals and subtotals, remember that those values are based on the underlying data. They
aren't solely based on the visible values.

Expanding and collapsing row headers


There are two ways you can expand row headers. The first is through the right-click menu. You’ll see options to
expand the specific row header you selected, the entire level, or everything down to the very last level of the
hierarchy. You have similar options for collapsing row headers as well.

You can also add +/- buttons to the row headers through the formatting pane under the Row headers card. By
default, the icons will match the formatting of the row header, but you can customize the icons’ colors and sizes
separately if you want.
Once the icons are turned on, they work similar to PivotTable icons in Excel.

The expansion state of the matrix will save with your report. A matrix can be pinned to a dashboard expanded or
collapsed. When that dashboard tile is selected, and the report opens, the expansion state can still be changed in
the report.

NOTE
If you're building a report on top of an Analysis Services multidimensional model, there are some special considerations
for expand/collapse if the model uses the Default Member feature. For more information see Work with multidimensional
models in Power BI

Using drill-down actions with the matrix visual


With the matrix visual, you can do all sorts of interesting drill-down activities that weren't available before. This
includes the ability to drill down using rows, columns, and even into individual sections and cells. Let's take a
look at how each of these works.
Drill down on row headers
In the Visualizations pane, when you add multiple fields to the Rows section of the Fields well, you enable drill-
down actions on the rows of the matrix visual. This is similar to creating a hierarchy, which then allows you to
drill down (and then back up) through that hierarchy, and analyze the data at each level.
In the following image, the Rows section contains Sales stage and Opportunity size, creating a grouping (or
hierarchy) in the rows that we can drill to see details.
When the visual has grouping created in the Rows section, the visual itself displays the drill and expand icons in
the top-left corner of the visual.

Similar to the drill and expand behavior in other visuals, selecting those buttons lets us drill down (or back up)
through the hierarchy. In this case, we can drill down from Sales stage to Opportunity size, as shown in the
following image, where the drill down one level icon (the pitchfork) has been selected.

In addition to using those icons, you can select any of those row headers and drill down by choosing from the
menu that appears.
Notice there are a few options from the menu that appears, which generate different results:
Selecting Drill Down expands the matrix for that row level, excluding all other row headings except the row
header that was selected. In the following image, Proposal > Drill Down was selected. Notice that other top-
level rows no longer appear in the matrix. This way to drill is a useful feature, and becomes especially cool when
we get to the cross-highlighting section.

Select the Drill up icon to get back to the previous top-level view. If you then select Proposal > Show Next
Level , you get an ascending listing of all the next-level items (in this case, the Opportunity size field), without
the higher-level hierarchy categorization.

Select the Drill up icon in the upper-left corner to have the matrix show all top-level categories, then select
Proposal > Expand to next level , to see all the values for both levels of the hierarchy - Sales stage and
Opportunity size.
You can also use the Expand menu item to control the display further. For example, select Proposal > Expand
> Selection . Power BI displays one total row for each Sales stage and all the Opportunity size options for
Proposal.

Drill down on column headers


Similar to the ability to drill down on rows, you can also drill down on columns. In the following image, there are
two fields in the Columns field well, creating a hierarchy similar to what we used for the rows earlier in this
article. In the Columns field well, we have Region and Segment. As soon as the second field was added to
Columns , a new dropdown menu displayed on the visual, it currently shows Rows .

To drill down on columns, select Columns from the Drill on menu that can be found in the upper left corner of
the matrix. Select the East region and choose Drill Down .
When you select Drill Down , the next level of the column hierarchy for Region > East displays, which in this
case is Opportunity count. The other region is hidden.

The rest of the menu items work on columns in the same way they do for rows (see the previous section, Drill
down on row headers ). You can Show Next Level and Expand to next level with columns just as you can
with rows.

NOTE
The drill-down and drill-up icons in the upper-left of the matrix visual only apply to rows. In order to drill down on
columns, you must use the right-click menu.

Stepped layout with matrix visuals


The matrix visual automatically indents subcategories in a hierarchy beneath each parent, called a stepped
layout.
In the original version of the matrix visual, subcategories were shown in an entirely different column, taking up
much more space in the visual. The following image shows the table in original matrix visual; notice the
subcategories in a separate column.

In the following image, you see a matrix visual, with stepped layout in action. Notice the category Computers
has its subcategories (Computers Accessories, Desktops, Laptops, Monitors, and so on) slightly indented,
providing a cleaner and much more condensed visual.

You can easily adjust the stepped layout settings. With the matrix visual selected, in the Format section (the
paint roller icon) of the Visualizations pane, expand the row headers section. You have two options: the
stepped layout toggle (which turns it on or off), and the stepped layout indentation (specifies the indentation
amount, in pixels).

If you turn off stepped layout, Power BI shows the subcategories in another column rather than indented
beneath the parent category.

Subtotals and grand totals with matrix visuals


You can turn subtotals on or off in matrix visuals, for both rows and columns. In the following image, you can
see that the row subtotals are set to On and set to display at the bottom.
When you turn on Subtotals and add a label, Power BI also adds a row, and the same label, for the grand total
value. To format your grand total, select the format option for Grand total .

If you want to turn subtotals and grand total off, in the format section of the visualizations pane, expand the
Subtotals card. Turn the row subtotals slider to Off . When you do so, the subtotals aren't shown.
The same process applies for column subtotals.

Add conditional icons


Add visual cues to your table or matrix with conditional icons.
In the format section of the Visualizations pane, expand the Conditional formatting card. Turn the Icons slider
to On and select Advanced controls .

Adjust the conditions, icons, and colors for your matrix and select OK . In this example, we used a red flag for low
values, purple circle for high values, and yellow triangle for everything in between.
Cross-highlighting with matrix visuals
With the matrix visual, you can select any elements in the matrix as the basis for cross-highlighting. Select a
column in a matrix and Power BI highlights the column, as does any other visuals on the report page. This type
of cross-highlighting has been a common feature of other visuals and data point selections, so now the matrix
visual offers the same function.
In addition, using Ctrl+Click also works for cross-highlighting. For example, in the following image a collection
of subcategories were selected from the matrix visual. Notice how items that weren't selected from the visual
are grayed out, and how the other visuals on the page reflect the selections made in the matrix visual.

Copying values from Power BI for use in other applications


Your matrix or table may have content that you'd like to use in other applications: Dynamics CRM, Excel, and
other Power BI reports. With the Power BI right-click, you can copy a single cell or a selection of cells onto your
clipboard. Then, paste them into the other application.
To copy the value of a single cell, select the cell, right-click, and choose Copy value . With the
unformatted cell value on your clipboard, you can now paste it into another application.
To copy more than a single cell, select a range of cells or use CTRL to select one or more cells. Copy
selection will ensure that measures are formatted according to the column's formatting rules, unlike the
unformatted Copy value command.

The copy will include the column and row headers.

To make a copy of the visual itself containing only your selected cells, select one or more cells using CTRL,
right-click, and choose Copy visual

The copy will be another matrix visualization, but contain only your copied data.
Setting a matrix value as a custom URL
If you have a column or measure that contains website URLs, you can use conditional formatting to apply those
URLs to fields as active links. You’ll find this option under the Conditional formatting card in the formatting
pane.

Turn Web URL On, and select a field to use as the URL for the column. Once applied, the values in that field
(column) become active links. Hover to see the link, and select to jump to that page.
For more information, see Conditional table formatting
Shading and font colors with matrix visuals
With the matrix visual, you can apply conditional formatting (colors and shading and data bars) to the
background of cells within the matrix, and you can apply conditional formatting to the text and values
themselves.
To apply conditional formatting, select the matrix visual and open the Format pane. Expand the Conditional
formatting card and for Background color , Font color , or Data bars , turn the slider to On . Turning on one
of these options displays a link for Advanced controls, which lets you customize the colors and values for the
color formatting.

Select Advanced controls to display a dialog, which lets you make adjustments. This example shows the dialog
for Data bars .
Ragged hierarchy
A ragged hierarchy has levels with no data. A good example is a company employee matrix. A company has
many levels, from CEO on down. The CEO is the highest level in the hierarchy and reports to no other
employees. Any other company employee, on the other hand, may report to a chain of managers who report to
a vice-president who reports to the CEO. Depending on their level in the hierarchy and the way their department
is organized, employees may have data for one, two, five, or ten levels in the hierarchy. And, for any given
employee, there may be no data for particular hierarchy levels.

There is currently no way to hide blank rows or identical parent and child values. And you can’t control which
levels of the hierarchy can and can’t be expanded. However, there are a few steps you can take to make the
visual look more appealing.
Turn off stepped layout. In the Format pane, select Row headers > Turn off stepped layout . All the
blank values for a hierarchy level will now display in the same row.

Turn off subtotals for the matrix rows and columns. In the Format pane, select Format > Subtotals .

Considerations and troubleshooting


If the text data in your matrix's cells or headers contain new line characters, those characters will be ignored
unless you toggle on the 'Word Wrap' option in the element's associated formatting pane card.

Next steps
Power Apps visual for Power BI
Visualization types in Power BI
Tutorial: Embed a Power Apps visual in a Power BI
report
7/21/2021 • 2 minutes to read • Edit Online

In this tutorial, you use the Power Apps visual to create a new app that is embedded in a sample Power BI report.
This app interacts with other visuals in that report.
If you don't have a Power Apps subscription, create a free account before you begin.
In this tutorial, you learn how to:
Add a Power Apps visual to a Power BI report
Work in Power Apps to create a new app that uses data from the Power BI report
View and interact with the Power Apps visual in the report

Prerequisites
Google Chrome or Microsoft Edge browser
A Power BI subscription, with the Opportunity Analysis Sample installed
An understanding of how to create apps in Power Apps and how to edit Power BI reports

Create a new app


When you add the Power Apps visual to your report, it launches Power Apps Studio with a live data connection
between Power Apps and Power BI.
1. Open the Opportunity Analysis sample report and select the Upcoming Opportunities page.
2. Move and resize some of the report tiles to make space for the new visual.
3. From the Visualizations pane, select the Power Apps icon, then resize the visual to fit the space you made.

4. In the Fields pane, select Name , Product Code , and Sales Stage .
5. On the Power Apps visual, select the Power Apps environment where you want to create the app, then
select Create new .

In Power Apps Studio, you see that a basic app is created, with a gallery that shows one of the fields you
selected in Power BI.
6. Resize the gallery so it takes up only half of the screen.
7. In the left pane, select Screen1 , then set the screen's Fill property to "LightBlue" (so it shows up better in
the report).

8. Make some room for a label control.


9. Under galler y , insert a text label control.

10. Drag the label to the bottom of your visual. Set the Text property to
"Opportunity Count: " & CountRows(Gallery1.AllItems) . It now shows the total number of opportunities in
the data set.
11. Save the app with the name "Opportunities app".

View the app in the report


The app is now available in the Power BI report, and it interacts with other visuals because it shares the same
data source.
In the Power BI report, select Jan in the slicer, which filters the whole report, including the data in the app.

Notice that the opportunity count in the app matches the count in the upper left of the report. You can select
other items in the report, and the data in the app updates.
Clean up resources
If you don't want to use the Opportunity Analysis Sample anymore, you can delete the dashboard, report, and
dataset.

Limitations and considerations


For troubleshooting information, see Power Apps visual for Power BI

Next steps
Q&A visual
Tutorial: Embed a Power Apps visual in a Power BI report
Create and use R visuals in Power BI
4/6/2021 • 7 minutes to read • Edit Online

APPLIES TO: Power BI service for business users Power BI service for designers & developers
Power BI Desktop Requires Pro or Premium license
R visuals currently can only be created in Power BI Desktop , and then published to the Power BI service. For
more information on creating R visuals, see Create Power BI visuals using R .

Viewing R visuals in the Power BI service


The Power BI service supports viewing and interacting with visuals created with R scripts. Visuals created with R
scripts, commonly called R visuals, can present advanced data shaping and analytics such as forecasting, using
the rich analytics and visualization power of R.

NOTE
The R programming language is among the most widely used programming languages by statisticians, data scientists,
and business analysts. The R language has an open source community that offers over 7,000 add-on packages, as well as
widely used R User Groups. The version of R deployed in the Power BI service is Microsoft R 3.4.4.

The following image shows a Power BI dashboard with a collection of R visuals used for advanced analytics.

R visuals are created in a Power BI Desktop report, like the report shown in the following image.
Once the report is created in Power BI Desktop , you can publish the report containing one or more R visuals
to the Power BI service.
In the service, not all of the R packages are supported. See supported packages at the end of this article for the
list of packages currently supported in the Power BI service.
You can download this sample Power BI Desktop file (.pbix file) that contains a few R visuals to see how this
works, and to experiment.
R visuals that are created in Power BI Desktop , and then published to the Power BI service, for the most part
behave like any other visual in the Power BI service; you can interact, filter, slice, and pin them to a dashboard, or
share them with others. For more information about sharing dashboards and visuals, see share a dashboard
with colleagues and others. One difference from other visuals is that R visuals cannot show tool tips and cannot
be used to filter other visuals.
As you can see in the following image, R visuals in the Power BI service, either in dashboards or reports, largely
appear and behave like any other visual, and users don't need to be aware of the underlying R script that created
the visual.
R scripts security
R visuals are created from R scripts, which could potentially contain code with security or privacy risks.
These risks mainly exist in the authoring phase when the script author run the script on their own computer.
The Power BI service applies a sandbox technology to protect users and the service from security risks.
This sandbox approach imposes some restrictions on the R scripts running in the Power BI service, such as
accessing the Internet, or accessing to other resources that are not required to create the R visual.

R scripts error experience


When an R script encounters an error, the R visual is not plotted and an error message is displayed. For details
on the error, select See details from the R visual error on the canvas, as shown in the following image.

As another example, the following image shows the error message that appears when an R script failed to run
properly due to a missing R package in Azure.
Licensing
R visuals require a Power BI Pro or Premium Per User (PPU) license to render in reports, refresh, filter, and cross-
filter. For more information about Power BI Pro licenses, and how they differ from free licenses, see Power BI Pro
content - what is it?
Free users of Power BI can only consume tiles shared with them in Premium workspaces. See purchasing Power
BI Pro for more information.
The following table describes R visuals capabilities based on licensing.

A UT H O R R VISUA L S C REAT E P B I SERVIC E


IN P O W ER B I REP O RT S W IT H R VIEW R VISUA L S IN VIEW R T IL ES IN
DESK TO P VISUA L S REP O RT S DA SH B O A RDS

Guest (Power BI Supported Not supported Supported in Supported in


embedded) Premium/Azure Premium/Azure
capacity only capacity only

Unmanaged Supported Not supported Not supported Supported (B2B


tenant (domain not scenario)
verified)

Managed tenant Supported Not supported Supported in Supported


with free license Premium capacity
only

Managed tenant Supported Supported Supported Supported


with Pro or PPU
license

Known Limitations
R visuals in the Power BI service have a few limitations:
R visuals support is limited to the packages identified in Learn which R packages are supported. There
currently is no support for custom packages.
Data size limitations – data used by the R visual for plotting is limited to 150,000 rows. If more than
150,000 rows are selected, only the top 150,000 rows are used and a message is displayed on the image.
Additionally, the input data has a limit of 250 MB.
If the input dataset of an R Visual has a column that contains a string value longer than 32766 characters,
that value is truncated.
Resolution - all R visuals are displayed at 72 DPI.
Plotting device - only plotting to the default device is supported.
Calculation time limitation – if an R visual calculation exceeds 60 seconds the script times out, resulting in
an error.
R visuals are refreshed upon data updates, filtering, and highlighting. However, the image itself is not
interactive and does not support tool tips.
R visuals respond to highlighting other visuals, but you cannot click on elements in the R visual in order
to cross filter other elements.
R visuals are currently not supported for the Time data type. Please use Date/Time instead.
R visuals do not display when using Publish to web .
R visuals do not support renaming input columns. Columns will be referred to by their original name
during script execution.
R visuals currently do not print with dashboard and reports printing.
R visuals are currently not supported in the DirectQuery mode of Analysis Services.
R visuals have the ability to convert text labels into graphical elements. Doing so in the Power BI service
requires the following additional step:
Add the following line at the beginning of the R script:
powerbi_rEnableShowText = 1

Chinese, Japanese, and Korean fonts require all of the additional following steps to work properly in the
Power BI service:
First, install the R package showtext and all of its dependencies. You can do this by running the
following script:
install.packages("showtext")

Next, add the following line at the beginning of the R script:

powerbi_rEnableShowTextForCJKLanguages = 1

Overview of R packages
R packages are collections of R functions, data, and compiled code that are combined in a well-defined format.
When R is installed, it comes with a standard set of packages, and other packages are available for download
and installation. Once installed, an R package must be loaded into the session to be used. The primary source of
free R packages is CRAN, the Comprehensive R Archive Network.
Power BI Desktop can use any type of R packages without limitation. You can install R packages for use in
Power BI Desktop on your own (using the RStudio IDE, for example).
R visuals in the Power BI ser vice are supported by the packages found in the Suppor ted Packages section
found in this article. If you don't find a package you're interested in among the supported packages list, you can
request the support of the package. See R packages in the Power BI service for information on how to request
support.
Requirements and Limitations of R packages
There are a handful of requirements and limitations for R packages:
The Power BI service, for the most part, supports R packages with free and open-source software licenses
such as GPL-2, GPL-3, MIT+, and so on.
The Power BI service supports packages published in CRAN. The service does not support private or
custom R packages. We encourage users to make their private packages available on CRAN prior to
requesting the package be available in the Power BI service.
For Power BI Desktop has two variations for R packages:
For R visuals, you can install any package, including custom R packages
For Custom R visuals, only public CRAN packages are supported for auto-installation of the packages
For security and privacy reasons, we currently don't support R packages that provide client-server
queries over the World-Wide Web (such as RgoogleMaps) in the service. Networking is blocked for such
attempts. See R packages in the Power BI service for a list of supported and unsupported R packages.
The approval process for including a new R package has a tree of dependencies; some dependencies
required to be installed in the service cannot be supported.
Supported Packages:
For a long list of supported R packages (and the short list of unsupported packages) please see the following
article:
R packages in the Power BI service
Create Power BI visuals using R
4/16/2021 • 6 minutes to read • Edit Online

With Power BI Desktop, you can use R to visualize your data. R is a language and environment for statistical
computing and graphics.

Install R
By default, Power BI Desktop doesn't include, deploy, or install the R engine. To run R scripts in Power BI Desktop,
you must separately install R on your local computer. You can download and install R for free from many
locations, including the Revolution Open download page, and the CRAN Repository. The current release of R
scripting in Power BI Desktop supports Unicode characters as well as spaces (empty characters) in the
installation path.

Enable R visuals in Power BI Desktop


After you've installed R, Power BI Desktop enables it automatically. To verify that Power BI Desktop has enabled R
in the correct location, follow these steps:
1. From the Power BI Desktop menu, select File > Options and settings > Options .
2. On the left side of the Options page, under Global , select R scripting .
3. Under R script options , verify that your local R installation is specified in Detected R home
directories and that it properly reflects the local R installation you want Power BI Desktop to use. In the
following image, the path to the local installation of R is C:\Program Files\R Open\R-3.5.3\ .
After you've verified your R installation, you’re ready to begin creating R visuals.

Create R visuals in Power BI Desktop


1. Select the R Visual icon in the Visualization pane to add an R visual.

2. In the Enable script visuals window that appears, select Enable .


When you add an R visual to a report, Power BI Desktop makes the following changes:
A placeholder R visual image appears on the report canvas.
The R script editor appears along the bottom of the center pane.

3. In the Values section of the Visualization pane, drag fields from the Fields pane that you want to
consume in your R script, just as you would with any other Power BI Desktop visual. Alternatively, you can
also select the fields directly in the Fields pane.
Only fields that you've added to the Values section are available to your R script. You can add new fields
or remove unneeded fields from the Values section while working on your R script in the R script
editor . Power BI Desktop automatically detects which fields you've added or removed.

NOTE
The default aggregation type for R visuals is do not summarize.

4. Now you can use the data you selected to create a plot:
As you select fields, the R script editor generates supporting R script binding code for those fields in
the gray section along the top of the editor pane.
If you remove a field, the R script editor automatically removes the supporting code for that field.
In the example shown in the following image, three fields are selected: Horse Power, gear, and drat. As a
result of those selections, the R script editor generates binding code, which is summarized as follows:
Create a dataframe called dataset , which is comprised of the different fields selected by the user.
The default aggregation is: do not summarize.
Similar to table visuals, fields are grouped and duplicate rows appear only once.
TIP
In certain cases, you may not want automatic grouping to occur, or you may want all rows to appear, including
duplicates. In that case, add an index field to your dataset, which causes all rows to be considered unique and
prevents grouping.

The generated dataframe is named dataset , and you access selected columns by their respective names.
For example, access the gear field by adding dataset$gear to your R script. For fields with spaces or
special characters, use single quotes.
5. With the dataframe automatically generated by the fields you selected, you’re ready to write an R script,
which Power BI Desktop plots to the R default device. After you've completed the script, select the Run
script icon on the right side of the R script editor title bar.
When you select the Run script icon, Power BI Desktop identifies the plot and presents it on the canvas.
Because the process is executed on your local R installation, make sure the required R packages are
installed.
Power BI Desktop replots the visual when any of the following events occur:
You select the Run script icon from the R script editor title bar.
A data change occurs because of data refreshing, filtering, or highlighting.
The following image shows an example of the correlation plot code, which plots the correlations
between attributes of different types of cars.
6. To get a larger view of the visualizations, deselect the R visual or minimize the R script editor . Like other
visuals in Power BI Desktop, you can cross filter the correlation plot by selecting a specific value, such as
Auto or Manual, in the donut chart visual on the right.

7. Modify the R script to customize the visual, and take advantage of the power of R by adding parameters
to the plotting command.
The original plotting command is:

corrplot(M, method = "color", tl.cex=0.6, tl.srt = 45, tl.col = "black")

Change the R script so that the plotting command is as follows:


corrplot(M, method = "circle", tl.cex=0.6, tl.srt = 45, tl.col = "black", type= "upper",
order="hclust")

As a result, the R visual now plots circles, only considers the upper half, and reorders the matrix to cluster
correlated attributes.

When you execute an R script that results in an error, an error message displays on the canvas instead of
the R visual plot. For details on the error, select See details from the R visual error.

R scripts security
R visuals are created from R scripts, which might contain code with security or privacy risks. When attempting to
view or interact with an R visual for the first time, a user is presented with a security warning message. Only
enable R visuals if you trust the author and source, or after you review and understand the R script.

Known limitations
R visuals in Power BI Desktop have the following limitations:
Data sizes: Data used by an R visual for plotting is limited to 150,000 rows. If more than 150,000 rows are
selected, only the top 150,000 rows are used and a message is displayed on the image.
Output size : R visual has an output size limit of 2MB.
Resolution: All R visuals are displayed at 72 DPI.
Plotting device: Only plotting to the default device is supported.
Calculation times: If an R visual calculation exceeds five minutes, it causes a time-out error.
Relationships: As with other Power BI Desktop visuals, if data fields from different tables with no defined
relationship between them are selected, an error occurs.
Refreshes: R visuals are refreshed upon data updates, filtering, and highlighting. However, the image itself
isn't interactive and can't be the source of cross-filtering.
Highlights: R visuals respond if you highlight other visuals, but you can't select elements in the R visual to
cross filter other elements.
Display devices: Only plots that are plotted to the R default display device are displayed correctly on the
canvas. Avoid explicitly using a different R display device.
Column renaming: R visuals do not support renaming input columns. Columns will be referred to by
their original name during script execution.
RRO installations: In this release, the 32-bit version of Power BI Desktop doesn't automatically identify
RRO installations; you must manually provide the path to the R installation directory in Options and
settings > Options > R Scripting .

Next steps
For more information about R in Power BI, see the following articles:
Running R Scripts in Power BI Desktop
Use an external R IDE with Power BI
Use R-powered Power BI visuals in Power BI
6/23/2021 • 5 minutes to read • Edit Online

In Power BI Desktop and the Power BI ser vice , you can use R-powered Power BI visuals without any
knowledge of R and without any R scripting. This enables you to harness the analytic and visual power of R
visuals, and R scripts, without learning R or doing any programming yourself.
To use R-powered Power BI visuals, you first select and download the R custom visual you're interested in using
from the AppSource gallery of Power BI visuals for Power BI.

The following sections describe how to select, load, and use R-powered visuals in Power BI Desktop .

Use R Power BI visuals


To use R-powered Power BI visuals, download each visual from the Power BI visuals library, then use the visual
like any other type of visual in Power BI Desktop . There are two ways to get Power BI visuals: you can
download them from the online AppSource site, or browse and get them from within Power BI Desktop .
Get Power BI visuals from AppSource
Following are the steps to browse and select visuals from the online AppSource site:
1. Navigate to the Power BI visuals library, found at https://appsource.microsoft.com. Select the Products
tab, select Power Platform , and then select See all Power Platform apps .
2. On the Power BI visuals library page, select Power BI visuals from the list of add-ins in the left pane.

3. Select the visual you're interested in using from the gallery, and you're taken to a page that describes the
visual. Select the Get it now button to download.
NOTE
For authoring in Power BI Desktop , you need to have R installed on your local machine. But, when users want
to view an R-powered visual in the Power BI ser vice they do not need R installed locally.

You do not need to install R to use R-powered Power BI visuals in the Power BI ser vice , however, if you
want to use R-powered Power BI visuals in Power BI Desktop you must install R on the local machine.
You can download R from the following locations:
CRAN
MRO
4. Once the visual is downloaded (which is like downloading any file from your browser), go to Power BI
Desktop , select More options (...) in the Visualizations pane, and select Impor t a visual from a file .
5. You're warned about importing a custom visual, as shown in the following image:

6. Navigate to where the visual file was saved, then select the file. Power BI Desktop custom visualizations
have the .pbiviz extension.

7. When you return to Power BI Desktop, you can see the new visual type in the Visualizations pane.
8. When you import the new visual (or open a report that contains an R-powered custom visual), Power BI
Desktop installs the required R packages.

9. From there, you can add data to the visual just as you would any other Power BI Desktop visual. When
complete, you can see your finished visual on the canvas. In the following visual, the Forecasting R-
powered visual on the right was used with United Nations (UN) birth rate projections.
Like any other Power BI Desktop visual, you can publish this report with its R-powered visuals to the
Power BI ser vice and share it with others.
Check the library often, since new visuals are being added all the time.
Get Power BI visuals from within Power BI Desktop
1. You can also get Power BI visuals from within Power BI Desktop . In Power BI Desktop click the ellipsis
(the ...) in the Visualizations pane, and select Get more visuals .
2. When you do so, the Power BI Visuals dialog appears, where you can scroll through the available Power
BI visuals and select what you would like. You can search by name, select a category, or just scroll through
the available visuals. When you're ready, just select Add to add the custom visual to Power BI Desktop.

Contribute R-powered Power BI visuals


If you create your own R visuals for use in your reports, you can share those visuals with the world by
contributing your custom visual to the Power BI visuals galler y . Contributions are made through GitHub, and
the process is outlined in the following location:
Contributing to the R-powered Power BI visuals gallery

Troubleshoot R-powered Power BI visuals


R-powered Power BI visuals have certain dependencies that must be met for the visuals to work properly. When
R-powered Power BI visuals don't run or load properly, the problem is usually one of the following:
The R engine is missing
Errors in the R script on which the visual is based
R packages are missing or out of date
The following section describes troubleshooting steps you can take to help address trouble you might run into.
Missing or outdated R packages
When attempting to install an R-powered custom visual, you can run into errors when there are missing or
outdated R packages; this is due to one of the following reasons:
The R installation is incompatible with the R package
The firewall, anti-virus software, or proxy settings are preventing R from connecting to the Internet
The Internet connection is slow or there's an Internet connection problem
The Power BI team is actively working on mitigating these issues before they reach you and the next Power BI
Desktop will incorporate updates to address these problems. Until then, you can take one or more of the
following steps to mitigate the issues:
1. Remove the custom visual, then install it again. This initiates a reinstallation of the R packages.
2. If your installation of R is not current, upgrade your R installation, then remove and reinstall the custom
visual as described in the previous step.
Supported R versions are listed in the description of each R-powered custom visual, as shown in the
following image.

NOTE
You can keep the original R installation and only associate Power BI Desktop with the current version you install.
Go to File > Options and settings > Options > R scripting .

3. Install R packages manually, using any R console. The steps for this approach follow:
a. Download the R-powered visual installation script and save that file to a local drive.
b. From the R console, run the following:
source("C:/Users/david/Downloads/ScriptInstallPackagesForForecastWithWorkarounds.R")

Typical default installation locations are the following:

c:\Program Files\R\R-3.3.x\bin\x64\Rterm.exe (for CRAN-R)


c:\Program Files\R\R-3.3.x\bin\x64\Rgui.exe (for CRAN-R)
c:\Program Files\R\R-3.3.x\bin\R.exe (for CRAN-R)
c:\Program Files\Microsoft\MRO-3.3.x\bin\R.exe (for MRO)
c:\Program Files\Microsoft\MRO-3.3.x\bin\x64\Rgui.exe (for MRO)
c:\Program Files\RStudio\bin\rstudio.exe (for RStudio)

4. If the previous steps don't work, try the following:


a. Use R Studio and follow the step outlined in 3.b. above (run the script line from the R console).
b. If the previous step doesn't work, change Tools > Global Options > Packages in R Studio , and
enable the checkbox for Use Internet Explorer librar y/proxy for HTTP , then repeat step 3.b. from the
above steps.

Next steps
Take a look at the following additional information about R in Power BI.
Power BI visuals gallery
Running R Scripts in Power BI Desktop
Create R visuals in Power BI Desktop
Use an external R IDE with Power BI
Radial gauge charts in Power BI
9/22/2021 • 3 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Desktop ✔
️ Power BI service
A radial gauge chart has a circular arc and shows a single value that measures progress toward a goal or a Key
Performance Indicator (KPI). The line (or needle) represents the goal or target value. The shading represents the
progress toward that goal. The value inside the arc represents the progress value. Power BI spreads all possible
values evenly along the arc, from the minimum (left-most value) to the maximum (right-most value).

In this example, you're a car retailer tracking the sales team's average sales per month. The needle represents a
140 cars sales goal. The minimum possible average sales is 0 and the maximum is 200. The blue shading shows
that the team is averaging approximately 120 sales this month. Luckily, there's still another week to reach the
goal.

NOTE
Sharing your report with a Power BI colleague requires that you both have individual Power BI Pro licenses or that the
report is saved in Premium capacity.

When to use a radial gauge


Radial gauges are a great choice to:
Show progress toward a goal.
Represent a percentile measure, like a KPI.
Show the health of a single measure.
Display information you can quickly scan and understand.

Prerequisites
This tutorial uses the Financial sample Excel file.
1. From the upper left section of the menubar, select Get Data > Excel workbook
2. Find your copy of the Financial sample Excel file

3. Open the Financial sample Excel file in report view .


4. Select financials and Sheet1
5. Click Load

6. Select to add a new page.

Create a basic radial gauge


Step 1: Create a gauge to track Gross Sales
1. Start on a blank report page
2. From the Fields pane, select Gross Sales .

3. Change the aggregation to Average .

4. Select the gauge icon to convert the column chart to a gauge chart.
Depending on when you download the Financial Sample file, you may see numbers that don't match
these numbers.

TIP
By default, Power BI creates a gauge chart where it assumes the current value (in this case, Average of Gross
Sales ) is at the halfway point on the gauge. Since the Average of Gross Sales value is $182.76K, the start
value (Minimum) is set to 0 and the end value (Maximum) is set to double the current value.

Step 3: Set a target value


1. Drag COGS from the Fields pane to the Target value well.
2. Change the aggregation to Average .
Power BI adds a needle to represent our target value of $145.48K .

Notice that we've exceeded our target.

NOTE
You can also manually enter a target value. See the Use manual format options to set Minimum, Maximum, and
Target values section.

Step 4: Set a maximum value


In Step 2, Power BI used the Value field to automatically set minimum and maximum values. What if you want
to set your own maximum value? Let's say that, instead of using double the current value as the maximum
possible value, you want to set it to the highest Gross Sales number in your dataset.
1. Drag Gross Sales from the Fields pane to the Maximum value well.
2. Change the aggregation to Maximum .

The gauge is redrawn with a new end value, 1.21 million in gross sales.

3. Save the report.

Use manual format options to set Minimum, Maximum, and Target


values
1. Remove Max of Gross Sales from the Maximum value well.
2. Select the paint roller icon to open the Format pane.
3. Expand Gauge axis and enter values for Min and Max .

4. Clear the COGS option in the Fields pane to remove the target value.

5. When the Target field appears under Gauge axis , enter a value.

6. Optionally, continue formatting your gauge chart.


Once you're done with these steps, you'll have a gauge chart that looks something like this:
Next step
Key Performance Indicator (KPI) visuals
Visualization types in Power BI
More questions? Try the Power BI Community
Create ribbon charts in Power BI
8/9/2021 • 2 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Desktop ✔
️ Power BI service
You can create ribbon charts to visualize data, and quickly discover which data category has the highest rank
(largest value). Ribbon charts are effective at showing rank change, with the highest range (value) always
displayed on top for each time period.

NOTE
Sharing your report with a Power BI colleague requires that you both have individual Power BI Pro licenses or that the
report is saved in Premium capacity. See sharing reports.

Prerequisites
This tutorial uses the Retail Analysis sample PBIX file.
1. From the upper left section of the menubar, select File > Open
2. Find your copy of the Retail Analysis sample PBIX file

3. Open the Retail Analysis sample PBIX file in report view .

4. Select to add a new page.

Create a ribbon chart


1. To create a ribbon chart, select Ribbon char t from the Visualizations panel.

Ribbon charts connect a category of data over the visualized time continuum using ribbons, enabling you
to see how a given category ranks throughout the span of the chart's x-axis (usually the timeline).
2. Select fields for Axis , Legend , and Value . In this example, we've selected: Store > OpenDate , Item >
Categor y , and Sales > This year sales > Value .

Since the dataset contains data for only one year, we removed the Year and Quar ter field from the Axis
well.
3. The ribbon chart shows rank for every month. Notice how rank changes across time. For example, the
Home category moves from second to fifth from February to March.
Format a ribbon chart
When you create a ribbon chart, you have formatting options available in the Format section of the
Visualizations pane. The formatting options for ribbon charts are similar to those for a stacked column chart,
with additional formatting options that are specific to the ribbons.

These formatting options for ribbon charts let you make adjustments.
Spacing lets you adjust how much space appears between ribbons. The number is the percentage of the
column's maximum height.
Match series color allows you to match the color of the ribbons with the series color. When set to off ,
ribbons are gray.
Transparency specifies how transparent the ribbons are, with the default set to 30.
Border lets you place a dark border on the top and bottom of the ribbons. By default, borders are off.
Since the ribbon chart does not have y-axis labels, you may want to add data labels. From the Formatting pane,
select Data labels .

Set formatting options for your data labels. In this example, we've set the text color to white and display units to
thousands.
Next steps
Scatter charts and bubble charts in Power BI
Visualization types in Power BI
Scatter charts, bubble charts, and dot plot charts in
Power BI
9/22/2021 • 5 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Desktop ✔
️ Power BI service
A scatter chart always has two value axes to show: one set of numerical data along a horizontal axis and another
set of numerical values along a vertical axis. The chart displays points at the intersection of an x and y numerical
value, combining these values into single data points. Power BI may distribute these data points evenly or
unevenly across the horizontal axis. It depends on the data the chart represents.
You can set the number of data points, up to a maximum of 10,000.

When to use a scatter chart, bubble chart, or a dot plot chart


Scatter and bubble charts
A scatter chart shows the relationship between two numerical values. A bubble chart replaces data points with
bubbles, with the bubble size representing an additional third data dimension.

Scatter charts are a great choice:


To show relationships between two numerical values.
To plot two groups of numbers as one series of x and y coordinates.
To use instead of a line chart when you want to change the scale of the horizontal axis.
To turn the horizontal axis into a logarithmic scale.
To display worksheet data that includes pairs or grouped sets of values.

TIP
In a scatter chart, you can adjust the independent scales of the axes to reveal more information about the
grouped values.

To show patterns in large sets of data, for example by showing linear or non-linear trends, clusters, and
outliers.
To compare large numbers of data points without regard to time. The more data that you include in a
sScatter chart, the better the comparisons that you can make.
In addition to what Scatter charts can do for you, bubble charts are a great choice:
If your data has three data series that each contains a set of values.
To present financial data. Different bubble sizes are useful to visually emphasize specific values.
To use with quadrants.
Dot plot charts
A dot plot chart is similar to a bubble chart and scatter chart, but is instead used to plot categorical data along
the X-Axis.

They're a great choice if you want to include categorical data along the X-Axis.

Prerequisites
This tutorial uses the Retail Analysis sample PBIX file.
1. From the upper left section of the menubar, select File > Open repor t .
2. Find your copy of the Retail Analysis sample PBIX file.

3. Open the Retail Analysis sample PBIX file in report view .

4. Select to add a new page.

NOTE
Sharing your report with a Power BI colleague requires that you both have individual Power BI Pro licenses or that the
report is saved in Premium capacity.

Create a scatter chart


1. Start on a blank report page and from the Fields pane, select these fields:
Sales > Sales Per Sq Ft
Sales > Total Sales Variance %
District > District

2. In the Visualization pane, select to convert the cluster column chart to a scatter chart.

3. Drag District from Details to Legend .


Power BI displays a scatter chart that plots Total Sales Variance % along the Y-Axis, and plots Sales
Per Square Feet along the X-Axis. The data point colors represent districts:
Now let's add a third dimension.

Create a bubble chart


1. From the Fields pane, drag Sales > This Year Sales > Value to the Size well. The data points expand
to volumes proportionate with the sales value.

2. Hover over a bubble. The size of the bubble reflects the value of This Year Sales .
3. To set the number of data points to show in your bubble chart, in the Format section of the
Visualizations pane, expand General , and adjust the Data Volume .

You can set the max data volume to any number up to 10,000. As you get into the higher numbers, we
suggest testing first to ensure good performance.

NOTE
More data points can mean a longer loading time. If you do choose to publish reports with limits at the higher
end of the scale, make sure to test out your reports across the web and mobile as well. You want to confirm that
the performance of the chart matches your users' expectations.

4. Continue formatting the visualization colors, labels, titles, background, and more. To improve accessibility,
consider adding marker shapes to each line. To select the marker shape, expand Shapes , select Marker
shape , and select a shape.
Change the marker shape to a diamond, triangle, or square. Using a different marker shape for each line
makes it easier for report consumers to differentiate lines (or areas) from each other.

5. Open the Analytics pane to add additional information to your visualization.


Add a Median line. Select Median line > Add . By default, Power BI adds a median line for Sales
per sq ft. This isn't very helpful since we can see that there are 10 data points and know that the
median will be created with five data points on each side. Instead, switch the Measure to Total
sales variance %.

Add symmetry shading to show which points have a higher value of the x-axis measure compared
to the y-axis measure, and vice-versa. When you turn symmetry shading on in the Analytics pane,
Power BI shows you the background of your scatter chart symmetrically based on your current
axis upper and lower boundaries. This is a very quick way to identify which axis measure a data
point favors, especially when you have a different axis range for your x- and y-axis.
a. Change the Y Axis field to Gross Margin Last Year %
b. From the Analytics pane, add Symmetr y shading . We can see from the shading that Hosiery
(the green bubble in the pink shaded area) is the only category that favors gross margin rather
than its sales per store square footage.

Continue exploring the Analytics pane to discover interesting insights in your data.

Create a dot plot chart


To create a dot plot chart, replace the numerical X-Axis field with a categorical field.
From the X-Axis pane, remove Sales per sq ft and replace it with District > District Manager .

Considerations and troubleshooting


Your scatter chart has only one data point
Does your scatter chart have only one data point that aggregates all the values on the X- and Y-axes? Or maybe
it aggregates all the values along a single horizontal or vertical line?

Add a field to the Details well to tell Power BI how to group the values. The field must be unique for each point
you want to plot. A simple row number or ID field will do.
If you don't have that in your data, create a field that concatenates your X and Y values together into something
unique per point:

To create a new field, use the Power BI Desktop Query Editor to add an Index Column to your dataset. Then add
this column to your visualization's Details well.

Next steps
You might also be interested in the following articles:
High-density sampling in Power BI scatter charts
Visualization types in Power BI
Tips to sort and distribute data plots in Power BI reports
More questions? Try the Power BI Community
High-density line sampling in Power BI
5/10/2021 • 8 minutes to read • Edit Online

The sampling algorithm in Power BI improves visuals that sample high-density data. For example, you might
create a line chart from your retail stores' sales results, each store having more than ten thousand sales receipts
each year. A line chart of such sales information would sample data (select a meaningful representation of that
data, to illustrate how sales vary over time) from the data for each store, and create a multi-series line chart that
thereby represents the underlying data. This is common practice in visualizing high-density data. The details of
high-density data sampling are described in this article.

NOTE
The High Density Sampling algorithm described in this article is available in both Power BI Desktop and the Power
BI ser vice .

How high-density line sampling works


Previously, Power BI selected a collection of sample data points in the full range of underlying data in a
deterministic fashion. For example, for high-density data on a visual spanning one calendar year, there might be
350 sample data points displayed in the visual, each of which was selected to ensure the full range of data (the
overall series of underlying data) was represented in the visual. To help understand how this happens, imagine
plotting a stock price over a one-year period, and selecting 365 data points to create a line chart visual (that's
one data point for each day).
In that situation, there are many values for a stock price within each day. Of course, there is a daily high and low,
but those could occur at any time during the day when the stock market is open. For high-density line sampling,
if the underlying data sample was taken at 10:30 AM and 12:00 PM each day, you would get a representative
snapshot of the underlying data (the price at 10:30 AM and 12:00 PM), but it might not capture the actual high
and low of the stock price for that representative data point (that day). In that situation – and others – the
sampling is representative of the underlying data, but it doesn't always capture important points, which in this
case, would be daily stock price highs and lows.
By definition, high-density data is sampled to create visualizations reasonably quickly that are responsive to
interactivity. Too many data points on a visual can bog it down, and can detract from the visibility of trends. So,
how the data is sampled is what drives the creation of the sampling algorithm to provide the best visualization
experience. In Power BI Desktop, the algorithm is now improved to provide the best combination of
responsiveness, representation, and clear preservation of important points in each time slice.

How the new line sampling algorithm works


The new algorithm for high-density line sampling is available for line chart and area chart visuals with a
continuous x-axis.
For a high-density visual, Power BI intelligently slices your data into high-resolution chunks, and then picks
important points to represent each chunk. That process of slicing high-resolution data is specifically tuned to
ensure that the resulting chart is visually indistinguishable from rendering all of the underlying data points, but
much faster and more interactive.
Minimum and maximum values for high-density line visuals
For any given visualization, the following visual limitations apply:
3,500 is the maximum number of data points displayed on most visuals, regardless of the number of
underlying data points or series (see the exceptions in the following bullet list). As such, if you have 10
series with 350 data points each, the visual has reached its maximum overall data points limit. If you have
one series, it may have up to 3,500 data points if the new algorithm deems that the best sampling for the
underlying data.
There is a maximum of 60 series for any visual. If you have more than 60 series, break up the data and
create multiple visuals with 60 or fewer series each. It's good practice to use a slicer to show only
segments of the data (only certain series). For example, if you're displaying all subcategories in the
legend, you could use a slicer to filter by the overall category on the same report page.
The maximum number of data limits is higher for the following visual types, which are exceptions to the 3,500
data point limit:
150,000 data points maximum for R visuals.
30,000 data points for Power BI visuals.
10,000 data points for scatter charts (scatter charts default to 3,500)
3,500 for all other visuals
These parameters ensure that visuals in Power BI Desktop render very quickly, are responsive to interaction with
users, and do not result in undue computational overhead on the computer rendering the visual.
Evaluating representative data points for high-density line visuals
When the number of underlying data points exceeds the maximum data points that can be represented in the
visual, a process called binning begins, which chunks the underlying data into groups called bins, and then
iteratively refines those bins.
The algorithm creates as many bins as possible to create the greatest granularity for the visual. Within each bin,
the algorithm finds the minimum and maximum data value, to ensure that important and significant values (for
example, outliers) are captured and displayed in the visual. Based on the results of the binning and subsequent
evaluation of the data by Power BI, the minimum resolution for the x-axis for the visual is determined – to
ensure maximum granularity for the visual.
As mentioned previously, the minimum granularity for each series is 350 points, the maximum is 3,500 for most
visuals, with the exceptions listed in the previous paragraphs.
Each bin is represented by two data points, which become the bin's representative data points in the visual. The
data points are simply the high and low value for that bin, and by selecting the high and low, the binning
process ensures any important high value, or significant low value, is captured and rendered in the visual.
If that sounds like a lot of analysis to ensure the occasional outlier is captured and properly displayed in the
visual, you are correct, but that's the exact reason for the new algorithm and binning process.
Tooltips and high-density line sampling
It's important to note that this binning process, which results in the minimum and maximum value in a given bin
being captured and displayed, may affect how tooltips display data when you hover over the data points. To
explain how and why this occurs, let's revisit our example about stock prices.
Let's say you're creating a visual based on stock price and you're comparing two different stocks, both of which
are using High-Density Sampling . The underlying data for each series has lots of data points (maybe you
capture the stock price each second of the day). The high-density line sampling algorithm performs binning for
each series independently of the other.
Now let's say that the first stock jumps up in price at 12:02, then quickly comes back down ten seconds later.
That's an important data point. When binning occurs for that stock, the high at 12:02 will be a representative
data point for that bin.
But, for the second stock, 12:02 was neither a high nor a low in the bin that included that time. Maybe the high
and low for the bin that includes 12:02 occurred three minutes later. In that situation, when the line chart is
created and you hover over 12:02, you will see a value in the tooltip for the first stock (because it jumped at
12:02 and that value was selected as that bin's high data point), but you will not see any value in the tooltip at
12:02 for the second stock. That's because the second stock had neither a high, nor a low, for the bin that
included 12:02. So, there's no data to show for the second stock at 12:02, and thus, no tooltip data is displayed.
This situation will happen frequently with tooltips. The high and low values for a given bin might not match
perfectly with the evenly scaled x-axis value points, and as such the tooltip will not display the value.

How to turn on high-density line sampling


By default, the new algorithm is turned on . To change this setting, go to the Formatting pane, in the General
card, and along the bottom, you see a toggle slider called High-Density Sampling . To turn it off, slide it to Off .
Considerations and limitations
The new algorithm for high-density line sampling is an important improvement to Power BI, but there are a few
considerations you need to know when working with high-density values and data.
Because of increased granularity and the binning process, Tooltips may only show a value if the
representative data is aligned with your cursor. See the Tooltips and high-density line sampling section in
this article for more information.
When the size of an overall data source is too big, the new algorithm eliminates series (legend elements)
to accommodate the data import maximum constraint.
In this situation, the new algorithm orders legend series alphabetically, starts down the list of legend
elements in alphabetical order until the data import maximum is reached, and does not import
additional series.
When an underlying data set has more than 60 series (the maximum number of series, as described
earlier), the new algorithm orders the series alphabetically, and eliminates series beyond the 60th
alphabetically-ordered series.
If the values in the data are not of type numeric or date/time, Power BI will not use the new algorithm,
and will revert to the previous (non-high-density sampling) algorithm.
The Show items with no data setting is not supported with the new algorithm.
The new algorithm is not supported when using a live connection to a model hosted in SQL Server
Analysis Services (version 2016 or earlier). It is supported in models hosted in Power BI or Azure
Analysis Services.

Next steps
For information about high-density sampling in scatter charts, see the following article.
High Density Sampling in Power BI scatter charts
High-density sampling in Power BI scatter charts
5/19/2021 • 5 minutes to read • Edit Online

The Power BI sampling algorithm improves how scatter charts represent high-density data.
For example, you might create a scatter chart from your organization's sales activity, each store having tens of
thousands of data points each year. A scatter chart of such information would sample data (select a meaningful
representation of that data to illustrate how sales occurred over time) from the available data, and create a
scatter chart that represents the underlying data. This is common practice in high-density scatter charts. The
details of high-density data sampling are described in this article.

NOTE
The High Density Sampling algorithm described in this article is available in the scatter charts for both Power BI
Desktop and the Power BI ser vice .

How high-density scatter charts work


Previously, Power BI selected a collection of sample data points in the full range of underlying data in a
deterministic fashion to create a scatter chart. Specifically, Power BI would select the first and last rows of data in
the scatter chart series, then would divide the remaining rows evenly so that 3,500 data points total would be
plotted on the scatter chart. For example, if the sample had 35,000 rows, the first and last rows would be
selected for plotting, then every tenth row would also be plotted (35,000 / 10 = every tenth row = 3,500 data
points). Also previously, null values or points that could not be plotted (such as text values) in data series weren't
shown, and thus, were not considered when generating the visual. With such sampling, the perceived density of
the scatter chart was also based on the representative data points, so the implied visual density was a
circumstance of the sampled points, not the full collection of the underlying data.
When you enable High Density Sampling , Power BI implements an algorithm that eliminates overlapping
points, and ensures that the points on the visual can be reached when interacting with the visual. The algorithm
also ensures that all points in the data set are represented in the visual, providing context to the meaning of
selected points, rather than just plotting a representative sample.
By definition, high-density data is sampled to create visualizations reasonably quickly that are responsive to
interactivity. Too many data points on a visual can bog it down, and can detract from the visibility of trends. So,
how the data is sampled is what drives the creation of the sampling algorithm to provide the best visualization
experience and ensure that all data is represented. In Power BI, the algorithm is now improved to provide the
best combination of responsiveness, representation, and clear preservation of important points in the overall
data set.

NOTE
Scatter charts using the High Density Sampling algorithm are best plotted on square visuals, as with all scatter charts.

How the new scatter chart sampling algorithm works


The new algorithm for High Density Sampling for scatter charts employs methods that capture and represent
the underlying data more effectively and eliminates overlapping points. It does this by starting with a small
radius for each data point (the visual circle size for a given point on the visualization). It then increases the radius
of all data points; when two (or more) data points overlap, a single circle (of the increased radius size) represents
those overlapped data points. The algorithm continues to increase the radius of data points, until that radius
value results in a reasonable number of data points - 3,500 - being displayed in the scatter chart.
The methods in this algorithm ensure that outliers are represented in the resulting visual. The algorithm
respects scale when determining overlap, too, such that exponential scales are visualized with fidelity to the
underlying visualized points.
The algorithm also preserves the overall shape of the scatter chart.

NOTE
When using the High Density Sampling algorithm for scatter charts, accurate distribution of the data is the goal, and
implied visual density is not the goal. For example, you might see a scatter chart with lots of circles that overlap (density)
in a certain area, and imagine many data points must be clustered there; since the High Density Sampling algorithm
can use one circle to represent many data points, such implied visual density (or "clustering") will not show up. To get
more detail in a given area, you can use slicers to zoom in.

In addition, data points that cannot be plotted (such as nulls or text values) are ignored, so another value that
can be plotted is selected, further ensuring the true shape of the scatter chart is maintained.
When the standard algorithm for scatter charts is used
There are circumstances under which High Density Sampling cannot be applied to a scatter chart and the
original algorithm is used. Those circumstances are the following:
If you right-click a value under Details and set it to Show items with no data from the menu, the
scatter chart will revert to the original algorithm.
Any values in the Play axis will result in the scatter chart reverting to the original algorithm.
If both X and Y axes are missing on a scatter chart, the chart reverts to the original algorithm.
Using a Ratio line in the Analytics pane results in the chart reverting to the original algorithm.
How to turn on high-density sampling for a scatter chart
To turn on High Density Sampling , select a scatter chart, go to the Formatting pane, expand the General
card, and near the bottom of that card, slide the High Density Sampling toggle slider to On .
NOTE
Once the slider is turned on, Power BI will attempt to use the High Density Sampling algorithm whenever possible.
When the algorithm cannot be used (for example, you place a value in the Play axis), the slider stays in the On position
even though the chart has reverted to the standard algorithm. If you then remove a value from the Play axis (or
conditions change to enable use of the high-density sampling algorithm), the chart will automatically use high-density
sampling for that chart because the feature is active.

NOTE
Data points are grouped or selected by the index. Having a legend does not affect sampling for the algorithm, it only
affects the ordering of the visual.
Considerations and limitations
The high-density sampling algorithm is an important improvement to Power BI, but there are a few
considerations to know when working with high-density values and scatter charts.
The High Density Sampling algorithm only works with live connections to Power BI service-based models,
imported models, or DirectQuery.

Next steps
For more information about high-density sampling, see the following articles:
High density line sampling in Power BI
Tips to sort and distribute data plots in Power BI reports
Create small multiples in Power BI
8/9/2021 • 2 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Desktop ✔
️ Power BI service
Small multiples, or trellising, splits a visual into multiple versions of itself. The versions are presented side by
side, with data divided across these versions by a chosen dimension. For example, a small multiple could split a
“sales by category” column chart across product lines or regions.

Create small multiples


For live connected data models, this feature requires a version of AS which supports the second generation of
DAX queries, aka SuperDAX: for tabular models, AS 2016 or newer; and for multidimensional models, AS 2019
or newer.
Currently, you can create small multiples on bar, column, line, and area charts.
To get started, create one of the above visuals and choose a field along which you'd like to partition its data.
Drag that field into the Small multiples well in the Fields section of the Visualizations pane. Your chart splits
into a 2×2 grid, with the data divided along your chosen dimension. The grid fills with the small multiples
charts. They're sorted by your chosen sort order, from left to right, then top to bottom.
You see that the axes are synchronized. There's one Y axis at the left of each row, and one X axis at the bottom of
each column.
Now that you've created small multiples, see how you Interact with small multiples in Power BI.

Format a small multiples visual


Some options in the formatting pane let you control the look and feel of the grid.
Change the grid dimensions
You can change the dimensions of the grid in the Grid layout card:

The default is a 2×2 grid of small multiples, but you can adjust the number of rows and columns to up to 6×6.
Any multiples that don't fit in that grid load as you scroll down.
Adjust the small multiples titles
As with other visual titles, you can adjust the style and position of the small multiple titles in the Small
multiple title card.

Limitations and considerations


Here are some current limitations.
Fields pane
Show items with no data: The option still exists, but the behavior may not align with your expectations.
Visual interactions
Scroll to load more on the Categorical axis: In standard visuals with many categories in the axis, when you
scroll to the end of the axis, the visual loads more categories. Currently, a small multiples visual doesn't load
more categories.
Right click/context menu -> Analyze: disabled for now.
Right click/context menu -> Summarize: disabled for now.
Selecting multiple data points with rectangular select: disabled for now.
Axis zoom: disabled for now.
Formatting options
General
High-density sampling: for line charts, the high-density sampling toggle still exists, but it isn't currently
supported by small multiples.
Axis
Concatenate labels: disabled for now.
Total labels
Total labels for stacked charts: disabled for now.
Zoom slider
Zoom sliders: disabled for now.
Analytics pane
Trend lines: disabled for now.
Forecasting: disabled for now.

Share your feedback


Let us know your thoughts about the small multiples visual:
Power BI Community
Power BI Ideas page

Next steps
Interact with small multiples in Power BI
Interact with small multiples in Power BI
8/9/2021 • 2 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Desktop ✔
️ Power BI service
Small multiples, or trellising, split a visual into multiple versions of itself. This article explains how to get the
most out of interacting with them.

Want to create small multiples? See Create small multiples in Power BI.

Scroll in a small multiple


Small multiples may contain more individual charts that can fit in the grid. If so, you can scroll down to see the
rest of your categories.
For a categorical X axis with many categories, you also see a scroll bar for each copy of that axis. Scrolling on
that axis moves them all together. If you're using a scroll wheel, hold Shift to scroll the categorical axes.

Select data to cross-highlight


You can select different subsets of data by selecting different parts of the visual.
Select data points
Hover over the data point on one multiple to show the tooltip in that multiple. You also see a guide line on the X
axis for line charts. Select that data point to cross-highlight other visuals by both the axis value and the small-
multiple category, and dim the other multiples.
Select a categorical axis value
Select a category label to cross-highlight other visuals by that axis value.

Select a title
Select the title of a multiple to cross-highlight other visuals by the category in that subheader.
Legend
Select a legend category to cross-highlight other visuals and cross-highlight other multiples.

Sort
With the sort functionality, you can sort multiple aspects of a visual at once. Sort by the category, and also by
the axis in each multiple.
Next steps
Create small multiples in Power BI
Tables in Power BI reports and dashboards
9/29/2021 • 5 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Desktop ✔
️ Power BI service
A table is a grid that contains related data in a logical series of rows and columns. It may also contain headers
and a row for totals. Tables work well with quantitative comparisons where you're looking at many values for a
single category. For example, this table displays five different measures for Categor y .

Create tables in reports and cross-highlight elements within the table with other visuals on the same report
page. You can select rows, columns, and even individual cells and cross-highlight. You can also copy and paste
individual cells and multiple cell selections into other applications.

When to use a table


Tables are a great choice:
To see and compare detailed data and exact values (instead of visual representations).
To display data in a tabular format.
To display numerical data by categories.

Prerequisite
This tutorial uses the Retail Analysis sample PBIX file.
1. From the upper left section of the menubar, select File > Open repor t
2. Find your copy of the Retail Analysis sample PBIX file

3. Open the Retail Analysis sample PBIX file in report view .

4. Select to add a new page.


NOTE
Sharing your report with a Power BI colleague requires that you both have individual Power BI Pro licenses or that the
report is saved in Premium capacity.

Create a table
You'll create the table pictured at the beginning of the article to display sales values by item category.
1. From the Fields pane, select Item > Categor y .
Power BI automatically creates a table that lists all the categories.

2. Select Sales > Average Unit Price and Sales > Last Year Sales
3. Then select Sales > This Year Sales and select all three options: Value , Goal , and Status .
4. In the Visualizations pane, locate the Values well and select the values until the order of your chart
columns matches the first image on this page. Drag the values in the well if needed. Your Values well will
look like this:

Format the table


There are many ways to format a table. Only a few are covered here. A great way to learn about the other

formatting options is to open the Format pane (paint roller icon ) and explore.
Try formatting the table grid. Here you'll add a blue vertical grid, add space to the rows, and increase the
outline and text size.

For the column headers, change the background color, add an outline, increase the font size, change the
alignment, and turn word wrap on.
You can even apply formatting to individual columns and column headers. Start by expanding Field
formatting and selecting the column to format from the drop-down. Depending on the column values,
Field formatting lets you set things like: display units, font color, number of decimal places, background,
alignment, and more. Once you've adjusted the settings, decide whether to apply those settings to the
header and totals row as well.
After some additional formatting, here is our final table.

Conditional formatting
Conditional formatting is one type of formatting. Power BI can apply conditional formatting to any of the fields
that you added to the Values well of the Visualizations pane.
With conditional formatting for tables, you can specify icons, URLs, cell background colors, and font colors
based on cell values, including using gradient colors.
1. In the Format pane, open the Conditional formatting card.

2. Select a field to format, and turn the slider for Background color to On. Power BI applies a gradient
based on the values in the column. To change the default colors, select Advanced controls .
If you select the Diverging option, you can configure an optional Center value as well.
Let's apply some custom formatting to our Average Unit Price values. Select Diverging , add some colors,
and select OK .

3. Add a new field to the table that has both positive and negative values. Select Sales > Total Sales
Variance .

4. Add data bar conditional formatting by turning the Data bars slider to On.
5. To customize the data bars, select Advanced controls . In the dialog that appears, set colors for Positive
bar and Negative bar , select the Show bar only option, and make any other changes you'd like.

6. Select OK .
Data bars replace the numerical values in the table, making it easier to scan.
7. Add visual cues to your table with conditional icons. In the Conditional formatting card, select This
year sales from the dropdown. Turn the Icons slider to On . To customize the icons, select Advanced
controls .

Copy values from Power BI tables for use in other applications


Your table or matrix may have content that you'd like to use in other applications, like Dynamics CRM, Excel, and
even other Power BI reports. In Power BI, when you right-click inside a cell, you can copy the data in a single cell
or a selection of cells onto your clipboard, and paste it into the other applications.
To copy the value of a single cell:
1. Select the cell you want to copy.
2. Right-click inside the cell.
3. Select Copy > Copy value .
With the unformatted cell value on your clipboard, you can paste it into another application.
To copy more than a single cell:
1. Select a range of cells or use Ctrl to select one or more cells.
2. Right-click inside one of the cells you selected.
3. Select Copy > Copy selection .

Adjust the column width of a table


Sometimes Power BI will truncate a column heading in a report and on a dashboard. To show the entire column
name, hover over the space to the right of the heading to reveal the double arrows, select, and drag.

Considerations and troubleshooting


When applying column formatting, you can only choose one alignment option per column: Auto , Left ,
Center , Right . Usually, a column contains all text or all numbers, and not a mix. In cases where a column
contains both numbers and text, Auto will align left for text and right for numbers. This behavior
supports languages where you read left-to-right.
If the text data in your table's cells or headers contain new line characters, those characters will be
ignored unless you toggle on the 'Word Wrap' option in the element's associated formatting pane card.
Power BI calculates maximum cell size based on the first twenty columns and the first fifty rows. Cells
beyond those points may not be appropriately sized.

Next steps
Tree maps in Power BI
Visualization types in Power BI
Treemaps in Power BI
9/29/2021 • 3 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Desktop ✔
️ Power BI service
Treemaps display hierarchical data as a set of nested rectangles. Each level of the hierarchy is represented by a
colored rectangle (branch) containing smaller rectangles (leaves). Power BI bases the size of the space inside
each rectangle on the measured value. The rectangles are arranged in size from top left (largest) to bottom right
(smallest).

For example, if you're analyzing your sales, you might have top-level branches for the clothing categories:
Urban , Rural , Youth , and Mix . Power BI would split your category rectangles into leaves, for the clothing
manufacturers within that category. These leaves would be sized and shaded based on the number sold.
In the Urban branch above, lots of VanArsdel clothing was sold. Less Natura and Fama was sold. Only a few
Leo were sold. So, the Urban branch of your Treemap has:
The largest rectangle for VanArsdel in the top-left corner.
Slightly smaller rectangles for Natura and Fama .
Lots of other rectangles for all the other clothing sold.
A tiny rectangle for Leo .
You could compare the number of items sold across the other clothing categories by comparing the size and
shading of each leaf node; larger and darker rectangles mean higher value.

When to use a treemap


Treemaps are a great choice:
To display large amounts of hierarchical data.
When a bar chart can't effectively handle the large number of values.
To show the proportions between each part and the whole.
To show the pattern of the distribution of the measure across each level of categories in the hierarchy.
To show attributes using size and color coding.
To spot patterns, outliers, most-important contributors, and exceptions.

Prerequisite
This tutorial uses the Retail Analysis sample PBIX file.
1. From the upper left section of the menubar, select File > Open repor t
2. Find your copy of the Retail Analysis sample PBIX file

3. Open the Retail Analysis sample PBIX file in report view .

4. Select to add a new page.

NOTE
Sharing your report with a Power BI colleague requires that you both have individual Power BI Pro licenses or that the
report is saved in Premium capacity.

After you get the Retail Analysis Sample dataset, you can get started.

Create a basic treemap


You'll create a report and add a basic treemap.
1. From the Fields pane, select the Sales > Last Year Sales measure.

2. Select the treemap icon to convert the chart to a treemap.


3. Select Item > Categor y which will add Categor y to the Group well.
Power BI creates a treemap where the size of the rectangles is based on total sales and the color
represents the category. In essence you've created a hierarchy that visually describes the relative size of
total sales by category. The Men's category has the highest sales and the Hosier y category has the
lowest.

4. Select Store > Chain which will add Chain to the Details well to complete your treemap. You can now
compare last year's sales by category and chain.
NOTE
Color Saturation and Details cannot be used at the same time.

5. Hover over a Chain area to reveal the tooltip for that portion of the Categor y .
For example, hovering over Fashions Direct in the 090-Home rectangle reveals the tooltip for Fashion
Direct's portion of the Home category.
Highlighting and cross-filtering
Highlighting a Categor y or Detail in a treemap cross-highlights and cross-filters the other visualizations on
the report page. To follow along, either add some visuals to this report page or copy the treemap to one of the
other pages in this report. The below image the treemap was copied over to the Over view page.
1. On the treemap, select either a Categor y or a Chain within a Categor y . That will cross-highlight the
other visualizations on the page. Selecting 050-Shoes , for example, shows you that last year's sales for
shoes was $16,352,432 with Fashions Direct accounting for $2,174,185 of those sales.

2. In the Last Year Sales by Chain pie chart, selecting the Fashions Direct slice, cross-filters the
treemap.

3. To manage how charts cross-highlight and cross-filter each other, see Change how visuals interact in a
Power BI report.

Next steps
Waterfall charts in Power BI
Visualization types in Power BI
Waterfall charts in Power BI
9/29/2021 • 2 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Desktop ✔
️ Power BI service
Waterfall charts show a running total as Power BI adds and subtracts values. They're useful for understanding
how an initial value (like net income) is affected by a series of positive and negative changes.
The columns are color coded so you can quickly notice increases and decreases. The initial and the final value
columns often start on the horizontal axis, while the intermediate values are floating columns. Because of this
style, waterfall charts are also called bridge charts.

When to use a waterfall chart


Waterfall charts are a great choice:
When you have changes for the measure across time, a series, or different categories.
To audit the major changes contributing to the total value.
To plot your company's annual profit by showing various sources of revenue and arrive at the total profit
(or loss).
To illustrate the beginning and the ending headcount for your company in a year.
To visualize how much money you make and spend each month, and the running balance for your
account.

Prerequisite
This tutorial uses the Retail Analysis sample PBIX file.
1. From the upper left section of the menubar, select File > Open repor t
2. Find your copy of the Retail Analysis Sample PBIX file

3. Open the Retail Analysis Sample PBIX file in report view .

4. Select to add a new page.

NOTE
Sharing your report with a Power BI colleague requires that you both have individual Power BI Pro licenses or that the
report is saved in Premium capacity.

Create a waterfall chart


You'll create a waterfall chart that displays sales variance (estimated sales versus actual sales) by month.
Build the waterfall chart
1. From the Fields pane, select Sales > Total Sales Variance .
2. Select the waterfall icon .

3. Select Time > FiscalMonth to add it to the Categor y well.


Sort the waterfall chart
1. Make sure Power BI sorts the waterfall chart chronologically by month. From the top-right corner of the
chart, select More options (...).
For this example, select Sor t by and choose FiscalMonth . A yellow indicator next to your selection
indicates when your selection option is being applied.

To display the months in chronological order, select Sor t ascending . As with the previous step, check
that there is a yellow indicator next to the left of Sor t ascending. This indicates that your selected option
is being applied.
Notice that your chart is sorted from January to August for FiscalMonth.
Explore the waterfall chart
Dig in a little more to see what's contributing most to the changes month to month.
1. Select Store > Territor y , which will add Territor y to the Breakdown bucket.

Power BI uses the value in Breakdown to add additional data to the visualization. It adds the top five
contributors to increases or decreases for each fiscal month. This means that February, for example, now
has six data points instead of just one.
Let's say that you're only interested in the top two contributors.
2. In the Format pane, select Breakdown and set Max breakdowns to 2 .

A quick review reveals that the territories of Ohio and Pennsylvania are the biggest contributors to
movement, both negative and positive, in your waterfall chart.
Next steps
Change how visuals interact in a Power BI report
Visualization types in Power BI
Insights (preview)
9/22/2021 • 6 minutes to read • Edit Online

The Insights feature helps users easily explore and find insights such as anomalies, trends in their data as they
interact and consume their reports. It notifies a user if there are interesting insights in the reports and also
provides explanations for the insights. It works out of the box on any report so the consumers can automatically
start getting insights from their reports without any setup.

License requirements
Insights is supported for reports in Premium and Premium Per User (PPU) workspaces. You can also use the
feature in non-premium workspaces if you have a PPU license, but notifications won't be supported.

Notifications
Power BI automatically runs insights analysis when you open a report. The light bulb in the action bar turns
yellow and toast notifications are shown if there are Top insights for visuals in your current report page. Top
insights are those that are noteworthy based on factors like recency, significance of the trend/anomaly. These
notifications are supported only in Premium and PPU workspaces. Please note that the tenant and report setting
for receiving notifications should be turned on for this to work.

Click on the See insights button to open the Insights pane or choose Show me later if you’d not like to get
further notifications for this report in the current session.
If you usually dismiss these notifications or don't engage with them, they'll be disabled for the current session.
You can click on Keep Showing to continue getting notifications.
You can control the setting for notifications in a report as shown below:

Get insights on reports and visuals


Click on Get insights in the action bar to open the Insights pane.

The pane only shows insights about the current report page and it updates when you select a different page on
the report.
Select More options (...) in the upper-right corner of a visual and then Get insights to see insights about just
that visual.

Insights
The Insights pane currently shows you three types of insights – Anomalies, Trends, and KPI analysis. The Top tab
shows you Top insights. All tab shows you both Top insights and other insights.
Insights are computed every time you open a report or interact with a report such as changing pages, changing
filters, or cross-filtering your data.
Anomalies
An anomaly is an abnormality in time-series data, such as unexpected spikes and dips in the data. The algorithm
computes a boundary around what’s considered a normal or expected value. Any value found outside this
boundary is marked as an anomaly. Check out this technical blog for more details about the algorithm. There
are three types of anomaly insights:
Significant Anomaly: The anomaly has a high score. Anomaly score indicates how far the point is from the
expected range.
Recent Anomaly: The most recent anomaly in the measure.
Anomaly summary: This insight type summarizes multiple anomalies in the measure.
Trends
A trend occurs there's a prolonged increase or decrease in time-series data. There are a series of steps the Power
BI algorithm uses to find meaningful trends: It first performs data smoothening, interpolation, time-series
sampling. The trends are then identified for statistical significance based on the slope and length of a change in
value. The algorithm removes noise like seasonality and outliers. For example, if sales jump in December, the
algorithm won't mark that as a noteworthy trend because it's common for sales to jump around the holidays.
Long trend: The trend is significant and is the longest trend within a single series or across multiple series in
a visual.
Steep trend: The trend is significant and is the steepest trend within a single series or across multiple series in
a visual.
Recent trend: The trend is significant and is the most recent trend within a single series or across multiple
series in a visual.
Trend reversal: Recent trend in a single series or across multiple series in a visual where the reversal is
significant compared to the previous trend segment.
KPI analysis
KPI analysis with a target looks at the variance of the current value to its target, and it's considered significant if
the variance is significantly high or low compared to other segments. Whereas KPI analysis without a target
looks at the value itself and flags ones that are significantly high or low compared to other segments.

Explanations
Click on the card to get more details about the insight. Expand/collapse the cards under Possible Explanations
to view/hide the explanation visuals and text.
Anomalies
When an anomaly in your data is flagged, Power BI runs the analysis across different dimensions in your data
model to look for spikes or dips in the measure that correlate to the anomaly. They're shown as possible
explanations ranked by strength. Check out this documentation to learn more.

Trends
When a trend in your data is flagged, Power BI looks for and identifies the categories that most influenced the
increase or decrease in the identified trend. Possible explanations are ranked based on the relative contributions
from different categories to the increase or decrease in trend. Learn more here.
KPI analysis
For KPI analysis explanations, Power BI looks for and identifies the categories that have significantly high or low
values. For KPI analysis with target, possible explanations are ranked based on Z-scores of the difference of the
value from the target. Whereas for KPI analysis without target, possible explanations are ranked based on the Z-
scores of the value itself.
Details
If the insight talks about multiple anomalies, or trends, clicking on the insight card will show you the Details
cards to help you choose the specific anomaly/trend/KPI segment you’d like to get explanations for.
Considerations and limitations
Insights is currently not available in Apps and Embedded for reports in Premium workspaces. Users with
PPU license can still use Insights. The Power BI team is working on a fix.
If no insights found are found, you’ll be shown the following message: “We didn’t find any insights”. This
can be because:
The data or visuals aren't supported
Anomalies and trend insights are supported on time series with numeric data on visuals
such as Line chart, Area chart, Stacked Area chart, Stacked bar chart, Stacked column chart,
Clustered bar chart, Clustered column chart, KPI. KPI analysis insight is supported on KPI,
Gauge, Cards, Bar, and Column charts.
Anomalies and trends are only supported for built-in date hierarchy or date time fields.
They aren't supported on custom date hierarchy.
The data doesn't have significant anomalies or trends. You can try filtering your data or check back
later when there’s new data.
The following functionality isn't supported:
Publish to Web
Live Connection to Azure Analysis Services or SQL Server Analysis Services
MultiDimensional Analysis Services data sources (e.g. SAP BW, SAP HANA)
Power BI Report Server
Explanations aren't supported in the following cases:
TopN filters
Include/exclude filters
Measure filters
Non-numeric measures
Use of "Show value as"
Filtered measures: filtered measures are visual level calculations with a specific filter applied (for
example, Total Sales for France), and are used on some of the visuals created by the insights feature.
Some measure types such as % grand total and measures from extension schemas
RLS
If no explanations are found, you’ll be shown the following message: “We didn’t find any significant
explanations”. You can try bringing in more fields for the analysis.
Use AI Insights in Power BI Desktop
9/10/2021 • 12 minutes to read • Edit Online

In Power BI, you can use AI Insights to gain access to a collection of pre-trained machine learning models that
enhance your data preparation efforts. AI Insights is accessed in the Power Quer y Editor , and its associated
features and functions are accessed through the Home and Add Column tabs in Power Quer y Editor .

This article describes functions for Text Analytics and Vision functions, both from Azure Cognitive Services. Also
in this article is a section that describes the custom functions available in Power BI from Azure Machine
Learning.

Using Text Analytics and Vision


With Text Analytics and Vision in Power BI, you can apply different algorithms from Azure Cognitive Services to
enrich your data in Power Query.
The services that are supported today are the following:
Sentiment Analysis
Key Phrase Extraction
Language Detection
Image Tagging.
The transformations are executed on the Power BI service and do not require an Azure Cognitive Services
subscription.

IMPORTANT
Using the Text Analytics or Vision features requires Power BI Premium.

Enabling Text Analytics and Vision on Premium capacities


Cognitive Services are supported for Premium capacity nodes EM2, A2, or P1 and above. Cognitive services are
also available with a Premium Per User (PPU) license. A separate AI workload on the capacity is used to run
Cognitive Services. Before using Cognitive Services in Power BI, the AI workload must be enabled in the
capacity settings of the admin portal. You can turn on the AI workload in the workloads section and define
the maximum amount of memory you would like this workload to consume. The recommended memory limit is
20%. Exceeding this limit causes the query to slow down.
Available functions
This section describes the available functions in Cognitive Services in Power BI.
Detect language
The language detection function evaluates text input, and for each field, returns the language name and ISO
identifier. This function is useful for data columns that collect arbitrary text, where language is unknown. The
function expects data in text format as input.
Text Analytics recognizes up to 120 languages. For more information, see supported languages.
Extract key phrases
The Key Phrase Extraction function evaluates unstructured text, and for each text field, returns a list of key
phrases. The function requires a text field as input, and accepts an optional input for Culture info .
Key phrase extraction works best when you give it bigger chunks of text to work on. This is opposite from
sentiment analysis, which performs better on smaller blocks of text. To get the best results from both operations,
consider restructuring the inputs accordingly.
Score sentiment
The Score Sentiment function evaluates text input and returns a sentiment score for each document, ranging
from 0 (negative) to 1 (positive). This function is useful for detecting positive and negative sentiment in social
media, customer reviews, and discussion forums.
Text Analytics uses a machine learning classification algorithm to generate a sentiment score between 0 and 1.
Scores closer to 1 indicate positive sentiment, scores closer to 0 indicate negative sentiment. The model is pre-
trained with an extensive body of text with sentiment associations. Currently, it's not possible to provide your
own training data. The model uses a combination of techniques during text analysis, including text processing,
part-of-speech analysis, word placement, and word associations. For more information about the algorithm, see
Introducing Text Analytics.
Sentiment analysis is performed on the entire input field, as opposed to extracting sentiment for a particular
entity in the text. In practice, there's a tendency for scoring accuracy to improve when documents contain one or
two sentences rather than a large block of text. During an objectivity assessment phase, the model determines
whether an input field as a whole is objective or contains sentiment. An input field that is mostly objective does
not progress to the sentiment detection phrase, resulting in a .50 score, with no further processing. For input
fields continuing in the pipeline, the next phase generates a score above or below .50, depending on the degree
of sentiment detected in the input field.
Currently, Sentiment Analysis supports English, German, Spanish, and French. Other languages are in preview.
For more information, see supported languages.
Tag images
The Tag Images function returns tags based on more than two thousand recognizable objects, living beings,
scenery, and actions. When tags are ambiguous or not common knowledge, the output provides hints to clarify
the meaning of the tag in context of a known setting. Tags are not organized as a taxonomy and no inheritance
hierarchies exist. A collection of content tags forms the foundation for an image description displayed as human
readable language formatted in complete sentences.
After uploading an image or specifying an image URL, Computer Vision algorithms output tags based on the
objects, living beings, and actions identified in the image. Tagging is not limited to the main subject, such as a
person in the foreground, but also includes the setting (indoor or outdoor), furniture, tools, plants, animals,
accessories, gadgets, and so on.
This function requires an image URL or a base-64 field as input. At this time, image tagging supports English,
Spanish, Japanese, Portuguese, and Simplified Chinese. For more information, see supported languages.
Invoking Text Analytics or Vision functions in Power Query
To enrich your data with Text Analytics or Vision functions, open Power Quer y Editor . This example walks
through scoring the sentiment of a text. The same steps can be used to extract key phrases, detect language, and
tag images.
Select the Text analytics button in the Home or Add Column ribbon. You'll be prompted to sign in.
After signing in, select the function you want to use and the data column you want to transform in the pop-up
window.

Power BI selects a Premium capacity to run the function on and send the results back to Power BI Desktop. The
selected capacity is only used for Text Analytics and Vision function during application and refreshes in Power BI
Desktop. Once the report is published, refreshes run on the Premium capacity of the workspace the report is
published to. You can change the capacity used for all Cognitive Services in the dropdown in the lower left
corner of the popup window.
Cultureinfo is an optional input to specify the language of the text. This field is an ISO code. You can use a
column as input for Cultureinfo, or a static field. In this example, the language is specified as English (en) for the
whole column. If you leave this field blank, Power BI automatically detects the language before applying the
function. Next, select Apply.
The first time you use AI Insights on a new data source, you're prompted to set the privacy level of your data.

NOTE
Refreshes of the dataset in Power BI will only work for data sources where the privacy level is set to public or
organizational.

After invoking the function, the result is added as a new column to the table. The transformation is also added as
an applied step in the query.
In the cases of image tagging and key phrase extraction, the results can return multiple values. Each individual
result is returned on a duplicate of the original row.
Publishing a report with Text Analytics or Vision functions
While editing in Power Query and performing refreshes in Power BI Desktop, Text Analytics and Vision use the
Premium capacity that was selected in Power Query Editor. After publishing the report to Power BI, it uses the
Premium capacity of the workspace into which it was published.
Reports with applied Text Analytics and Vision functions should be published to a workspace that is not on a
Premium capacity, otherwise refreshing the dataset will fail.
Managing impact on a Premium capacity
The following sections describe how you can manage the impacts of Text Analytics and Vision on capacity.
Selecting a capacity
Report authors can select which Premium capacity on which to run AI Insights. By default, Power BI selects the
first created capacity to which the user has access.
Monitoring with the Capacity Metrics app
Premium capacity owners can monitor the impact of Text Analytics and Vision functions on a capacity with the
Power BI Premium Capacity Metrics app. The app provides detailed metrics on the health of the AI workloads
within your capacity. The top chart shows the memory consumption by AI workloads. Premium capacity admins
can set the memory limit for the AI workload per capacity. When memory usage reaches the memory limit, you
can consider increasing the memory limit or moving some workspaces to a different capacity.
Comparing Power Query and Power Query Online
The Text Analytics and Vision functions used in Power Query and Power Query Online are the same. The only
differences between the experiences are the following:
Power Query has separate buttons for Text Analytics, Vision, and Azure Machine Learning. In Power Query
Online, these are combined in one menu.
In Power Query, the report author can select the Premium capacity that is used to run the functions. This is
not required in Power Query Online, since a dataflow is already on a specific capacity.
Considerations and limitations of Text Analytics
There are a few considerations and limitations to keep in mind when using Text Analytics.
Incremental refresh is supported but can cause performance issues when used on queries with AI insights.
Direct Query is not supported.

Using Azure ML
Numerous organizations use Machine Learning models for better insights and predictions about their
business. The ability to visualize and invoke insights from these models, in your reports and dashboards and
other analytics, can help disseminate these insights to the business users who need it the most. Power BI makes
it simple to incorporate the insights from models hosted on Azure Machine Learning, using straightforward
point-and-click gestures.
To use this capability, a data scientist can simply grant access to the Azure ML model to the BI analyst using the
Azure portal. Then, at the start of each session, Power Query discovers all the Azure ML models to which the
user has access and exposes them as dynamic Power Query functions. The user can then invoke those functions
by accessing them from the ribbon in Power Query Editor, or by invoking the M function directly. Power BI also
automatically batches the access requests when invoking the Azure ML model for a set of rows to achieve better
performance.
This functionality is supported in Power BI Desktop, Power BI dataflows, and for Power Query Online in the
Power BI service.
To learn more about dataflows, see Self-service data prep in Power BI.
To learn more about Azure Machine Learning, see the following articles:
Overview: What is Azure Machine Learning?
Quick Starts and Tutorials for Azure Machine Learning: Azure Machine Learning Documentation
Granting access to an Azure ML model
To access an Azure ML model from Power BI, the user must have Read access to the Azure subscription. In
addition, they must have the following:
For Machine Learning Studio (classic) models, Read access to Machine Learning Studio (classic) web service
For Machine Learning models, Read access to the Machine Learning workspace
The steps in this section describe how to grant a Power BI user access to a model hosted on the Azure ML
service, so they can access this model as a Power Query function. For further details, please see Manage access
using RBAC and the Azure portal.
1. Sign in to the Azure portal.
2. Go to the Subscriptions page. You can find the Subscriptions page through the All Ser vices list in the
left navigation menu of the Azure portal.
3. Select your subscription
4. Select Access control (IAM) , and then select the Add button.
5. Select Reader as the Role. Select the Power BI user to whom you wish to grant access to the Azure ML
model.
6. Select Save
7. Repeat steps three through six to grant Reader access to the user for the specific Machine Learning Studio
(classic) web service, or the Machine Learning workspace hosting the model.
Schema discovery for Machine Learning models
Data scientists primarily use Python to develop, and even deploy, their machine learning models for Machine
Learning. Unlike the Machine Learning Studio (classic), which helps automate the task of creating a schema file
for the model, in the case of Machine Learning, the data scientist must explicitly generate the schema file using
Python.
This schema file must be included in the deployed web service for Machine Learning models. To automatically
generate the schema for web service, you must provide a sample of the input/output in the entry script for the
deployed model. Please see the subsection on (Optional) Automatic Swagger schema generation in the Deploy
models with the Azure Machine Learning service documentation. The link includes the example entry script with
the statements for the schema generation.
Specifically, the @input_schema and @output_schema functions in the entry script reference the input and
output sample formats in the input_sample and output_sample variables, and use these samples to generate an
OpenAPI (Swagger) specification for the web service during deployment.
These instructions for schema generation by updating the entry script must also be applied to models created
using automated machine learning experiments using the Azure Machine Learning SDK.

NOTE
Models created using the Azure Machine Learning visual interface do not currently support schema generation, but will in
subsequent releases.

Invoking an Azure ML model in Power Query


You can invoke any Azure ML model to which you have been granted access, directly from the Power Query
Editor. To access the Azure ML models, select Azure Machine Learning button in the Home or Add Column
ribbon in the Power Query Editor.

All Azure ML models to which you have access are listed here as Power Query functions. Also, the input
parameters for the Azure ML model are automatically mapped as parameters of the corresponding Power
Query function.
To invoke an Azure ML model, you can specify any of the selected entity's columns as an input from the drop-
down. You can also specify a constant value to be used as an input by toggling the column icon to the left of the
input dialog.
Select OK to view the preview of the Azure ML model's output as a new column in the entity table. You will also
see the model invocation as an applied step for the query.
If the model returns multiple output parameters, they are grouped together as a record in the output column.
You can expand the column to produce individual output parameters in separate columns.
Considerations and limitations of Azure ML
The following considerations and limitations apply to Azure ML in Power BI Desktop.
Models created using the Azure Machine Learning visual interface do not currently support schema
generation. Support is anticipated in subsequent releases.
Incremental refresh is supported but can cause performance issues when used on queries with AI insights.
Direct Query is not supported.

Next steps
This article provided an overview of integrating Machine Learning into Power BI Desktop. The following articles
might also be interesting and useful.
Tutorial: Consume Azure Machine Learning models in Power BI
Tutorial: Using Cognitive Services in Power BI
Cognitive Services in Power BI
Azure Machine Learning integration in Power BI
Monitoring Premium capacities with the app
AI metrics in the Premium capacity metrics app
Tutorial: Use Cognitive Services in Power BI
7/29/2021 • 5 minutes to read • Edit Online

Power BI provides access to a set of functions from Azure Cognitive Services to enrich your data in the self-
service data prep for Dataflows. The services that are supported today are Sentiment Analysis, Key Phrase
Extraction, Language Detection, and Image Tagging. The transformations are executed on the Power BI service
and do not require an Azure Cognitive Services subscription. This feature requires Power BI Premium.
Cognitive Services transforms are supported in the Self-Service Data Prep for Dataflows. Use the step-by-step
examples for text analytics and image tagging below to get started.
In this tutorial, you learn how to:
Import data into a dataflow
Score sentiment and extract key phrases of a text column in a dataflow
Connect to the results from Power BI Desktop

Prerequisites
To complete this tutorial, you need the following:
A Power BI account. If you're not signed up for Power BI, sign up for a free trial before you begin.
Access to a Power BI Premium capacity with the AI workload enabled. This workload will be turned off by
default during preview. If you are in on a Premium capacity and AI Insights are not showing up, contact your
Premium capacity admin to enable the AI workload in the admin portal.

Text analytics
Follow the steps in this section to complete the text analytics portion of the tutorial.
Step 1: Apply sentiment scoring in Power BI Service
To get started, navigate to a Power BI workspace with Premium capacity and create a new dataflow using the
Create button in the upper right of the screen.

The dataflow dialog shows you the options for creating a new dataflow, select Add new entities. Next, choose
Text/CSV from the menu of data sources.
Paste this URL into the URL field:
https://pbiaitutorials.blob.core.windows.net/textanalytics/FabrikamComments.csv and click Next.

The data is now ready to use for text analytics, and we can use Sentiment Scoring and Key Phrase Extraction on
the customer comments column.
In Power Query Editor, select AI Insights
Expand the Cognitive Ser vices folder and select the function you would like to use. This example is scoring the
sentiment of the comment column, but you can follow the same steps to try out Language Detection and Key
Phrase Extraction.

Once a function is selected, the required and optional fields will show. To score the sentiment of the example
reviews, select the reviews column as text input. Culture info is an optional input and requires an ISO format. For
example, enter 'en' if you want the text to be treated as English. When the field is left blank, Power BI will first
detect the language of the input value before scoring the sentiment.
Now select Invoke to run the function. A new column with the sentiment score for each row is added to the
table. You can go back to AI insights to extract key phrases of the review text in the same way.
Once you are finished with the transformations, change the query name to 'Customer comments' and select
Done.

Next, Save the dataflow and name it Fabrikam. Select the Refresh Now button that pops up after saving the
dataflow.
Once the dataflow is saved and refreshed, you can use it in a Power BI report.
Step 2: Connect from Power BI Desktop
Open Power BI Desktop. In the Home ribbon, select Get Data.
Navigate to the Power BI dataflows (Beta ) in the Power BI section and select Connect.
As this is a preview feature, the connector will ask you to accept the preview conditions. After accepting these,
sign in with your organization account.

Select the dataflow you have just created. Navigate to the Customer comments table and click Load.

Now the data is loaded you can start building a report.

Image tagging
Navigate to a Power BI workspace with Premium capacity. Create a new dataflow using the Create button in the
upper right of the screen.
Select Add new entities .

Once you are asked to choose a data source, select Blank quer y.

Copy the query below in the query editor and click next. You can replace the URL paths below with other images
or add more rows. The Web.Contents function imports the image URL as binary. If you have a data source with
images stored as binary, you can also use that directly.

let
Source = Table.FromRows({
{ Web.Contents("https://images.pexels.com/photos/87452/flowers-background-butterflies-beautiful-
87452.jpeg") },
{ Web.Contents("https://upload.wikimedia.org/wikipedia/commons/5/53/Colosseum_in_Rome%2C_Italy_-
_April_2007.jpg") }}, { "Image" })
in
Source

When prompted for credentials, select anonymous.

You see the following image.


You're prompted for credentials for each individual web page.
Select AI Insights in the query editor.

Next, sign in with your organizational account .


Select the Tag Images function, enter [Binary] in the column field and en in the culture info field.

NOTE
You currently cannot pick a column using a dropdown, which will be resolved as soon as possible during the private
preview.

In the function editor, remove the quotation marks around the column name.
NOTE
Removing the quotation marks is a temporary workaround, which will be resolved as soon as possible during preview.

The function returns a record with both the tags in comma-separated format and as a json record. Select the
expand-button to add one or both as columns to the table.

Select Done and save the dataflow. Once you have refreshed the dataflow one, you can connect to it from Power
BI Desktop using the Dataflows connectors. (See steps on page 5 of this document).

Clean up resources
When no longer needed, delete the query by right-clicking the query name in the Power Query editor and
selecting Delete .

Next steps
In this tutorial, you applied sentiment scoring and image tagging functions on a Power BI dataflow. To learn
more about Cognitive Services in Power BI, read the following articles.
Cognitive Services in Azure
Get started with self-service data prep on dataflows
Learn more about Power BI Premium
You might also be interested in the following articles.
Tutorial: Consume Azure Machine Learning models in Power BI
Azure Machine Learning integration in Power BI (Preview)
Cognitive Services in Power BI (Preview)
Tutorial: Build a Machine Learning model in Power
BI
7/29/2021 • 9 minutes to read • Edit Online

In this tutorial article, you use Automated Machine Learning to create and apply a binary prediction model in
Power BI. The tutorial includes guidance for creating a Power BI dataflow, and using the entities defined in the
dataflow to train and validate a machine learning model directly in Power BI. We then use that model for scoring
new data to generate predictions.
First, you'll create a Binary Prediction machine learning model, to predict the purchase intent of online shoppers
based on a set of their online session attributes. A benchmark machine learning dataset is used for this exercise.
Once a model is trained, Power BI will automatically generate a validation report explaining the model results.
You can then review the validation report and apply the model to your data for scoring.
This tutorial consists of following steps:

Create a dataflow with the input data


Create and train a machine learning model
Review the model validation report
Apply the model to a dataflow entity
Using the scored output from the model in a Power BI report

Create a dataflow with the input data


The first part of this tutorial is to create a dataflow with input data. That process takes a few steps, as shown in
the following sections, beginning with getting data.
Get data
The first step in creating a dataflow is to have your data sources ready. In our case, we use a machine learning
dataset from a set of online sessions, some of which culminated in a purchase. The dataset contains a set of
attributes about these sessions, which we'll use for training our model.
You can download the dataset from the UC Irvine website. We also have this available, for the purpose of this
tutorial, from the following link: online_shoppers_intention.csv.
Create the entities
To create the entities in your dataflow, sign into the Power BI service and navigate to a workspace on your
capacity that has AI enabled.
If you don't already have a workspace, you can create one by selecting Workspaces in the nav pane menu in
the Power BI service, and select Create workspace at the bottom of the panel that appears. This opens a panel
on the right to enter the workspace details. Enter a workspace name and select Advanced . Confirm that the
workspace uses Dedicated Capacity using the radio button, and that it's assigned to a capacity instance that has
the AI preview turned on. Then select Save .
Once the workspace is created, you can select Skip in the bottom right of the Welcome screen, as shown in the
following image.

Select the Create button at the top right of the workspace, and then select Dataflow .
Select Add new entities . This launches a Power Quer y editor in the browser.

Select Text/CSV File as a data source, shown in the following image.


In the Connect to a data source page that appears next, paste the following link to the
online_shoppers_intention.csv into the File path or URL box, and then select Next .
https://raw.githubusercontent.com/santoshc1/PowerBI-AI-
samples/master/Tutorial_AutomatedML/online_shoppers_intention.csv

The Power Query Editor shows a preview of the data from the CSV file. You can rename the query to a friendlier
name by changing the value in the Name box found in the right pane. For example, you could change the Query
name to Online Visitors.
Power Query automatically infers the type of columns. You can change the column type by clicking on the
attribute type icon at the top of the column header. In this example, we change the type of the Revenue column
to True/False.

Select the Save & close button to close Power Query Editor. Provide a name for the dataflow, and then select
Save on the dialog, as shown in the following image.
Create and train a machine learning model
To add a machine learning model, Select the Apply ML model button in the Actions list for the base entity that
contains your training data and label information, and then select Add a machine learning model .

The first step for creating our machine learning model is to identify the historical data including the outcome
field that you want to predict. The model will be created by learning from this data.
In the case of the dataset we're using, this is the Revenue field. Select Revenue as the 'Outcome field' value and
then select Next .
Next, we must select the type of machine learning model to create. Power BI analyzes the values in the outcome
field that you've identified and suggests the types of machine learning models that can be created to predict that
field.
In this case since we're predicting a binary outcome of whether a user will make a purchase or not, Binary
Prediction is recommended. Since we are interested in predicting users who will make a purchase, select True as
the Revenue outcome that you're most interested in. Additionally, you can provide friendly labels for the
outcomes to be used in the automatically generated report that will summarize the results of the model
validation. Then select Next.

Next, Power BI does a preliminary scan of a sample of your data and suggests the inputs that may produce more
accurate predictions. If Power BI doesn't recommend a field, an explanation would be provided next to it. You
have the option to change the selections to include only the fields you want the model to study, or you can select
all the fields by selecting the checkbox next to the entity name. Select Next to accept the inputs.
In the final step, we must provide a name for our model. Name the model Purchase Intent Prediction. You can
choose to reduce the training time to see quick results or increase the amount of time spent in training to get
the best model. Then select Save and train to start training the model.

The training process will begin by sampling and normalizing your historical data and splitting your dataset into
two new entities Purchase Intent Prediction Training Data and Purchase Intent Prediction Testing Data.
Depending on the size of the dataset, the training process can take anywhere from a few minutes to the training
time selected at the previous screen. At this point, you can see the model in the Machine learning models tab
of the dataflow. The Ready status indicates that the model has been queued for training or is under training.
You can confirm that the model is being trained and validated through the status of the dataflow. This appears as
a data refresh in progress in the Dataflows tab of the workspace.
Once the model training is completed, the dataflow displays an updated refresh time. You can confirm that the
model is trained, by navigating to the Machine learning models tab in the dataflow. The model you created
should show status as Trained and the Last Trained time should now be updated.

Review the model validation report


To review the model validation report, in the Machine learning models tab, select the View training report
button in the Actions column for the model. This report describes how your machine learning model is likely to
perform.
In the Model Performance page of the report, select See top predictors to view the top predictors for your
model. You can select one of the predictors to see how the outcome distribution is associated with that predictor.
You can use the Probability Threshold slicer on the Model Performance page to examine its influence on the
Precision and Recall for the model.

The other pages of the report describe the statistical performance metrics for the model.
The report also includes a Training Details page that describes the different iterations that were run, how
features were extracted from the inputs, and the hyperparameters for the final model used.

Apply the model to a dataflow entity


Select the Apply model button at the top of the report to invoke this model. In the Apply dialog, you can
specify the target entity that has the source data to which the model should be applied.
When prompted, you must Refresh the dataflow to preview the results of your model.
Applying the model will create two new entities, with the suffix enriched <model_name> and enriched
<model_name> explanations . In our case, applying the model to the Online Visitors entity will create
Online Visitors enriched Purchase Intent Prediction which includes the predicted output from the model,
and Online Visitors enriched Purchase Intent Prediction explanations which contains top record-
specific influencers for the prediction.
Applying a Binary Prediction model adds four columns with predicted outcome, probability score, the top
record-specific influencers for the prediction, and explanation index each prefixed with the column name
specified.

Once the dataflow refresh is completed, you can select the Online Visitors enriched Purchase Intent
Prediction entity to view the results.
You can also invoke any AutoML model in the workspace, directly from the Power Query Editor in your dataflow.
To access the AutoML models, select the Edit button for the entity that you want to enrich with insights from
your AutoML model, as shown in the following image.

Selecting the Edit button opens the Power Query Editor for the entities in your dataflow. Select the AI
Insights button in the ribbon.
Select the Power BI Machine Learning Models folder from the nav pane menu. All the AutoML models to which
you have access are listed here as Power Query functions. Also, the input parameters for the AutoML model are
automatically mapped as parameters of the corresponding Power Query function. Note that automatic mapping
of parameters happens only if the name and data type of the parameter is the same.
To invoke an AutoML model, you can specify any of the selected entity's columns as an input from the drop-
down. You can also specify a constant value to be used as an input by toggling the column icon to the left of the
input dialog.

Select Apply to view the preview of the AutoML model's output as a new columns in the entity table. You will
also see the model invocation as an applied step for the query.
Once you save your dataflow, the model is automatically invoked when the dataflow is refreshed, for any new or
updated rows in the entity table.

Using the scored output from the model in a Power BI report


To use the scored output from your machine learning model you can connect to your dataflow from the Power
BI desktop, using the Dataflows connector. The Online Visitors enriched Purchase Intent Prediction entity
can now be used to incorporate the predictions from your model in Power BI reports.

Next steps
In this tutorial, you created and applied a binary prediction model in Power BI using these steps:
Create a dataflow with the input data
Create and train a machine learning model
Review the model validation report
Apply the model to a dataflow entity
Using the scored output from the model in a Power BI report
For more information about Machine Learning automation in Power BI, see Automated Machine Learning in
Power BI.
Tutorial: Consume Azure Machine Learning models
in Power BI
7/29/2021 • 4 minutes to read • Edit Online

This tutorial walks you through creating a Power BI report based on a machine learning model. By the end of
this tutorial, you'll be able to:
Score machine learning models (deployed using Azure Machine Learning) in Power BI.
Connect to an Azure Machine Learning model in the Power Query Editor.
Create a report with a visualization based on that model.
Publish that report to the Power BI service.
Set up scheduled refresh for the report.

Prerequisites
Before starting this tutorial, you need to:
Train and deploy a machine learning model in Azure Machine Learning. Use one of these three Azure
Machine Learning tutorials:
Option A: Code
Option B: Designer
Option C: Automated ML
Sign up for a free Power BI trial.
Install Power BI Desktop on a local computer.

Create the data model


Open Power BI Desktop and select Get Data . In the Get Data dialog box, search for web . Select the Web
source > Connect .
In the From Web dialog box, copy and paste the following URL in the box:

https://www4.stat.ncsu.edu/~boos/var.select/diabetes.tab.txt

Select OK .
In Access Web content , select Anonymous > Connect .
Select Transform data to open the Power Quer y Editor window.
In the Home ribbon of the Power Query Editor, select the Azure Machine Learning button.

After signing in to your Azure account using single sign-on, you see a list of available services. Select the my-
sklearn-ser vice that you created from the Train and deploy a machine learning model tutorial.
Power Query populates the columns automatically for you. You remember that in our schema for the service, we
had a Python decorator that specified the inputs. Select OK .
Selecting OK calls the Azure Machine Learning service. It triggers a warning on data privacy for both the data
and the endpoint.

Select Continue . In the next screen, select Ignore Privacy Levels checks for this file > Save .
Once the data is scored, Power Query creates an additional column named AzureML.my-diabetes-model .

The data that the service returns is a list .

NOTE
If you deployed a designer model, you see a record .

To get the predictions, select the double-headed arrow in the AzureML.my-diabetes-model column header >
Expand to New Rows .
After the expansion, you see the predictions in the AzureML.my-diabetes-model column.

Follow these next steps to finish cleaning up your data model.


1. Rename the AzureML.my-diabetes-model column to predicted .
2. Rename the Y column to actual .
3. Change the type of the actual column: Select the column, then on the Transform ribbon select Data Type >
Decimal Number .
4. Change the type of the predicted column: Select that column, then on the Transform ribbon select Data
Type > Decimal Number .
5. On the Home ribbon, select Close & Apply .

Create a report with visualizations


Now you can create some visualizations to show your data.
1. In the Visualizations pane, select a Line char t .
2. With the line chart visual selected:
3. Drag the AGE field to the Axis .
4. Drag the actual field to Values .
5. Drag the predicted field to Values .
Resize the line chart to fill the page. Your report now has a single line chart with two lines, one for the predicted
and one for the actual values, distributed by age.
Publish the report
You can add more visualizations if you wish. In the interest of brevity, in this tutorial we'll publish the report.
1. Save the report.
2. Select File > Publish > Publish to Power BI .
3. Sign in to the Power BI service.
4. Select My Workspace .
5. When the report is published successfully, select the Open <MY_PBIX_FILE.pbix> in Power BI link.
The report opens the report in Power BI in your browser.

Enable datasets to refresh


In a scenario where the data source is refreshed with new data to score, you need to update your credentials so
the data can be scored.
In My Workspace in the Power BI service, in the black header bar, select More options (...) > Settings >
Settings .

Select Datasets , expand Data source credentials , then select Edit Credentials .
Follow the instructions for both azureMLFunctions and Web . Make sure that you select a privacy level. You
can now set a Scheduled refresh of the data. Select a Refresh frequency and Time zone . You can also select
an email address where Power BI can send refresh failure notifications.

Select Apply .

NOTE
When the data is refreshed, it also sends the data to your Azure Machine Learning endpoint for scoring.

Clean up resources
IMPORTANT
You can use the resources that you created as prerequisites for other Azure Machine Learning tutorials and how-to
articles.

If you don't plan to use the resources that you created, delete them so you don't incur any charges.
1. In the Azure portal, select Resource groups on the far left.
2. From the list, select the resource group that you created.
3. Select Delete resource group .
4. Enter the resource group name. Then select Delete .
5. In My Workspace in the Power BI service, delete the report and the related dataset. You don't need to
delete Power BI Desktop or the report on your computer. Power BI Desktop is free.

Next steps
In this tutorial series, you learnt how to set up a schedule in Power BI so that new data can be scored by your
scoring endpoint in Azure Machine Learning.
AI with dataflows
9/2/2021 • 28 minutes to read • Edit Online

In this article we discuss ways you can use artificial intelligence (AI) with dataflows. The areas described in this
article are the following:
Cognitive Services
Automated Machine Learning
Azure Machine Learning Integration

Cognitive Services in Power BI


With Cognitive Services in Power BI, you can apply different algorithms from Azure Cognitive Services to enrich
your data in the self-service data prep for Dataflows.
The services that are supported today are Sentiment Analysis, Key Phrase Extraction, Language Detection, and
Image Tagging. The transformations are executed on the Power BI Service and do not require an Azure Cognitive
Services subscription. This feature requires Power BI Premium.
Enabling AI features
Cognitive services are supported for Premium capacity nodes EM2, A2, or P1 and above. Cognitive services are
also available with a Premium Per User (PPU) license. A separate AI workload on the capacity is used to run
cognitive services. Before using cognitive services in Power BI, the AI workload needs to be enabled in the
capacity settings of the admin portal. You can turn on the AI workload in the workloads section, and define the
maximum amount of memory you would like this workload to consume. The recommended memory limit is
20%. Exceeding this limit causes the query to slow down.

Getting started with Cognitive Services in Power BI


Cognitive Services transforms are part of the Self-Service Data Prep for dataflows. To enrich your data with
Cognitive Services, start by editing a dataflow.
Select the AI Insights button in the top ribbon of Power Query Editor.

In the pop-up window, select the function you want to use and the data you want to transform. In this example,
I'm scoring the sentiment of a column that contains review text.
Cultureinfo is an optional input to specify the language of the text. This column is expecting an ISO code. You
can use a column as input for Cultureinfo, or a static column. In this example, the language is specified as
English (en) for the whole column. If you leave this column blank, Power BI automatically detects the language
before applying the function. Next, select Invoke.

After invoking the function, the result is added as a new column to the table. The transformation is also added as
an applied step in the query.
If the function returns multiple output columns, invoking the function adds a new column with a row of the
multiple output columns.
Use the expand option to add one or both values as columns to your data.

Available functions
This section describes the available functions in Cognitive Services in Power BI.
Detect Language
The language detection function evaluates text input, and for each column, returns the language name and ISO
identifier. This function is useful for data columns that collect arbitrary text, where language is unknown. The
function expects data in text format as input.
Text Analytics recognizes up to 120 languages. For more information, see supported languages.
Extract Key Phrases
The Key Phrase Extraction function evaluates unstructured text, and for each text column, returns a list of key
phrases. The function requires a text column as input, and accepts an optional input for Cultureinfo . (See the
Getting Star ted section earlier in this article).
Key phrase extraction works best when you give it bigger chunks of text to work on. This is opposite from
sentiment analysis, which performs better on smaller blocks of text. To get the best results from both operations,
consider restructuring the inputs accordingly.
Score Sentiment
The Score Sentiment function evaluates text input and returns a sentiment score for each document, ranging
from 0 (negative) to 1 (positive). This function is useful for detecting positive and negative sentiment in social
media, customer reviews, and discussion forums.
Text Analytics uses a machine learning classification algorithm to generate a sentiment score between 0 and 1.
Scores closer to 1 indicate positive sentiment, scores closer to 0 indicate negative sentiment. The model is pre-
trained with an extensive body of text with sentiment associations. Currently, it's not possible to provide your
own training data. The model uses a combination of techniques during text analysis, including text processing,
part-of-speech analysis, word placement, and word associations. For more information about the algorithm, see
Introducing Text Analytics.
Sentiment analysis is performed on the entire input column, as opposed to extracting sentiment for a particular
table in the text. In practice, there's a tendency for scoring accuracy to improve when documents contain one or
two sentences rather than a large block of text. During an objectivity assessment phase, the model determines
whether an input column as a whole is objective or contains sentiment. An input column that is mostly objective
does not progress to the sentiment detection phrase, resulting in a .50 score, with no further processing. For
input columns continuing in the pipeline, the next phase generates a score above or below .50, depending on
the degree of sentiment detected in the input column.
Currently, Sentiment Analysis supports English, German, Spanish, and French. Other languages are in preview.
For more information, see Supported languages.
Tag Images
The Tag Images function returns tags based on more than 2,000 recognizable objects, living beings, scenery,
and actions. When tags are ambiguous or not common knowledge, the output provides 'hints' to clarify the
meaning of the tag in context of a known setting. Tags are not organized as a taxonomy and no inheritance
hierarchies exist. A collection of content tags forms the foundation for an image 'description' displayed as
human readable language formatted in complete sentences.
After uploading an image or specifying an image URL, Computer Vision algorithms output tags based on the
objects, living beings, and actions identified in the image. Tagging is not limited to the main subject, such as a
person in the foreground, but also includes the setting (indoor or outdoor), furniture, tools, plants, animals,
accessories, gadgets, and so on.
This function requires an image URL or abase-64 column as input. At this time, image tagging supports English,
Spanish, Japanese, Portuguese, and Simplified Chinese. For more information, see Supported languages.

Automated Machine Learning in Power BI


Automated machine learning (AutoML) for dataflows enables business analysts to train, validate, and invoke
Machine Learning (ML) models directly in Power BI. It includes a simple experience for creating a new ML model
where analysts can use their dataflows to specify the input data for training the model. The service automatically
extracts the most relevant features, selects an appropriate algorithm, and tunes and validates the ML model.
After a model is trained, Power BI automatically generates a performance report that includes the results of the
validation. The model can then be invoked on any new or updated data within the dataflow.
Automated machine learning is available for dataflows that are hosted on Power BI Premium and Embedded
capacities only.
Working with AutoML
Dataflows offer self-serve data prep for big data. AutoML is integrated into dataflows and enables you to
leverage your data prep effort for building machine learning models, right within Power BI.
AutoML in Power BI enables data analysts to use dataflows to build machine learning models with a simplified
experience, using just Power BI skills. Most of the data science behind the creation of the ML models is
automated by Power BI. It has guardrails to ensure that the model produced has good quality and provides
visibility into the process used to create your ML model.
AutoML supports the creation of Binar y Prediction , Classification , and Regression Models for dataflows.
These are types of supervised machine learning techniques, which means that they learn from the known
outcomes of past observations to predict the outcomes of other observations. The input dataset for training an
AutoML model is a set of rows that are labeled with the known outcomes.
AutoML in Power BI integrates automated ML from Azure Machine Learning to create your ML models. However,
you don't need an Azure subscription to use AutoML in Power BI. The process of training and hosting the ML
models is managed entirely by the Power BI service.
After an ML model is trained, AutoML automatically generates a Power BI report that explains the likely
performance of your ML model. AutoML emphasizes explainability by highlighting the key influencers among
your inputs that influence the predictions returned by your model. The report also includes key metrics for the
model.
Other pages of the generated report show the statistical summary of the model and the training details. The
statistical summary is of interest to users who would like to see the standard data science measures of model
performance. The training details summarize all the iterations that were run to create your model, with the
associated modeling parameters. It also describes how each input was used to create the ML model.
You can then apply your ML model to your data for scoring. When the dataflow is refreshed, your data is
updated with predictions from your ML model. Power BI also includes an individualized explanation for each
specific prediction that the ML model produces.
Creating a machine learning model
This section describes how to create an AutoML model.
Data prep for creating an ML model
To create a machine learning model in Power BI, you must first create a dataflow for the data containing the
historical outcome information, which is used for training the ML model. You should also add calculated
columns for any business metrics that may be strong predictors for the outcome you're trying to predict. For
details on configuring your dataflow, see configure and consume a dataflow.
AutoML has specific data requirements for training a machine learning model. These requirements are
described in sections below, based on respective model types.
Configuring the ML model inputs
To create an AutoML model, select the ML icon in the Actions column of the dataflow table, and select Add a
machine learning model .

A simplified experience is launched, consisting of a wizard that guides you through the process of creating the
ML model. The wizard includes the following simple steps.
1. Select the table with the historical data, and the outcome column for which you want a
prediction
The outcome column identifies the label attribute for training the ML model, shown in the following image.
2. Choose a model type
When you specify the outcome column, AutoML analyzes the label data to recommend the most likely ML
model type that can be trained. You can pick a different model type as shown below by clicking on “Select a
different model”.

NOTE
Some model types may not be supported for the data that you have selected and hence would be disabled. In the above
example, Regression is disabled, as a text column is selected as outcome column.

3. Select the inputs you want the model to use as predictive signals
AutoML analyzes a sample of the selected table to suggest the inputs that can be used for training the ML
model. Explanations would be provided next to columns that are not selected. If a particular column has too
many distinct values or only one value, or low or high correlation with the output column, it would not be
recommended.
Any inputs that are dependent on the outcome column (or the label column) should not be used for training the
ML model, since they will affect its performance. Such columns would be flagged as having “suspiciously high
correlation with output column”. Introducing these columns into the training data causes label leakage, where
the model performs well on the validation or test data but cannot match that performance when used in
production for scoring. Label leakage could be a possible concern in AutoML models, when training model
performance is too good to be true.
This feature recommendation is based on a sample of a data, so you should review the inputs used. You have the
option to change the selections to include only the columns you want the model to study. You can also select all
the columns by selecting the checkbox next to the table name.
4. Name your model and save your configuration
In the final step, you can name the model and select Save and train which begins training the ML model. You can
choose to reduce the training time to see quick results or increase the amount of time spent in training to get
the best model.

ML model training
Training of AutoML models is a part of the dataflow refresh. AutoML first prepares your data for training.
AutoML splits the historical data you provide into training and testing datasets. The test dataset is a holdout set
that is used for validating the model performance after training. These are realized as Training and Testing
tables in the dataflow. AutoML uses cross-validation for the model validation.
Next, each input column is analyzed and imputation is applied, which replaces any missing values with
substituted values. A couple of different imputation strategies are used by AutoML. For input attributes treated
as numeric features, the mean of the column values is used for imputation. For input attributes treated as
categorical features, AutoML uses the mode of the column values for imputation. The mean and mode of values
used for imputation are calculated by the AutoML framework on the subsampled training dataset.
Then, sampling and normalization are applied to your data as required. For classification models, AutoML runs
the input data through stratified sampling and balances the classes to ensure the row counts are equal for all.
AutoML applies several transformations on each selected input column based on its data type, and its statistical
properties. AutoML uses these transformations to extract features for use in training your ML model.
The training process for AutoML models consists of up to 50 iterations with different modeling algorithms and
hyperparameter settings to find the model with the best performance. Training can end early with lesser
iterations if AutoML notices that there is no performance improvement being observed. The performance of
each of these models is assessed by validation with the holdout test dataset. During this training step, AutoML
creates several pipelines for training and validation of these iterations. The process of assessing the
performance of the models can take time, anywhere from several minutes to a couple of hours up-to the
training time configured in the wizard, depending on the size of your dataset and the capacity resources
available.
In some cases, the final model generated may use ensemble learning, where multiple models are used to deliver
better predictive performance.
AutoML model explainability
After the model has been trained, AutoML analyzes the relationship between the input features and the model
output. It assesses the magnitude of change to the model output for the holdout test dataset for each input
feature. This is known as the feature importance. This happens as a part of the refresh once training is complete.
Hence your refresh may take longer than the training time configured in the wizard.

AutoML model report


AutoML generates a Power BI report that summarizes the performance of the model during validation, along
with the global feature importance. This report can be accessed from the Machine Learning Model tab once the
dataflow refresh is successful. The report summarizes the results from applying the ML model to the holdout
test data and comparing the predictions with the known outcome values.
You can review the model report to understand its performance. You can also validate that the key influencers of
the model align with the business insights about the known outcomes.
The charts and measures used to describe the model performance in the report depend on the model type.
These performance charts and measures are described in the following sections.
Additional pages in the report may describe statistical measures about the model from a data science
perspective. For instance, the Binar y Prediction report includes a gain chart and the ROC curve for the model.
The reports also include a Training Details page that includes a description of how the model was trained, and
a chart describing the model performance over each of the iterations run.
Another section on this page describes the detected type of the input column and imputation method used for
filling missing values. It also includes the parameters used by the final model.

If the model produced uses ensemble learning, then the Training Details page also includes a chart showing
the weight of each constituent model in the ensemble, as well as its parameters.
Applying the AutoML model
If you're satisfied with the performance of the ML model created, you can apply it to new or updated data when
your dataflow is refreshed. You can do this from the model report, by selecting the Apply button in the top-right
corner or the Apply ML Model button under actions in the Machine Learning Models tab.
To apply the ML model, you must specify the name of the table to which it must be applied, and a prefix for the
columns that will be added to this table for the model output. The default prefix for the column names is the
model name. The Apply function may include additional parameters specific to the model type.
Applying the ML model creates two new dataflow tables which contains the predictions and individualized
explanations for each row that it scores in the output table. For instance, if you apply the PurchaseIntent model
to the OnlineShoppers table, the output will generate the OnlineShoppers enriched PurchaseIntent and
OnlineShoppers enriched PurchaseIntent explanations tables. For each row in the enriched table, The
Explanations is broken down into multiple rows in the enriched explanations table based on the input feature.
An ExplanationIndex helps map the rows from the enriched explanations table to the row in enriched table.
You can also apply any Power BI AutoML model to tables in any dataflow in the same workspace using AI
Insights in PQO function browser. This way, you can use models created by others in the same workspace
without necessarily being an owner of the dataflow that has the model. Power Query discovers all the Power BI
ML models in the workspace and exposes them as dynamic Power Query functions. You can invoke those
functions by accessing them from the ribbon in Power Query Editor, or by invoking the M function directly. This
functionality is currently only supported for Power BI dataflows, and for Power Query Online in the Power BI
service. Note that this is very different from applying ML models within a dataflow using the AutoML wizard.
There is no explanations table created using this method and unless you are the owner of the dataflow, you
cannot access model training reports or retrain the model. If the source model is edited (adding or removing
input columns) or, the model or source dataflow is deleted, then this dependent dataflow would break.

After you apply the model, AutoML always keeps your predictions up-to-date whenever the dataflow is
refreshed.
To use the insights and predictions from the ML model in a Power BI report, you can connect to the output table
from Power BI Desktop using the dataflows connector.
Binary Prediction models
Binary Prediction models, more formally known as binar y classification models , are used to classify a
dataset into two groups. They're used to predict events that can have a binary outcome. For instance, whether a
sales opportunity will convert, whether an account will churn, whether an invoice will be paid on time, whether a
transaction is fraudulent, and so on.
The output of a Binary Prediction model is a probability score, which identifies the likelihood that the target
outcome will be achieved.
Training a Binary Prediction model
Pre-requisites:
A minimum of 20 rows of historical data is required for each class of outcomes
The process of creation for a Binary Prediction model follows the same steps as other AutoML models,
described in the section Configuring the ML model inputs above. The only difference is in the “Choose a
model” step where you can select the target outcome value that you’re most interested in. You can also provide
friendly labels for the outcomes to be used in the automatically generated report that will summarize the results
of the model validation.
Binary Prediction model report
The Binary Prediction model produces as an output a probability that a row will achieve the target outcome. The
report includes a slicer for the probability threshold, which influences how the scores above and below the
probability threshold are interpreted.
The report describes the performance of the model in terms of True Positives, False Positives, True Negatives,
and False Negatives. True Positives and True Negatives are correctly predicted outcomes for the two classes in
the outcome data. False Positives are rows that were predicted to have Target outcome but actually did not.
Conversely, False Negatives are rows that had Target outcome but were predicted as not having it.
Measures, such as Precision and Recall, describe the effect of the probability threshold on the predicted
outcomes. You can use the probability threshold slicer to select a threshold that achieves a balanced
compromise between Precision and Recall.
The report also includes a Cost-Benefit analysis tool to help identify the subset of the population that should be
targeted to yield the highest profit. Given an estimated unit cost of targeting and a unit benefit from achieving a
target outcome, Cost-Benefit analysis attempts to maximize profit. You can use this tool to pick your probability
threshold based on the maximum point in the graph to maximize profit. You can also use the graph to compute
the profit or cost for your choice of probability threshold.

The Accuracy Repor t page of the model report includes the Cumulative Gains chart and the ROC curve for the
model. These are statistical measures of model performance. The reports include descriptions of the charts
shown.
Applying a Binary Prediction model
To apply a Binary Prediction model, you must specify the table with the data to which you want to apply the
predictions from the ML model. Other parameters include the output column name prefix and the probability
threshold for classifying the predicted outcome.

When a Binary Prediction model is applied, it adds four output columns to the enriched output table: Outcome ,
PredictionScore , PredictionExplanation , and ExplanationIndex . The column names in the table have the
prefix specified when the model is applied.
PredictionScore is a percentage probability, which identifies the likelihood that the target outcome will be
achieved.
The Outcome column contains the predicted outcome label. Records with probabilities exceeding the threshold
are predicted as likely to achieve the target outcome and are labeled as True. Records below the threshold are
predicted as unlikely to achieve the outcome and are labeled as False.
The PredictionExplanation column contains an explanation with the specific influence that the input features
had on the PredictionScore .
Classification models
Classification models are used to classify a dataset into multiple groups or classes. They're used to predict
events that can have one of the multiple possible outcomes. For instance, whether a customer is likely to have a
very high, high, medium, or low Lifetime Value, whether the risk of default is High, Moderate, Low, or Very Low;
and so on.
The output of a Classification model is a probability score, which identifies the likelihood that a row will achieve
the criteria for a given class.
Training a Classification model
The input table containing your training data for a Classification model must have a string or whole number
column as the outcome column, which identifies the past known outcomes.
Pre-requisites:
A minimum of 20 rows of historical data is required for each class of outcomes
The process of creation for a Classification model follows the same steps as other AutoML models, described in
the section Configuring the ML model inputs above.
Classification model report
The Classification model report is produced by applying the ML model to the holdout test data and comparing
the predicted class for a row with the actual known class.
The model report includes a chart that includes the breakdown of the correctly and incorrectly classified rows
for each known class.

A further class-specific drill-down action enables an analysis of how the predictions for a known class are
distributed. This shows the other classes in which rows of that known class are likely to be misclassified.
The model explanation in the report also includes the top predictors for each class.
The Classification model report also includes a Training Details page similar to the pages for other model types,
as described in the section AutoML model repor t earlier in this article.
Applying a classification model
To apply a Classification ML model, you must specify the table with the input data and the output column name
prefix.
When a Classification model is applied, it adds five output columns to the enriched output table:
ClassificationScore , ClassificationResult , ClassificationExplanation , ClassProbabilities , and
ExplanationIndex . The column names in the table have the prefix specified when the model is applied.
The ClassProbabilities column contains the list of probability scores for the row for each possible class.
The ClassificationScore is the percentage probability, which identifies the likelihood that a row will achieve the
criteria for a given class.
The ClassificationResult column contains the most likely predicted class for the row.
The ClassificationExplanation column contains an explanation with the specific influence that the input
features had on the ClassificationScore .
Regression models
Regression models are used to predict a numeric value. For instance: the revenue likely to be realized from a
sales deal, the lifetime value of an account, the amount of a receivable invoice that is likely to be paid, the date
on which an invoice may be paid, and so on.
The output of a Regression model is the predicted value.
Training a Regression model
The input table containing the training data for a Regression model must have a numeric column as the
outcome column, which identifies the known outcome values.
Pre-requisites:
A minimum of 100 rows of historical data is required for a Regression model
The process of creation for a Regression model follows the same steps as other AutoML models, described in
the section Configuring the ML model inputs above.
Regression model report
Like the other AutoML model reports, the Regression report is based on the results from applying the model to
the holdout test data.
The model report includes a chart that compares the predicted values to the actual values. In this chart, the
distance from the diagonal indicates the error in the prediction.
The residual error chart shows the distribution of the percentage of average error for different values in the
holdout test dataset. The horizontal axis represents the mean of the actual value for the group, with the size of
the bubble showing the frequency or count of values in that range. The vertical axis is the average residual error.

The Regression model report also includes a Training Details page like the reports for other model types, as
described in the section AutoML model repor t above.
Applying a regression model
To apply a Regression ML model, you must specify the table with the input data and the output column name
prefix.
When a Regression model is applied, it adds three output columns to the enriched output table:
RegressionResult , RegressionExplanation , and ExplanationIndex . The column names in the table have the
prefix specified when the model is applied.
The RegressionResult column contains the predicted value for the row based on the input columns. The
RegressionExplanation column contains an explanation with the specific influence that the input features had
on the RegressionResult .

Azure Machine Learning integration in Power BI


Numerous organizations use Machine Learning models for better insights and predictions about their
business. The ability to visualize and invoke insights from these models, in your reports and dashboards and
other analytics, can help disseminate these insights to the business users who need it the most. Power BI now
makes it simple to incorporate the insights from models hosted on Azure Machine Learning, using
straightforward point-and-click gestures.
To use this capability, a data scientist can simply grant access to the Azure ML model to the BI analyst using the
Azure portal. Then, at the start of each session, Power Query discovers all the Azure ML models to which the
user has access and exposes them as dynamic Power Query functions. The user can then invoke those functions
by accessing them from the ribbon in Power Query Editor, or by invoking the M function directly. Power BI also
automatically batches the access requests when invoking the Azure ML model for a set of rows to achieve better
performance.
This functionality is currently only supported for Power BI dataflows, and for Power Query online in the Power BI
service.
To learn more about dataflows, see Introduction to dataflows and self-service data prep.
To learn more about Azure Machine Learning, please see:
Overview: What is Azure Machine Learning?
Quick Starts and Tutorials for Azure Machine Learning: Azure Machine Learning Documentation
Granting access to the Azure ML model to a Power BI user
To access an Azure ML model from Power BI, the user must have Read access to the Azure subscription. In
addition:
For Machine Learning Studio (classic) models, Read access to Machine Learning Studio (classic) web service
For Machine Learning models, Read access to the Machine Learning workspace
The steps in this article describe how to grant a Power BI user access to a model hosted on the Azure ML service,
so they can access this model as a Power Query function. For further details, please see Manage access using
RBAC and the Azure portal.
1. Sign in to the Azure portal.
2. Go to the Subscriptions page. You can find the Subscriptions page through the All Ser vices list in the
nav pane menu of the Azure portal.

3. Select your subscription.

4. Select Access Control (IAM) , and then select the Add button.
5. Select Reader as the Role. Select the Power BI user to whom you wish to grant access to the Azure ML
model.

6. Select Save .
7. Repeat steps three through six to grant Reader access to the user for the specific Machine Learning
Studio (classic) web service, or the Machine Learning workspace hosting the model.
Schema discovery for Machine Learning models
Data scientists primarily use Python to develop, and even deploy, their machine learning models for Machine
Learning. Unlike the Machine Learning Studio (classic), which helps automate the task of creating a schema file
for the model, in the case of Machine Learning, the data scientist must explicitly generate the schema file using
Python.
This schema file must be included in the deployed web service for Machine Learning models. To automatically
generate the schema for web service, you must provide a sample of the input/output in the entry script for the
deployed model. Please see the subsection on (Optional) Automatic Swagger schema generation in the Deploy
models with the Azure Machine Learning service documentation. The link includes the example entry script with
the statements for the schema generation.
Specifically, the @input_schema and @output_schema functions in the entry script reference the input and
output sample formats in the input_sample and output_sample variables, and use these samples to generate an
OpenAPI (Swagger) specification for the web service during deployment.
These instructions for schema generation by updating the entry script must also be applied to models created
using automated machine learning experiments using the Azure Machine Learning SDK.

NOTE
Models created using the Azure Machine Learning visual interface do not currently support schema generation, but will in
subsequent releases.

Invoking the Azure ML model in Power BI


You can invoke any Azure ML model to which you have been granted access, directly from the Power Query
Editor in your dataflow. To access the Azure ML models, select the Edit button for the table that you want to
enrich with insights from your Azure ML model, as shown in the following image.

Selecting the Edit button opens the Power Query Editor for the tables in your dataflow.

Select the AI Insights button in the ribbon, and then select the Azure Machine Learning Models folder from the
nav pane menu. All the Azure ML models to which you have access are listed here as Power Query functions.
Also, the input parameters for the Azure ML model are automatically mapped as parameters of the
corresponding Power Query function.
To invoke an Azure ML model, you can specify any of the selected table's columns as an input from the drop-
down. You can also specify a constant value to be used as an input by toggling the column icon to the left of the
input dialog.
Select Invoke to view the preview of the Azure ML model's output as a new column in the table table. You will
also see the model invocation as an applied step for the query.

If the model returns multiple output parameters, they are grouped together as a row in the output column. You
can expand the column to produce individual output parameters in separate columns.
Once you save your dataflow, the model is automatically invoked when the dataflow is refreshed, for any new or
updated rows in the table table.
##Limitations
AI insights (Cognitive Services and Azure ML models) are not supported on machines with proxy
authentication setup.
AzureML models are not supported for Guest users.

Next steps
This article provided an overview of Automated Machine Learning for Dataflows in the Power BI service. The
following articles may also be useful.
Tutorial: Build a Machine Learning model in Power BI
Tutorial: Using Cognitive Services in Power BI
Tutorial: Consume Azure Machine Learning models in Power BI
The following articles provide more information about dataflows and Power BI:
Introduction to dataflows and self-service data prep
Creating a dataflow
Configure and consume a dataflow
Configuring Dataflow storage to use Azure Data Lake Gen 2
Premium features of dataflows
Dataflows limitations and considerations
Dataflows best practices
Anomaly detection
9/20/2021 • 3 minutes to read • Edit Online

APPLIES TO: Power BI service for consumers Power BI service for designers & developers Power
BI Desktop Requires Pro or Premium license
Anomaly detection helps you enhance your line charts by automatically detecting anomalies in your time series
data. It also provides explanations for the anomalies to help with root cause analysis. With just a couple of clicks,
you can easily find insights without slicing and dicing the data. You can create and view anomalies in both Power
BI Desktop and the Power BI service. The steps and illustrations in this article are from Power BI Desktop.

NOTE
This video might use earlier versions of Power BI Desktop or the Power BI service.

Get started
This tutorial uses online sales data for various products.To follow along with this tutorial, download the sample
file of an online-sales scenario.
You can enable Anomaly detection by selecting the chart and adding "Find Anomalies" option in the analytics
pane.

For example, this chart shows Revenue over time. Adding anomaly detection automatically enriches the chart
with anomalies, and the expected range of values. When a value goes outside this expected boundary, it's
marked as an anomaly. Check out this technical blog for more details about the Anomaly Detector algorithm.
Format anomalies
This experience is highly customizable. You can format the anomaly's shape, size, and color, and also the color,
style, and transparency of expected range. You can also configure the parameter of the algorithm. If you increase
the sensitivity, the algorithm is more sensitive to changes in your data. In that case, even a slight deviation is
marked as an anomaly. If you decrease the sensitivity, the algorithm is more selective on what it considers an
anomaly.
Explanations
Besides detecting anomalies, you can also automatically explain the anomalies the data. When you select the
anomaly, Power BI runs an analysis across fields in your data model to figure out possible explanations. It gives
you a natural language explanation of the anomaly, and factors associated with that anomaly, sorted by its
explanatory strength. Here I see that on August 30, Revenue was $5187, which is above the expected range of
$2447 to $3423. I can open the cards in this pane to see more details of the explanation.

Configure explanations
You can also control the fields that are used for analysis. For example, by dragging Seller and City into the
Explain by field well, Power BI restricts the analysis to just those fields. In this case, the anomaly on August 31
seems to be associated with a particular seller and particular cities. Here, seller "Fabrikam" has a strength of
99%. Power BI calculates strength as the ratio of the deviation from expected value, when filtered by the
dimension to the deviation in total value. For example, it's the ratio of actual minus expected value, between the
component time series Fabrikam and the aggregate time series overall Revenue for the anomaly point. Opening
this card shows the visual with a spike in the revenue for this seller on August 31. Use the Add to repor t
option to add this visual to the page.
Limitations
Anomaly detection is only supported for line chart visuals containing time series data in the Axis field.
Anomaly detection isn't supported with legends, multiple values or secondary values in line chart visual.
Anomaly detection requires at least four data points.
Forecast/Min/Max/Average/ Median/Percentile lines doesn't work with Anomaly detection.
Direct Query over SAP data source, Power BI Report Server, Live Connection to Azure Analysis Services and
SQL Server Analysis Services aren't supported.
Anomaly Explanations doesn't work with 'Show Value As' options.
Drilling down to go to the next level in the hierarchy isn't supported.

Next steps
To learn more about the algorithm that runs anomaly detection, see Tony Xing's post on the SR-CNN algorithm
in Azure Anomaly Detector
Create and view decomposition tree visuals in
Power BI
8/5/2021 • 6 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Desktop ✔
️ Power BI service
The decomposition tree visual in Power BI lets you visualize data across multiple dimensions. It automatically
aggregates data and enables drilling down into your dimensions in any order. It is also an artificial intelligence
(AI) visualization, so you can ask it to find the next dimension to drill down into based on certain criteria. This
makes it a valuable tool for ad hoc exploration and conducting root cause analysis.

This tutorial uses two examples:


A supply chain scenario that analyzes the percentage of products a company has on backorder (out of stock).
A sales scenario that breaks down video game sales by numerous factors like game genre and publisher.
You can find the pbix used in the supply chain scenario here: Supply Chain Sample.pbix.

NOTE
Sharing your report with a Power BI colleague requires that you both have individual Power BI Pro licenses or that the
report is saved in Premium capacity.

Get started
Select the decomposition tree icon from the Visualizations pane.
The visualization requires two types of input:
Analyze – the metric you would like to analyze. This has to be a measure or an aggregate.
Explain By – one or more dimensions you would like to drill down into.
Once you drag your measure into the field well, the visual updates showcasing the aggregated measure. In the
example below, we are visualizing the average % of products on backorder (5.07%).

The next step is to bring in one or more dimensions you would like to drill down into. Add these fields to the
Explain by bucket. Notice that a plus sign appears next to your root node. Selecting the + lets you choose
which field you would like to drill into (you can drill into fields in any order that you want).
Selecting Forecast bias results in the tree expanding and breaking down the measure by the values in the
column. This process can be repeated by choosing another node to drill into.

Selecting a node from the last level cross-filters the data. Selecting a node from an earlier level changes the
path.
Interacting with other visuals cross-filters the decomposition tree. The order of the nodes within levels could
change as a result. In the example below, we've cross-filtered the tree by Ubisoft. The path updates and Xbox
sales move from first to second place, surpassed by PlayStation.
If we then cross-filter the tree by Nintendo, Xbox sales are blank as there are no Nintendo games developed for
Xbox. Xbox, along with its subsequent path, gets filtered out of the view.
Despite the path disappearing, the existing levels (in this case Game Genre) remain pinned on the tree. Selecting
the Nintendo node therefore automatically expands the tree to Game Genre.

AI splits
You can use “AI Splits” to figure out where you should look next in the data. These splits appear at the top of the
list and are marked with a lightbulb. The splits are there to help you find high and low values in the data,
automatically.
The analysis can work in two ways depending on your preferences. The default behavior is as follows:
High Value : Considers all available fields and determines which one to drill into to get the highest value of
the measure being analyzed.
Low Value : Considers all available fields and determines which one to drill into to get the lowest value of the
measure being analyzed.
Selecting High Value in the backorders example, results in the following:

A lightbulb appears next to Product Type indicating this was an ‘AI split’. The tree also provides a dotted line
recommending the Patient Monitoring node as that results in the highest value of backorders (9.2%).
Hover over the lightbulb to see a tooltip. In this example, the tooltip is “% on backorder is highest when Product
Type is Patient Monitoring”.
You can configure the visual to find Relative AI splits as opposed to Absolute ones.
Relative mode looks for high values that stand out (compared to the rest of the data in the column). To illustrate
this, let’s take a look at an example:
In the screenshot above, we are looking at North America sales of video games. We first split the tree by
Publisher Name and then drill into Nintendo. Selecting High Value results in the expansion of Platform is
Nintendo . Since Nintendo (the publisher) only develops for Nintendo consoles, there is only one value present
and so that is unsurprisingly the highest value.
Nevertheless, a more interesting split would be to look at which high value stands out relative to other values in
the same column. If we change the Analysis type from Absolute to Relative , we get the following result for
Nintendo:

This time, the recommended value is Platform within Game Genre . Platform doesn’t yield a higher absolute
value than Nintendo ($19,950,000 vs. $46,950,000). Nevertheless it’s a value that stands out.
More precisely, since there are 10 Game Genre values, the expected value for Platform would be $4.6M if they
were to be split evenly. Since Platform has a value of almost $20M, that is an interesting result as it is four times
higher than the expected result.
The calculation is as follows:
North America Sales for Platform/ Abs(Avg(North America Sales for Game Genre))
vs.
North America Sales for Nintendo / Abs(Avg(North America Sales for Platform))
Which translates to:
19,550,000 / (19,550,000 + 11,140,000 + ... + 470,000 + 60,000 /10) = 4.25x
vs.
46,950,000/ (46,950,000/1) = 1x
If you prefer not to use any AI splits in the tree, you also have the option of turning them off under the Analysis
formatting options:

Tree interactions with AI splits


You can have multiple subsequent AI levels. You can also mix up different kinds of AI levels (go from High Value
to Low Value and back to High Value):
If you select a different node in the tree, the AI Splits recalculate from scratch. In the example below, we changed
the selected node in the Forecast Bias level. The subsequent levels change to yield the correct High and Low
Values.
AI levels are also recalculated when you cross-filter the decomposition tree by another visual. In the example
below, we can see that our backorder % is highest for Plant #0477.

But if we select April in the bar chart, the highest changes to Product Type is Advanced Surgical . In this
case, it’s not just the nodes that got reordered, but a completely different column was chosen.

If we want AI levels to behave like non-AI levels, select the lightbulb to revert the behavior to default.
While multiple AI levels can be chained together, a non-AI level cannot follow an AI level. If we do a manual split
following an AI split, the lightbulb from the AI level disappears and the level transforms into a normal level.
Locking
A content creator can lock levels for report consumers. When a level is locked, it cannot be removed or changed.
A consumer can explore different paths within the locked level but they cannot change the level itself. As a
creator you can hover over existing levels to see the lock icon. You can lock as many levels as you want, but you
cannot have unlocked levels preceding locked levels.
In the example below, the first two levels are locked. This means that report consumers can change level 3 and 4,
and even add new levels afterwards. The first two levels however cannot be changed:

Known limitations
The maximum number of levels for the tree is 50. Maximum number of data points that can be visualized at one
time on the tree is 5000. We truncate levels to show top n. Currently the top n per level is set to 10.
The decomposition tree is not supported in the following scenarios:
On-premises Analysis Services
AI splits are not supported in the following scenarios:
Azure Analysis Services
Power BI Report Server
Publish to Web
Complex measures and measures from extensions schemas in 'Analyze'
Other limitations:
Support inside Q&A
Next steps
Power BI doughnut chart
Power BI visualizations
Create key influencers visualizations
9/20/2021 • 28 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Desktop ✔
️ Power BI service
The key influencers visual helps you understand the factors that drive a metric you're interested in. It analyzes
your data, ranks the factors that matter, and displays them as key influencers. For example, suppose you want to
figure out what influences employee turnover, which is also known as churn. One factor might be employment
contract length, and another factor might be commute time.

When to use key influencers


The key influencers visual is a great choice if you want to:
See which factors affect the metric being analyzed.
Contrast the relative importance of these factors. For example, do short-term contracts affect churn more
than long-term contracts?

Features of the key influencers visual

1. Tabs : Select a tab to switch between views. Key influencers shows you the top contributors to the
selected metric value. Top segments shows you the top segments that contribute to the selected metric
value. A segment is made up of a combination of values. For example, one segment might be consumers
who have been customers for at least 20 years and live in the west region.
2. Drop-down box : The value of the metric under investigation. In this example, look at the metric Rating .
The selected value is Low .
3. Restatement : It helps you interpret the visual in the left pane.
4. Left pane : The left pane contains one visual. In this case, the left pane shows a list of the top key
influencers.
5. Restatement : It helps you interpret the visual in the right pane.
6. Right pane : The right pane contains one visual. In this case, the column chart displays all the values for
the key influencer Theme that was selected in the left pane. The specific value of usability from the left
pane is shown in green. All the other values for Theme are shown in black.
7. Average line : The average is calculated for all possible values for Theme except usability (which is the
selected influencer). So the calculation applies to all the values in black. It tells you what percentage of the
other Themes had a low rating. In this case 11.35% had a low rating (shown by the dotted line).
8. Check box : Filters out the visual in the right pane to only show values that are influencers for that field.
In this example, this would filter the visual to usability, security, and navigation.

Analyze a metric that is categorical


Watch this video to learn how to create a key influencers visual with a categorical metric. Then follow these steps
to create one.

NOTE
This video might use earlier versions of Power BI Desktop or the Power BI service.

https://www.youtube.com/embed/fDb5zZ3xmxU
Your Product Manager wants you to figure out which factors lead customers to leave negative reviews about
your cloud service. To follow along, open the Customer Feedback PBIX file in Power BI Desktop. You also can
download the Customer Feedback Excel file for Power BI service or Power BI Desktop. Select either link and then
select Download from the GitHub page that opens.

NOTE
The Customer Feedback data set is based on [Moro et al., 2014] S. Moro, P. Cortez, and P. Rita. "A Data-Driven Approach
to Predict the Success of Bank Telemarketing." Decision Support Systems, Elsevier, 62:22-31, June 2014.

1. Open the report, and select the Key influencers icon.


2. Move the metric you want to investigate into the Analyze field. To see what drives a customer rating of
the service to be low, select Customer Table > Rating .
3. Move fields that you think might influence Rating into the Explain by field. You can move as many fields
as you want. In this case, start with:
Country-Region
Role in Org
Subscription Type
Company Size
Theme
4. Leave the Expand by field empty. This field is only used when analyzing a measure or summarized field.
5. To focus on the negative ratings, select Low in the What influences Rating to be drop-down box.

The analysis runs on the table level of the field that's being analyzed. In this case, it's the Rating metric. This
metric is defined at a customer level. Each customer has given either a high score or a low score. All the
explanatory factors must be defined at the customer level for the visual to make use of them.
In the previous example, all of the explanatory factors have either a one-to-one or a many-to-one relationship
with the metric. In this case, each customer assigned a single theme to their rating. Similarly, customers come
from one country, have one membership type, and hold one role in their organization. The explanatory factors
are already attributes of a customer, and no transformations are needed. The visual can make immediate use of
them.
Later in the tutorial, you look at more complex examples that have one-to-many relationships. In those cases,
the columns have to first be aggregated down to the customer level before you can run the analysis.
Measures and aggregates used as explanatory factors are also evaluated at the table level of the Analyze
metric. Some examples are shown later in this article.

Interpret categorical key influencers


Let's take a look at the key influencers for low ratings.
Top single factor that influences the likelihood of a low rating
The customer in this example can have three roles: consumer, administrator, and publisher. Being a consumer is
the top factor that contributes to a low rating.

More precisely, your consumers are 2.57 times more likely to give your service a negative score. The key
influencers chart lists Role in Org is consumer first in the list on the left. By selecting Role in Org is
consumer , Power BI shows more details in the right pane. The comparative effect of each role on the likelihood
of a low rating is shown.
14.93% of consumers give a low score.
On average, all other roles give a low score 5.78% of the time.
Consumers are 2.57 times more likely to give a low score compared to all other roles. You can determine this
by dividing the green bar by the red dotted line.
Second single factor that influences the likelihood of a low rating
The key influencers visual compares and ranks factors from many different variables. The second influencer has
nothing to do with Role in Org . Select the second influencer in the list, which is Theme is usability .
The second most important factor is related to the theme of the customer’s review. Customers who commented
about the usability of the product were 2.55 times more likely to give a low score compared to customers who
commented on other themes, such as reliability, design, or speed.
Between the visuals, the average, which is shown by the red dotted line, changed from 5.78% to 11.34%. The
average is dynamic because it's based on the average of all other values. For the first influencer, the average
excluded the customer role. For the second influencer, it excluded the usability theme.
Select the Only show values that are influencers check box to filter by using only the influential values. In
this case, they're the roles that drive a low score. 12 themes are reduced to the four that Power BI identified as
the themes that drive low ratings.

Interact with other visuals


Every time you select a slicer, filter, or other visual on the canvas, the key influencers visual reruns its analysis on
the new portion of data. For example, you can move Company Size into the report and use it as a slicer. Use it
to see if the key influencers for your enterprise customers are different than the general population. An
enterprise company size is larger than 50,000 employees.
Selecting >50,000 reruns the analysis, and you can see that the influencers changed. For large enterprise
customers, the top influencer for low ratings has a theme related to security. You might want to investigate
further to see if there are specific security features your large customers are unhappy about.

Interpret continuous key influencers


So far, you've seen how to use the visual to explore how different categorical fields influence low ratings. It's also
possible to have continuous factors such as age, height, and price in the Explain by field. Let’s look at what
happens when Tenure is moved from the customer table into Explain by . Tenure depicts how long a customer
has used the service.
As tenure increases, the likelihood of receiving a lower rating also increases. This trend suggests that the longer-
term customers are more likely to give a negative score. This insight is interesting, and one that you might want
to follow up on later.
The visualization shows that every time tenure goes up by 13.44 months, on average the likelihood of a low
rating increases by 1.23 times. In this case, 13.44 months depict the standard deviation of tenure. So the insight
you receive looks at how increasing tenure by a standard amount, which is the standard deviation of tenure,
affects the likelihood of receiving a low rating.
The scatter plot in the right pane plots the average percentage of low ratings for each value of tenure. It
highlights the slope with a trend line.
Binned continuous key influencers
In some cases you may find that your continuous factors were automatically turned into categorical ones. This is
because we realized the relationship between the variables is not linear and so we cannot describe the
relationship as simply increasing or decreasing (like we did in the example above).
We run correlation tests to determine how linear the influencer is with regard to the target. If the target is
continuous, we run Pearson correlation and if the target is categorical, we run Point Biserial correlation tests. If
we detect the relationship is not sufficiently linear, we conduct supervised binning and generate a maximum of
five bins. To figure out which bins make the most sense, we use a supervised binning method that looks at the
relationship between the explanatory factor and the target being analyzed.

Interpret measures and aggregates as key influencers


You can use measures and aggregates as explanatory factors inside your analysis. For example, you might want
to see what effect the count of customer support tickets or the average duration of an open ticket has on the
score you receive.
In this case, you want to see if the number of support tickets that a customer has influences the score they give.
Now you bring in Suppor t Ticket ID from the support ticket table. Because a customer can have multiple
support tickets, you aggregate the ID to the customer level. Aggregation is important because the analysis runs
on the customer level, so all drivers must be defined at that level of granularity.
Let's look at the count of IDs. Each customer row has a count of support tickets associated with it. In this case, as
the count of support tickets increases, the likelihood of the rating being low goes up 5.51 times. The visual on
the right shows the average number of support tickets by different Rating values evaluated at the customer
level.
Interpret the results: Top segments
You can use the Key influencers tab to assess each factor individually. You also can use the Top segments tab
to see how a combination of factors affects the metric that you're analyzing.
Top segments initially show an overview of all the segments that Power BI discovered. The following example
shows that six segments were found. These segments are ranked by the percentage of low ratings within the
segment. Segment 1, for example, has 74.3% customer ratings that are low. The higher the bubble, the higher
the proportion of low ratings. The size of the bubble represents how many customers are within the segment.
Selecting a bubble displays the details of that segment. If you select Segment 1, for example, you find that it's
made up of relatively established customers. They've been customers for over 29 months and have more than
four support tickets. Finally, they're not publishers, so they're either consumers or administrators.
In this group, 74.3% of the customers gave a low rating. The average customer gave a low rating 11.7% of the
time, so this segment has a larger proportion of low ratings. It's 63 percentage points higher. Segment 1 also
contains approximately 2.2% of the data, so it represents an addressable portion of the population.

Adding counts
Sometimes an influencer can have a significant effect but represent little of the data. For example, Theme is
usability is the second biggest influencer for low ratings. However, there might have only been a handful of
customers who complained about usability. Counts can help you prioritize which influencers you want to focus
on.
You can turn on counts through the Analysis card of the formatting pane.
After counts are turned on, you’ll see a ring around each influencer’s bubble, which represents the approximate
percentage of data that influencer contains. The more of the bubble the ring circles, the more data it contains.
We can see that Theme is usability contains a small proportion of data.

You can also use the Sort by toggle in the bottom left of the visual to sort the bubbles by count first instead of
impact. Subscription Type is Premier is the top influencer based on count.
Having a full ring around the circle means the influencer contains 100% of the data. You can change the count
type to be relative to the maximum influencer using the Count type dropdown in the Analysis card of the
formatting pane. Now the influencer with the most amount of data will be represented by a full ring and all
other counts will be relative to it.
Analyze a metric that is numeric
If you move an unsummarized numerical field into the Analyze field, you have a choice how to handle that
scenario. You can change the behavior of the visual by going into the Formatting Pane and switching between
Categorical Analysis Type and Continuous Analysis Type .

A Categorical Analysis Type behaves as described above. For instance, if you were looking at survey scores
ranging from 1 to 10, you could ask ‘What influences Survey Scores to be 1?’
A Continuous Analysis Type changes the question to a continuous one. In the example above, our new
question would be ‘What influences Survey Scores to increase/decrease?’
This distinction is very helpful when you have lots of unique values in the field you are analyzing. In the example
below we look at house prices. It is not very meaningful to ask ‘What influences House Price to be 156,214?’ as
that is very specific and we are likely not to have enough data to infer a pattern.
Instead we may want to ask, ‘What influences House Price to increase’? which allows us to treat house prices as
a range rather than distinct values.

Interpret the results: Key influencers


NOTE
The examples in this section use public domain House Prices data. You can download the sample dataset if you want to
follow along.

In this scenario we look at ‘What influences House Price to increase’. We are looking at a number of explanatory
factors that could impact a house price like Year Built (year the house was built), KitchenQual (kitchen quality)
and YearRemodAdd (year the house was remodeled).
In the example below we look at our top influencer which is kitchen quality being Excellent. The results are very
similar to the ones we saw when we were analyzing categorical metrics with a few important differences:
The column chart on the right is looking at the averages rather than percentages. It therefore shows us what
the average house price of a house with an excellent kitchen is (green bar) compared to the average house
price of a house without an excellent kitchen (dotted line)
The number in the bubble is still the difference between the red dotted line and green bar but it’s expressed
as a number ($158.49K) rather than a likelihood (1.93x). So on average, houses with excellent kitchens are
almost $160K more expensive than houses without excellent kitchens.

In the example below we are looking at the impact a continuous factor (year house was remodeled) has on
house price. The differences compared to how we analyze continuous influencers for categorical metrics are as
follows:
The scatter plot in the right pane plots the average house price for each distinct value of year remodeled.
The value in the bubble shows by how much the average house price increases (in this case $2.87k) when the
year the house was remodeled increases by its standard deviation (in this case 20 years)
Finally, in the case of measures we are looking at the average year a house was built. The analysis here is as
follows:
The scatterplot in the right pane plots the average house price for each distinct value in the table
The value in the bubble shows by how much the average house price increases (in this case $1.35K) when
the average year increases by its standard deviation (in this case 30 years)

Interpret the results: Top Segments


Top segments for numerical targets show groups where the house prices on average are higher than in the
overall dataset. For example, below we can see that Segment 1 is made up of houses where GarageCars
(number of cars the garage can fit) is greater than 2 and the RoofStyle is Hip. Houses with those characteristics
have an average price of $355K compared to the overall average in the data which is $180K.

Analyze a metric that is a measure or a summarized column


In the case of a measure or summarized column the analysis defaults to the Continuous Analysis Type
described above. This cannot be changed. The biggest difference between analyzing a measure/summarized
column and an unsummarized numeric column is the level at which the analysis runs.
In the case of unsummarized columns, the analysis always runs at the table level. In the house price example
above, we analyzed the House Price metric to see what influences a house price to increase/decrease. The
analysis automatically runs on the table level. Our table has a unique ID for each house so the analysis runs at a
house level.
For measures and summarized columns, we don't immediately know what level to analyze them at. If House
Price was summarized as an Average , we would need to consider what level we would like this average house
price calculated. Is it the average house price at a neighborhood level? Or perhaps a regional level?
Measures and summarized columns are automatically analyzed at the level of the Explain by fields used.
Imagine we have three fields in Explain By we are interested in: Kitchen Quality , Building Type and Air
Conditioning . Average House Price would be calculated for each unique combination of those three fields. It
is often helpful to switch to a table view to take a look at what the data being evaluated looks like.
This analysis is very summarized and so it will be hard for the regression model to find any patterns in the data
it can learn from. We should run the analysis at a more detailed level to get better results. If we wanted to
analyze the house price at the house level we would need to explicitly add the ID field to the analysis.
Nevertheless, we don't want the house ID to be considered an influencer. It is not helpful to learn that as house
ID increases, the price of a house increase. This is where the Expand By field well option comes in handy. You
can use Expand By to add fields you want to use for setting the level of the analysis without looking for new
influencers.
Take a look at what the visualization looks like once we add ID to Expand By . Once you have defined the level at
which you want your measure evaluated, interpreting influencers is exactly the same as for unsummarized
numeric columns.
If you would like to learn more about how you can analyze measures with the key influencers visualization
please watch the following video. To learn how Power BI uses ML.NET behind the scenes to reason over data and
surface insights in a natural way, see Power BI identifies key influencers using ML.NET.

NOTE
This video might use earlier versions of Power BI Desktop or the Power BI service.

https://www.youtube.com/embed/2X1cW8oPtc8

Considerations and troubleshooting


What are the limitations for the visual?
The key influencers visual has some limitations:
Direct Query is not supported
Live Connection to Azure Analysis Services and SQL Server Analysis Services is not supported
Publish to web is not supported
.NET Framework 4.6 or higher is required
SharePoint Online embedding isn't supported

I see an error that no influencers or segments were found. Why is that?


This error occurs when you included fields in Explain by but no influencers were found.
You included the metric you were analyzing in both Analyze and Explain by . Remove it from Explain by .
Your explanatory fields have too many categories with few observations. This situation makes it hard for the
visualization to determine which factors are influencers. It’s hard to generalize based on only a few
observations. If you are analyzing a numeric field you may want to switch from Categorical Analysis to
Continuous Analysis in the Formatting Pane under the Analysis card.
Your explanatory factors have enough observations to generalize, but the visualization didn't find any
meaningful correlations to report.
I see an error that the metric I'm analyzing doesn't have enough data to run the analysis on. Why
is that?

The visualization works by looking at patterns in the data for one group compared to other groups. For example,
it looks for customers who gave low ratings compared to customers who gave high ratings. If the data in your
model has only a few observations, patterns are hard to find. If the visualization doesn’t have enough data to
find meaningful influencers, it indicates that more data is needed to run the analysis.
We recommend that you have at least 100 observations for the selected state. In this case, the state is customers
who churn. You also need at least 10 observations for the states you use for comparison. In this case, the
comparison state is customers who don't churn.
If you are analyzing a numeric field you may want to switch from Categorical Analysis to Continuous
Analysis in the Formatting Pane under the Analysis card.
I see an error that when 'Analyze' is not summarized, the analysis always runs at the row level of
its parent table. Changing this level via 'Expand by' fields is not allowed. Why is that?
When analyzing a numeric or categorical column, the analysis always runs at the table level. For example, if you
are analyzing house prices and your table contains an ID column, the analysis will automatically run at the house
ID level.
When you are analyzing a measure or summarized column, you need to explicitly state at which level you would
like the analysis to run at. You can use Expand by to change the level of the analysis for measures and
summarized columns without adding new influencers. If House price was defined as a measure you could add
the house ID column to Expand by to change the level of the analysis.
I see an error that a field in Explain by isn't uniquely related to the table that contains the metric
I'm analyzing. Why is that?
The analysis runs on the table level of the field that's being analyzed. For example, if you analyze customer
feedback for your service, you might have a table that tells you whether a customer gave a high rating or a low
rating. In this case, your analysis is running at the customer table level.
If you have a related table that's defined at a more granular level than the table that contains your metric, you
see this error. Here's an example:
You analyze what drives customers to give low ratings of your service.
You want to see if the device on which the customer is consuming your service influences the reviews they
give.
A customer can consume the service in multiple different ways.
In the following example, customer 10000000 uses both a browser and a tablet to interact with the service.

If you try to use the device column as an explanatory factor, you see the following error:

This error appears because the device isn't defined at the customer level. One customer can consume the service
on multiple devices. For the visualization to find patterns, the device must be an attribute of the customer. There
are several solutions that depend on your understanding of the business:
You can change the summarization of devices to count. For example, use count if the number of devices
might affect the score that a customer gives.
You can pivot the device column to see if consuming the service on a specific device influences a customer’s
rating.
In this example, the data was pivoted to create new columns for browser, mobile, and tablet (make sure you
delete and re-create your relationships in the modeling view after pivoting your data). You can now use these
specific devices in Explain by . All devices turn out to be influencers, and the browser has the largest effect on
customer score.
More precisely, customers who don't use the browser to consume the service are 3.79 times more likely to give
a low score than the customers who do. Lower down in the list, for mobile the inverse is true. Customers who
use the mobile app are more likely to give a low score than the customers who don’t.

I see a warning that measures weren't included in my analysis. Why is that?

The analysis runs on the table level of the field that's being analyzed. If you analyze customer churn, you might
have a table that tells you whether a customer churned or not. In this case, your analysis runs at the customer
table level.
Measures and aggregates are by default analyzed at the table level. If there were a measure for average monthly
spending, it would be analyzed at the customer table level.
If the customer table doesn't have a unique identifier, you can't evaluate the measure and it's ignored by the
analysis. To avoid this situation, make sure the table with your metric has a unique identifier. In this case, it's the
customer table and the unique identifier is customer ID. It’s also easy to add an index column by using Power
Query.
I see a warning that the metric I'm analyzing has more than 10 unique values and that this
amount might affect the quality of my analysis. Why is that?
The AI visualization can analyze categorical fields and numeric fields. In the case of categorical fields, an example
may be Churn is Yes or No, and Customer Satisfaction is High, Medium, or Low. Increasing the number of
categories to analyze means there are fewer observations per category. This situation makes it harder for the
visualization to find patterns in the data.
When analyzing numeric fields you have a choice between treating the numeric fields like text in which case you
will run the same analysis as you do for categorical data (Categorical Analysis ). If you have lots of distinct
values we recommend you switch the analysis to Continuous Analysis as that means we can infer patterns
from when numbers increase or decrease rather than treating them as distinct values. You can switch from
Categorical Analysis to Continuous Analysis in the Formatting Pane under the Analysis card.
To find stronger influencers, we recommend that you group similar values into a single unit. For example, if you
have a metric for price, you're likely to obtain better results by grouping similar prices into High, Medium, and
Low categories vs. using individual price points.

There are factors in my data that look like they should be key influencers, but they aren't. How can
that happen?
In the following example, customers who are consumers drive low ratings, with 14.93% of ratings that are low.
The administrator role also has a high proportion of low ratings, at 13.42%, but it isn't considered an influencer.
The reason for this determination is that the visualization also considers the number of data points when it finds
influencers. The following example has more than 29,000 consumers and 10 times fewer administrators, about
2,900. Only 390 of them gave a low rating. The visual doesn’t have enough data to determine whether it found a
pattern with administrator ratings or if it’s just a chance finding.
What are the data point limits for key influencers? We run the analysis on a sample of 10,000 data
points. The bubbles on the one side show all the influencers that were found. The column charts and scatterplots
on the other side abide by the sampling strategies for those core visuals.
How do you calculate key influencers for categorical analysis?
Behind the scenes, the AI visualization uses ML.NET to run a logistic regression to calculate the key influencers. A
logistic regression is a statistical model that compares different groups to each other.
If you want to see what drives low ratings, the logistic regression looks at how customers who gave a low score
differ from the customers who gave a high score. If you have multiple categories, such as high, neutral, and low
scores, you look at how the customers who gave a low rating differ from the customers who didn't give a low
rating. In this case, how do the customers who gave a low score differ from the customers who gave a high
rating or a neutral rating?
The logistic regression searches for patterns in the data and looks for how customers who gave a low rating
might differ from the customers who gave a high rating. It might find, for example, that customers with more
support tickets give a higher percentage of low ratings than customers with few or no support tickets.
The logistic regression also considers how many data points are present. For example, if customers who play an
admin role give proportionally more negative scores but there are only a few administrators, this factor isn't
considered influential. This determination is made because there aren't enough data points available to infer a
pattern. A statistical test, known as a Wald test, is used to determine whether a factor is considered an influencer.
The visual uses a p-value of 0.05 to determine the threshold.
How do you calculate key influencers for numeric analysis?
Behind the scenes, the AI visualization uses ML.NET to run a linear regression to calculate the key influencers. A
linear regression is a statistical model that looks at how the outcome of the field you are analyzing changes
based on your explanatory factors.
For example, if we are analyzing house prices, a linear regression will look at the effect that having an excellent
kitchen will have on the house price. Do houses with excellent kitchens generally have lower or higher house
prices compared to houses without excellent kitchens?
The linear regression also considers the number of data points. For example, if houses with tennis courts have
higher prices but we have few houses with a tennis court, this factor is not considered influential. This
determination is made because there aren't enough data points available to infer a pattern. A statistical test,
known as a Wald test, is used to determine whether a factor is considered an influencer. The visual uses a p-
value of 0.05 to determine the threshold.
How do you calculate segments?
Behind the scenes, the AI visualization uses ML.NET to run a decision tree to find interesting subgroups. The
objective of the decision tree is to end up with a subgroup of data points that's relatively high in the metric
you're interested in. This could be customers with low ratings or houses with high prices.
The decision tree takes each explanatory factor and tries to reason which factor gives it the best split. For
example, if you filter the data to include only large enterprise customers, will that separate out customers who
gave a high rating vs. a low rating? Or perhaps is it better to filter the data to include only customers who
commented about security?
After the decision tree does a split, it takes the subgroup of data and determines the next best split for that data.
In this case, the subgroup is customers who commented on security. After each split, it also considers whether it
has enough data points for this group to be representative enough to infer a pattern from or whether it's an
anomaly in the data and not a real segment. Another statistical test is applied to check for the statistical
significance of the split condition with p-value of 0.05.
After the decision tree finishes running, it takes all the splits, such as security comments and large enterprise,
and creates Power BI filters. This combination of filters is packaged up as a segment in the visual.
Why do cer tain factors become influencers or stop being influencers as I move more fields into
the Explain by field?
The visualization evaluates all explanatory factors together. A factor might be an influencer by itself, but when it's
considered with other factors it might not. Suppose you want to analyze what drives a house price to be high,
with bedrooms and house size as explanatory factors:
By itself, more bedrooms might be a driver for house prices to be high.
Including house size in the analysis means you now look at what happens to bedrooms while house size
remains constant.
If house size is fixed at 1,500 square feet, it's unlikely that a continuous increase in the number of bedrooms
will dramatically increase the house price.
Bedrooms might not be as important of a factor as it was before house size was considered.
Sharing your report with a Power BI colleague requires that you both have individual Power BI Pro licenses or
that the report is saved in Premium capacity. See sharing reports.

Next steps
Combo charts in Power BI
Visualization types in Power BI
How Power BI uses ML.NET to identify key influencers
Create smart narrative summaries
9/20/2021 • 5 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Desktop ✔
️ Power BI service
The smart narrative visualization helps you quickly summarize visuals and reports. It provides relevant
innovative insights that you can customize.

Use smart narrative summaries in your reports to address key takeaways, to point out trends, and to edit the
language and format for a specific audience. In PowerPoint, instead of pasting a screenshot of your report's key
takeaways, you can add narratives that are updated with every refresh. Your audience can use the summaries to
understand the data, get to key points faster, and explain the data to others.

Get started
Watch Justyna show you how to use smart narratives, then try it out yourself using the tutorial, below the video.
To follow along with this tutorial, download the sample file of an online-sales scenario.

NOTE
This video might use earlier versions of Power BI Desktop or the Power BI service.

https://www.youtube.com/embed/01UrT-z37sw
In the Visualizations pane, select the Smar t narrative icon to automatically generate a summary.
You see a narrative that's based on all of the visuals on the page. For example, in the sample file, smart
narratives can automatically generate a summary of the report's visuals that address revenue, website visits,
and sales. Power BI automatically analyzes trends to show that revenue and visits have both grown. It even
calculates growth, which in this case is 72 percent.

To generate a smart narrative of a visualization, right-click it and then select Summarize . For example, in the
sample file, try summarizing a scatter chart that shows various transactions. Power BI analyzes the data and
shows which city or region has the highest revenue per transaction and the highest number of transactions. The
smart narrative also shows the expected range of values for these metrics. You see that most cities produce less
than $45 per transaction and have fewer than 10 transactions.
Edit the summary
The smart narrative summary is highly customizable. You can edit or add to the existing text by using the text
box commands. For example, you can make the text bold or change its color.

To customize the summary or add your own insights, use dynamic values. You can map text to existing fields and
measures or use natural language to define a new measure to map to text. For example, to add information
about the number of returned items in the sample file, add a value.
As you type a value name, you can choose from a list of suggestions as you do in a Q&A visual. So, in addition
to asking questions of your data in a Q&A visual, you can now create your own calculations without even using
Data Analysis Expressions (DAX).
You can also format dynamic values. For example, in the sample file, you can show values as currency, specify
decimal places, and choose a separator for thousands.

To format a dynamic value, select the value in the summary to see your editing options on the Review tab. Or in
the text box, next to the value that you want to edit, select the edit button.
You can also use the Review tab to review, delete, or reuse previously defined values. Select the plus sign (+) to
insert the value into the summary. You can also show automatically generated values by turning on the option
at the bottom of the Review tab.
Sometimes a hidden-summary symbol appears in the smart narrative. It indicates that current data and filters
produce no result for the value. A summary is empty when no insights are available. For example, in the sample
file's line chart, a summary of high and low values might be empty when the chart's line is flat. But the summary
might appear under other conditions. Hidden-summary symbols are visible only when you try to edit a
summary.

Visual interactions
A summary is dynamic. It automatically updates the generated text and dynamic values when you cross-filter.
For example, if you select electronics products in the sample file's donut chart, the rest of the report is cross-
filtered, and the summary is also cross-filtered to focus on the electronics products.
In this case, the visits and revenues have different trends, so the summary text is updated to reflect the trends.
The count-of-returns value that we added is updated to $4196. Empty summaries can be updated when you
cross-filter.
You can also do more advanced filtering. For example, in the sample file, look at the visual of trends for multiple
products. If you're interested only in a trend for a certain quarter, then select the relevant data points to update
the summary for that trend.

There is a limit to the number of summaries that can be generated so Smart Narratives picks the most
interesting things to summarize about the visual. Smart Narratives generates upto four summaries per visual
and upto sixteen per page. The summaries that are generated for a page depend on the location and size of
visuals and it avoids generating the same kind of summaries for different visuals. Therefore summarizing just
the visual can generate more summaries that are not present while summarizing the whole page.

Limitations
The smart narrative feature doesn't support the following functionality:
Pinning to a dashboard
Using dynamic values and conditional formatting (for example, data bound title)
Publish to Web
Power BI Report Server
On-premises Analysis Services
Live Connection to Azure Analysis Services or SQL Server Analysis Services
MultiDimensional Analysis Services data sources
Key influencers visual with a categorical metric or unsummarized numerical field as 'Analyze' field from a
table:
that contains more than one primary key
without a primary key, and measures or aggregates as 'Explain by' fields
Map visual with non-aggregated latitude or longitude
Multi-row card with more than three categorical fields
Cards with non-numeric measures
Tables, matrices, R visuals or Python visuals, custom visuals
Summaries of visuals whose columns are grouped by other columns and for visuals that are built on a data
group field
Cross-filtering out of a visual
Renaming dynamic values or editing automatically generated dynamic values
Summaries of visuals that contain on-the-fly calculations like QnA arithmetic, complex measures such as
percentage of grand total and measures from extension schemas.
Calculation groups
Run Python scripts in Power BI Desktop
7/30/2021 • 3 minutes to read • Edit Online

You can run Python scripts directly in Power BI Desktop and import the resulting datasets into a Power BI
Desktop data model.

Install Python
To run Python scripts in Power BI Desktop, you need to install Python on your local machine. You can download
Python from the Python website. The current Python scripting release supports Unicode characters and spaces
in the installation path.
Install required Python packages
The Power BI Python integration requires the installation of two Python packages:
Pandas. A software library for data manipulation and analysis. It offers data structures and operations for
manipulating numerical tables and time series. Your imported data must be in a pandas data frame. A data
frame is a two-dimensional data structure. For example, data is aligned in a tabular fashion in rows and
columns.
Matplotlib. A plotting library for Python and its numerical mathematics extension NumPy. It provides an
object-oriented API for embedding plots into applications using general-purpose GUI toolkits, such as Tkinter,
wxPython, Qt, or GTK+.
In a console or shell, use the pip command-line tool to install the two packages. The pip tool is packaged with
more recent Python versions.

pip install pandas


pip install matplotlib

Enable Python scripting


To enable Python scripting:
1. In Power BI Desktop, select File > Options and settings > Options > Python scripting . The Python
script options page appears.
2. If necessary, specify your local Python installation path in Detected Python home directories .
In the above image, the Python's installation local path is C:\Python. Make sure the path is for the local
Python installation you want Power BI Desktop to use.
3. Select OK .
Once you specify your Python installation, you’re ready to begin running Python scripts in Power BI Desktop.

Run Python scripts


In just a few steps, you can run Python scripts and create a data model. From this model, you can create reports
and share them on the Power BI service.
Prepare a Python script
First, create a script in your local Python development environment and make sure it runs successfully. For
example, here's a simple Python script that imports pandas and uses a data frame:

import pandas as pd
data = [['Alex',10],['Bob',12],['Clarke',13]]
df = pd.DataFrame(data,columns=['Name','Age'],dtype=float)
print (df)

When run, this script returns:


Name Age
0 Alex 10.0
1 Bob 12.0
2 Clarke 13.0

When preparing and running a Python script in Power BI Desktop, there are a few limitations:
Only pandas data frames are imported, so make sure the data you want to import to Power BI is represented
in a data frame
Any Python script that runs longer than 30 minutes times out
Interactive calls in the Python script, such as waiting for user input, halts the script’s execution
When setting the working directory within the Python script, you must define a full path to the working
directory, rather than a relative path
Nested tables are currently not supported
Run your Python script and import data
To run your Python Script in Power BI Desktop:
1. In the Home ribbon, select Get data > Other .
2. Select Other > Python script as shown in the following image:
3. Select Connect . Your local latest installed Python version is selected as your Python engine. Copy your
script into the Python script dialog box that appears. Here, we enter the simple Python script shown
before.
4. Select OK . If the script runs successfully, the Navigator appears and you can load the data and use it. For
the example, select df , as shown in the image, then Load .

Troubleshooting
If Python isn't installed or identified, a warning displays. You can also see a warning if you have multiple local
machine installations. Revisit and review the previous Install Python and Enable Python scripting sections.
Using custom Python distributions
Power BI executes scripts directly by using the python.exe executable from a user-provided directory (provided
through the settings page). Distributions that require an extra step to prepare the environment (for example,
Conda) might encounter an issue where their execution fails.
We recommend using the official Python distribution from https://www.python.org/ to avoid related issues.
As a possible solution, you can start Power BI Desktop from your custom Python environment prompt.
Refresh
You can refresh a Python script in Power BI Desktop. To refresh, go to the Home ribbon and select Refresh .
When you refresh a Python script, Power BI Desktop runs the Python script again.

Known Limitations
Currently you won't be able to use Python scripts in reports created with Enhanced Metadata (Preview)
feature enabled. Existing reports will continue to work. For more information check out Using enhanced dataset
metadata (preview).

Next steps
Take a look at the following additional information about Python in Power BI.
Create Python Visuals in Power BI Desktop
Use an external Python IDE with Power BI
Use Python in Power Query Editor
7/30/2021 • 4 minutes to read • Edit Online

You can use Python , a programming language widely used by statisticians, data scientists, and data analysts, in
the Power BI Desktop Power Quer y Editor . This integration of Python into Power Quer y Editor lets you
perform data cleansing using Python, and perform advanced data shaping and analytics in datasets, including
completion of missing data, predictions, and clustering, just to name a few. Python is a powerful language, and
can be used in Power Quer y Editor to prepare your data model and create reports.

Installing Python
To use Python in Power BI Desktop's Power Quer y Editor , you need to install Python on your local machine.
You can download and install Python for free from many locations, including the Official Python download
page, and the Anaconda.

Using Python in Power Query Editor


To show how to use Python in Power Quer y Editor , take this example from a stock market dataset, based on
a .CSV file that you can download from here and follow along. The steps for this example are the following:
1. First, load your data into Power BI Desktop . In this example, load the EuStockMarkets_NA.csv file and
select Get data > Text/CSV from the Home ribbon in Power BI Desktop .

2. Select the file and select Open , and the CSV is displayed in the CSV file dialog.
3. Once the data is loaded, you'll see it in the Fields pane in Power BI Desktop.

4. Open Power Quer y Editor by selecting Transform data from the Home tab in Power BI Desktop .

5. In the Transform tab, select Run Python Script and the Run Python Script editor appears (shown in
the next step). Notice that rows 15 and 20 suffer from missing data, as do other rows you can't see in the
following image. The steps below show how Python can (and will) complete those rows for you.

6. For this example, enter the following script code:

import pandas as pd
completedData = dataset.fillna(method='backfill', inplace=False)
dataset["completedValues"] = completedData["SMI missing values"]

NOTE
You'll need to have the pandas library installed in your Python environment for the previous script code to work
properly. To install pandas, run the following command in your Python installation: | > pip install pandas

When put into the Run Python Script dialog, the code looks like the following:

7. After selecting OK , Power Quer y Editor displays a warning about data privacy.
8. For the Python scripts to work properly in the Power BI service, all data sources need to be set to public.
For more information about privacy settings and their implications, see Privacy Levels.

Notice a new column in the Fields pane called completedValues. Notice there are a few missing data
elements, such as on row 15 and 18. Take a look at how Python handles that in the next section.
With just five lines of Python script, Power Quer y Editor filled in the missing values with a predictive model.

Creating visuals from Python script data


Now we can create a visual to see how the Python script code using the pandas library completed the missing
values, as shown in the following image:
Once that visual is complete, and any other visuals you might want to create using Power BI Desktop , you can
save the Power BI Desktop file (which saves as a .pbix file) and then use the data model, including the Python
scripts that are part of it, in the Power BI service.

NOTE
Want to see a completed .pbix file with these steps completed? You're in luck - you can download the completed Power
BI Desktop file used in these examples right here.

Once you've uploaded the .pbix file to the Power BI service, a couple more steps are necessary to enable data
refresh (in the service) and to enable visuals to be updated in the service (the data needs access to Python for
visuals to be updated). The additional steps are the following:
Enable scheduled refresh for the dataset - to enable scheduled refresh for the workbook that contains
your dataset with Python scripts, see Configuring scheduled refresh, which also includes information about
Personal Gateway .
Install the Personal Gateway - you need a Personal Gateway installed on the machine where the file is
located, and where Python is installed; the Power BI service must access that workbook and re-render any
updated visuals. You can get more information on how to install and configure Personal Gateway.

Limitations
There are some limitations to queries that include Python scripts created in Power Quer y Editor :
All Python data source settings must be set to Public, and all other steps in a query created in Power
Quer y Editor must also be public. To get to data source settings, in Power BI Desktop select File >
Options and settings > Data source settings .
From the Data Source Settings dialog, select the data source(s) and then select Edit Permissions...
and ensure that the Privacy Level is set to Public.

To enable scheduled refresh of your Python visuals or dataset, you need to enable Scheduled refresh
and have a Personal Gateway installed on the computer that houses the workbook and the Python
installation. For more information on both, see the previous section in this article, which provides links to
learn more about each.
Nested tables (table of tables) are currently not supported
There are all sorts of things you can do with Python and custom queries, so explore and shape your data just the
way you want it to appear.
Use an external Python IDE with Power BI
7/30/2021 • 4 minutes to read • Edit Online

With Power BI Desktop , you can use your external Python IDE (Integrated Development Environment) to
create and refine Python scripts, then use those scripts in Power BI.

Enable an external Python IDE


You can launch your external Python IDE from Power BI Desktop and have your data automatically imported
and displayed in the Python IDE. From there, you can modify the script in that external Python IDE, then paste it
back into Power BI Desktop to create Power BI visuals and reports.
You can specify which Python IDE you would like to use, and have it launch automatically from within Power BI
Desktop .
Requirements
To use this feature, you need to install a Python IDE on your local computer. Power BI Desktop does not
include, deploy, or install the Python engine, so you must separately install Python on your local computer. You
can choose which Python IDE to use, with the following options:
You can install your favorite Python IDE, many of which are available for free, such as the Visual Studio
Code download page.
Power BI Desktop also supports Visual Studio .
You can also install a different Python IDE and have Power BI Desktop launch that Python IDE by
doing one of the following:
You can associate .PY files with the external IDE you want Power BI Desktop to launch.
You can specify the .exe that Power BI Desktop should launch by selecting Other from the
Python Script Options section of the Options dialog. You can bring up the Options dialog by
going to File > Options and settings > Options .

If you have multiple Python IDEs installed, you can specify which will be launched by selecting it from the
Detected Python IDEs drop-down in the Options dialog.
By default, Power BI Desktop will launch Visual Studio Code as the external Python IDE if it's installed on
your local computer; if Visual Studio Code is not installed and you have Visual Studio , that will be launched
instead. If neither of those Python IDEs is installed, the application associated with .PY files is launched.
And if no .PY file association exists, it's possible to specify a path to a custom IDE in the Browse to the Python
IDE you want: section of the Options dialog. You can also launch a different Python IDE by selecting the
Settings gear icon beside the Launch Python IDE arrow icon, in Power BI Desktop .

Launch a Python IDE from Power BI Desktop


To launch a Python IDE from Power BI Desktop , take the following steps:
1. Load data into Power BI Desktop .
2. Select some fields from the Fields pane that you want to work with. If you haven't enabled script visuals
yet, you'll be prompted to do so.

3. When script visuals are enabled, you can select a Python visual from the Visualizations pane, which
creates a blank Python visual that's ready to display the results of your script. The Python script editor
pane also appears.

4. Now you can select the fields you want to use in your Python script. When you select a field, the Python
script editor field automatically creates script code based on the field or fields you select. You can either
create (or paste) your Python script directly in the Python script editor pane, or you can leave it empty.
NOTE
The default aggregation type for Python visuals is do not summarize.

5. You can now launch your Python IDE directly from Power BI Desktop . Select the Launch Python IDE
button, found on the right side of the Python script editor title bar, as shown below.

6. Your specified Python IDE is launched by Power BI Desktop, as shown in the following image (in this
image, Visual Studio Code is the default Python IDE).

NOTE
Power BI Desktop adds the first three lines of the script so it can import your data from Power BI Desktop
once you run the script.

7. Any script you created in the Python script editor pane of Power BI Desktop appears starting in line
4 in your Python IDE. At this point, you can create your Python script in the Python IDE. Once your Python
script is complete in your Python IDE, you need to copy and paste it back into the Python script editor
pane in Power BI Desktop , excluding the first three lines of the script that Power BI Desktop
automatically generated. Do not copy the first three lines of script back into Power BI Desktop , those
lines were only used to import your data to your Python IDE from Power BI Desktop .
Known limitations
Launching a Python IDE directly from Power BI Desktop has a few limitations:
Automatically exporting your script from your Python IDE into Power BI Desktop is not supported.

Next steps
Take a look at the following additional information about Python in Power BI.
Running Python Scripts in Power BI Desktop
Create Power BI visuals using Python
Create Power BI visuals by using Python
7/30/2021 • 5 minutes to read • Edit Online

With Power BI Desktop, you can use Python to visualize your data.

Prerequisites
Work through the Run Python scripts in Power BI Desktop tutorial using the following Python script:

import pandas as pd
df = pd.DataFrame({
'Fname':['Harry','Sally','Paul','Abe','June','Mike','Tom'],
'Age':[21,34,42,18,24,80,22],
'Weight': [180, 130, 200, 140, 176, 142, 210],
'Gender':['M','F','M','M','F','M','M'],
'State':['Washington','Oregon','California','Washington','Nevada','Texas','Nevada'],
'Children':[4,1,2,3,0,2,0],
'Pets':[3,2,2,5,0,1,5]
})
print (df)

The Run Python scripts in Power BI Desktop article shows you how to install Python on your local machine and
enable it for Python scripting in Power BI Desktop. This tutorial uses data from the above script to illustrate
creating Python visuals.

Create Python visuals in Power BI Desktop


1. Select the Python visual icon in the Visualizations pane.

2. In the Enable script visuals dialog box that appears, select Enable .
When you add a Python visual to a report, Power BI Desktop takes the following actions:
A placeholder Python visual image appears on the report canvas.
The Python script editor appears along the bottom of the center pane.
3. Next, drag the Age , Children , Fname , Gender , Pets , State , and Weight fields to the Values section
where it says Add data fields here .

Your Python script can only use fields added to the Values section. You can add or remove fields from the
Values section while working on your Python script. Power BI Desktop automatically detects field
changes.

NOTE
The default aggregation type for Python visuals is do not summarize.

4. Now you can use the data you selected to create a plot.
As you select or remove fields, supporting code in the Python script editor is automatically generated or
removed.
Based on your selections, the Python script editor generates the following binding code.
The editor created a dataset dataframe, with the fields you added.
The default aggregation is: do not summarize.
Similar to table visuals, fields are grouped and duplicate rows appear only once.

TIP
In certain cases, you might not want automatic grouping to occur, or you'll want all rows to appear, including
duplicates. If so, you can add an index field to your dataset that causes all rows to be considered unique and
which prevents grouping.

You can access columns in the dataset using their respective names. For example, you can code
dataset["Age"] in your Python script to access the age field.

5. With the dataframe automatically generated by the fields you selected, you're ready to write a Python
script that results in plotting to the Python default device. When the script is complete, select Run from
the Python script editor title bar.
Power BI Desktop replots the visual if any of the following events occur:
When you select Run from the Python script editor title bar
Whenever a data change occurs, due to data refresh, filtering, or highlighting
When you run a Python script that results in an error, the Python visual isn't plotted and a canvas error
message appears. For error details, select See details from the message.
To get a larger view of the visualizations, you can minimize the Python script editor .
Ok, let's create some visuals.

Create a scatter plot


Let's create a scatter plot to see if there's a correlation between age and weight.
1. Under Paste or type your script code here , enter this code:

import matplotlib.pyplot as plt


dataset.plot(kind='scatter', x='Age', y='Weight', color='red')
plt.show()

Your Python script editor pane should now look like this:
The matplotlib library is imported to plot and create our visuals.
2. When you select the Run script button, the following scatter plot generates in the placeholder Python
visual image.

Create a line plot with multiple columns


Let's create a line plot for each person showing their number of children and pets. Remove or comment the code
under Paste or type your script code here and enter this Python code:

import matplotlib.pyplot as plt


ax = plt.gca()
dataset.plot(kind='line',x='Fname',y='Children',ax=ax)
dataset.plot(kind='line',x='Fname',y='Pets', color='red', ax=ax)
plt.show()

When you select the Run script button, the following line plot with multiple columns generates.

Create a bar plot


Let's create a bar plot for each person's age. Remove or comment the code under Paste or type your script
code here and enter this Python code:
import matplotlib.pyplot as plt
dataset.plot(kind='bar',x='Fname',y='Age')
plt.show()

When you select the Run script button, the following bar plot generates:

Security
IMPORTANT
Python scripts security: Python visuals are created from Python scripts, which could contain code with security or
privacy risks. When attempting to view or interact with an Python visual for the first time, a user is presented with a
security warning message. Only enable Python visuals if you trust the author and source, or after you review and
understand the Python script.

More information about plotting with Matplotlib, Pandas, and Python


This tutorial is designed to help you get started creating visuals with Python in Power BI Desktop. It barely
scratches the surface about the many options and capabilities for creating visual reports using Python, Pandas,
and the Matplotlib library. There's a lot more information out there, and here are a few links to get you started.
Documentation at the Matplotlib website.
Matplotlib Tutorial : A Basic Guide to Use Matplotlib with Python
Matplotlib Tutorial – Python Matplotlib Library with Examples
Pandas API Reference
Python visualizations in Power BI Service
Using Python Visuals in Power BI

Known limitations
Python visuals in Power BI Desktop have a few limitations:
Data size limitations. Data used by the Python visual for plotting is limited to 150,000 rows. If more than
150,000 rows are selected, only the top 150,000 rows are used and a message is displayed on the image.
Additionally, the input data has a limit of 250 MB.
If the input dataset of a Python Visual has a column that contains a string value longer than 32766
characters, that value is truncated.
Resolution. All Python visuals are displayed at 72 DPI.
Calculation time limitation. If a Python visual calculation exceeds five minutes the execution times out which
results in an error.
Relationships. As with other Power BI Desktop visuals, if data fields from different tables with no defined
relationship between them are selected, an error occurs.
Python visuals are refreshed upon data updates, filtering, and highlighting. However, the image itself isn't
interactive and can't be the source of cross-filtering.
Python visuals respond to highlighting other visuals, but you can't click on elements in the Python visual to
cross filter other elements.
Only plots that are plotted to the Python default display device are displayed correctly on the canvas. Avoid
explicitly using a different Python display device.
Python visuals do not support renaming input columns. Columns will be referred to by their original name
during script execution.

Next steps
Take a look at the following additional information about Python in Power BI.
Run Python Scripts in Power BI Desktop
Use an external Python IDE with Power BI
Create visuals by using Python packages in the
Power BI service
4/22/2021 • 2 minutes to read • Edit Online

You can use the powerful Python programming language to create visuals in the Power BI service. Many Python
packages are supported in the Power BI service and more are being supported all the time.
The following sections provide an alphabetical table of which Python packages are supported in Power BI.

Request support for a new Python package


Supported Python packages for the Power BI ser vice are found in the following section, titled Suppor ted
Packages . If you would like to request support of an Python package not found in that list, please submit your
request to Power BI Ideas.

Requirements and Limitations of Python packages


There are a handful of requirements and limitations for Python packages:
Current Python runtime: Python 3.7.7.
The Power BI service, for the most part, supports Python packages with free and open-source software
licenses such as GPL-2, GPL-3, MIT+, and so on.
The Power BI service supports packages published in PyPI. The service does not support private or custom
Python packages. Users are encouraged to make their private packages available on PyPI prior to requesting
the package be available in the Power BI service.
For Python visuals in Power BI Desktop , you can install any package, including custom Python packages.
For security and privacy reasons, Python packages that provide client-server queries over the World-Wide
Web in the service, are not supported. Networking is blocked for such attempts.
The approval process for including a new Python package has a tree of dependencies; some dependencies
required to be installed in the service cannot be supported.

Python packages that are supported in Power BI


The following table shows which packages are suppor ted in the Power BI service.

PA C K A GE VERSIO N L IN K

matplotlib 3.2.1 https://pypi.org/project/matplotlib

numpy 1.18.4 https://pypi.org/project/numpy

pandas 1.0.1 https://pypi.org/project/pandas

scikit-learn 0.23.0 https://pypi.org/project/scikit-learn

scipy 1.4.1 https://pypi.org/project/scipy

seaborn 0.10.1 https://pypi.org/project/seaborn


PA C K A GE VERSIO N L IN K

statsmodels 0.11.1 https://pypi.org/project/statsmodels

xgboost 1.1.0 https://pypi.org/project/xgboost

Next steps
For more information about Python in Power BI, take a look at the following articles:
Create Power BI visuals using Python
Running Python scripts in Power BI Desktop
Using Python in Query Editor
Run R scripts in Power BI Desktop
7/30/2021 • 2 minutes to read • Edit Online

You can run R scripts directly in Power BI Desktop and import the resulting datasets into a Power BI Desktop
data model.

Install R
To run R scripts in Power BI Desktop, you need to install R on your local machine. You can download and install R
for free from many locations, including the Microsoft R Application Network and the CRAN Repository. The
current release supports Unicode characters and spaces (empty characters) in the installation path.

Run R scripts
Using just a few steps in Power BI Desktop, you can run R scripts and create a data model. With the data model,
you can create reports and share them on the Power BI service. R scripting in Power BI Desktop now supports
number formats that contain decimals (.) and commas (,).
Prepare an R script
To run an R script in Power BI Desktop, create the script in your local R development environment, and make
sure it runs successfully.
To run the script in Power BI Desktop, make sure the script runs successfully in a new and unmodified
workspace. This prerequisite means that all packages and dependencies must be explicitly loaded and run. You
can use source() to run dependent scripts.
When you prepare and run an R script in Power BI Desktop, there are a few limitations:
Because only data frames are imported, remember to represent the data you want to import to Power BI in a
data frame.
Columns typed as Complex and Vector aren't imported, and they're replaced with error values in the created
table.
Values that are N/A are translated to NULL values in Power BI Desktop.
If an R script runs longer than 30 minutes, it times out.
Interactive calls in the R script, such as waiting for user input, halts the script’s execution.
When setting the working directory within the R script, you must define a full path to the working directory,
rather than a relative path.
Run your R script and import data
Now you can run your R script to import data into Power BI Desktop:
1. In Power BI Desktop, select Get data , choose Other > R script , and then select Connect :
2. If R is installed on your local machine, just copy your script into the script window and select OK . The
latest installed version is displayed as your R engine.

3. Select OK to run the R Script. When the script runs successfully, you can then choose the resulting data
frames to add to the Power BI model.
You can control which R installation to use to run your script. To specify your R installation settings, choose File
> Options and settings > Options , then select R scripting . Under R script options , the Detected R home
directories dropdown list shows your current R installation choices. If the R installation you want isn't listed,
pick Other , and then browse to or enter your preferred R installation folder in Set an R home director y .
Refresh
You can refresh an R script in Power BI Desktop. When you refresh an R script, Power BI Desktop runs the R
script again in the Power BI Desktop environment.

Next steps
Take a look at the following additional information about R in Power BI.
Create Power BI visuals using R
Use an external R IDE with Power BI
Use R in Power Query Editor
7/30/2021 • 4 minutes to read • Edit Online

The R language is a powerful programming language that many statisticians, data scientists, and data analysts
use. You can use R in Power BI Desktop's Power Query Editor to:
Prepare data models.
Create reports.
Do data cleansing, advanced data shaping, and dataset analytics, which include missing data completion,
predictions, clustering, and more.

Install R
You can download R for free from the Revolution R Open download page and the CRAN Repository.

Install mice
As a prerequisite, you must install the mice library in your R environment. Without mice, the sample script code
won't work properly. The mice package implements a method to deal with missing data.
To install the mice library:
1. Launch the R.exe program (for example, C:\Program Files\Microsoft\R Open\R-3.5.3\bin\R.exe).
2. Run the install command from the R prompt:

install.packages('mice')

Use R in Power Query Editor


To demonstrate using R in Power Query Editor, we'll use an example stock market dataset contained in a .csv file
and work through the following steps:
1. Download the EuStockMarkets_NA.csv file. Remember where you save it.
2. Load the file into Power BI Desktop. From the Home tab, select Get data > Text/CSV .
3. Select the EuStockMarkets_NA.csv file, and then choose Open . The CSV data is displayed in the Text/CSV
file dialog box.

4. Select Load to load the data from the file. After Power BI has loaded the data, the new table appears in
the Fields pane.
5. To open Power Query Editor, from the Home ribbon select Transform data .

6. From the Transform tab, select Run R script . The Run R script editor appears. Rows 15 and 20 have
missing data, as do other rows you can't see in the image. The following steps show how R completes
those rows for you.

7. For this example, enter the following script code in the Script box of the Run R script window. Replace
<Your File Path> with the path to EuStockMarkets_NA.csv on your local file system, for example,
C:/Users/John Doe/Documents/Microsoft/EuStockMarkets_NA.csv.
dataset <- read.csv(file="<Your File Path>/EuStockMarkets_NA.csv", header=TRUE, sep=",")
library(mice)
tempData <- mice(dataset,m=1,maxit=50,meth='pmm',seed=100)
completedData <- complete(tempData,1)
output <- dataset
output$completedValues <- completedData$"SMI missing values"

NOTE
You might need to overwrite a variable named output to properly create the new dataset with the filters applied.

8. Select OK . Power Query Editor displays a warning about data privacy.

9. Inside the warning message, select Continue . In the Privacy levels dialog box that appears, set all data
sources to Public for the R scripts to work properly in the Power BI service.

For more information about privacy settings and their implications, see Power BI Desktop privacy levels.
10. Select Save to run the script.
Notice a new column in the Fields pane called completedValues . This column has a few missing data
elements, such as on row 15 and 18. Take a look at how R handles that in the next section.
With just five lines of R script, Power Query Editor filled in the missing values with a predictive model.

Create visuals from R script data


We can now create a visual to see how the R script code with the mice library completes the missing values.
You can save all completed visuals in one Power BI Desktop .pbix file and use the data model and its R scripts in
the Power BI service.

NOTE
You can download a .pbix file with all these steps completed.

After you've uploaded the .pbix file to the Power BI service, you need to take additional steps to enable service
data refresh and updated visuals:
Enable scheduled refresh for the dataset : To enable scheduled refresh for the workbook containing
your dataset with R scripts, see Configuring scheduled refresh. This article also includes information
about personal gateways.
Install a personal gateway : You need a personal gateway installed on the machine where the file and R
are located. The Power BI service accesses that workbook and re-renders any updated visuals. For more
information, see Use personal gateways in Power BI.

Limitations
There are some limitations to queries that include R scripts created in Power Query Editor:
All R data source settings must be set to Public . All other steps in a Power Query Editor query must also
be public.
To get to the data source settings, in Power BI Desktop, select File > Options and settings > Data
source settings .
In the Data source settings dialog box, select one or more data sources, and then select Edit
Permissions . Set the Privacy Level to Public .

To schedule refresh of your R visuals or dataset, enable scheduled refresh and install a personal gateway
on the computer containing the workbook and R.
There are all sorts of things you can do with R and custom queries. Explore and shape your data just the way
you want it to appear.

Next Steps
Introduction to R
Run R scripts in Power BI Desktop
Use an external R IDE with Power BI
Create visuals by using R packages in the Power BI service
Use an external R IDE with Power BI
7/30/2021 • 4 minutes to read • Edit Online

With Power BI Desktop , you can use your external R IDE (Integrated Development Environment) to create and
refine R scripts, then use those scripts in Power BI.

Enable an external R IDE


Launch your external R IDE from Power BI Desktop and have your data automatically imported and displayed
in the R IDE. From there, you can modify the script in that external R IDE, then paste it back into Power BI
Desktop to create Power BI visuals and reports. Specify which R IDE you would like to use, and have it launch
automatically from within Power BI Desktop .
Requirements
To use this feature, you need to install an R IDE on your local computer. Power BI Desktop does not include,
deploy, or install the R engine, so you must separately install R on your local computer. You can choose which R
IDE to use, with the following options:
You can install your favorite R IDE, many of which are available for free, such as the Revolution Open
download page, and the CRAN Repository.
Power BI Desktop also supports R Studio and Visual Studio 2015 with R Tools for Visual Studio
editors.
You can also install a different R IDE and have Power BI Desktop launch that R IDE by doing one of the
following:
You can associate .R files with the external IDE you want Power BI Desktop to launch.
You can specify the .exe that Power BI Desktop should launch by selecting Other from the R
Script Options section of the Options dialog. You can bring up the Options dialog by going to
File > Options and settings > Options .

If you have multiple R IDEs installed, you can specify which will be launched by selecting it from the Detected R
IDEs drop-down in the Options dialog.
By default, Power BI Desktop will launch R Studio as the external R IDE if it's installed on your local computer;
if R Studio is not installed and you have Visual Studio 2015 with R Tools for Visual Studio , that will be
launched instead. If neither of those R IDEs is installed, the application associated with .R files is launched.
And if no .R file association exists, it's possible to specify a path to a custom IDE in the Browse to your preferred
R IDE section of the Options dialog. You can also launch a different R IDE by selecting the Settings gear icon
beside the Edit script in external IDE arrow icon, in Power BI Desktop .

Launch an R IDE from Power BI Desktop


To launch an R IDE from Power BI Desktop , take the following steps:
1. Load data into Power BI Desktop .
2. Select some fields from the Fields pane that you want to work with. If you haven't enabled script visuals
yet, you'll be prompted to do so.
3. When script visuals are enabled, you can select an R visual from the Visualizations pane, which creates
a blank R visual that's ready to display the results of your script. The R script editor pane also appears.

4. Now you can select the fields you want to use in your R script. When you select a field, the R script
editor field automatically creates script code based on the field or fields you select. You can either create
(or paste) your R script directly in the R script editor pane, or you can leave it empty.
NOTE
The default aggregation type for R visuals is do not summarize.

5. You can now launch your R IDE directly from Power BI Desktop . Select the Edit script in external IDE
button, found on the right side of the R script editor title bar, as shown below.

6. Your specified R IDE is launched by Power BI Desktop, as shown in the following image (in this image,
RStudio is the default R IDE).

NOTE
Power BI Desktop adds the first three lines of the script so it can import your data from Power BI Desktop
once you run the script.

7. Any script you created in the R script editor pane of Power BI Desktop appears starting in line 4 in
your R IDE. At this point, you can create your R script in the R IDE. Once your R script is complete in your
R IDE, you need to copy and paste it back into the R script editor pane in Power BI Desktop , excluding
the first three lines of the script that Power BI Desktop automatically generated. Do not copy the first
three lines of script back into Power BI Desktop , those lines were only used to import your data to your
R IDE from Power BI Desktop .
Known limitations
Launching an R IDE directly from Power BI Desktop has a few limitations:
Automatically exporting your script from your R IDE into Power BI Desktop is not supported.
R Client editor (RGui.exe) is not supported, because the editor itself does not support opening files.

Next steps
Take a look at the following additional information about R in Power BI.
Running R Scripts in Power BI Desktop
Create Power BI visuals using R
Create visuals by using R packages in the Power BI
service
7/30/2021 • 16 minutes to read • Edit Online

You can use the powerful R programming language to create visuals in the Power BI service. Many R packages
are supported in the Power BI service (and more are being supported all the time), and some packages are not.
The following sections provide an alphabetical table of which R packages are supported in Power BI, and which
are not. For more information about R in Power BI, see the R visuals article.

Request support for a new R package


Supported R packages for the Power BI ser vice are found in the following section, titled Suppor ted
Packages . If you would like to request support of an R package not found in that list, please submit your
request to Power BI Ideas.

Requirements and Limitations of R packages


There are a handful of requirements and limitations for R packages:
Current R runtime: Microsoft R 3.4.4
The Power BI service, for the most part, supports R packages with free and open-source software licenses
such as GPL-2, GPL-3, MIT+, and so on.
The Power BI service supports packages published in CRAN. The service does not support private or
custom R packages. Users are encouraged to make their private packages available on CRAN prior to
requesting the package be available in the Power BI service.
The Power BI Desktop has two variations for R packages:
For R visuals, you can install any package, including custom R packages
For Custom R visuals, only public CRAN packages are supported for auto-installation of the packages
For security and privacy reasons, R packages that provide client-server queries over the World-Wide Web
(such as RgoogleMaps) in the service, are not supported. Networking is blocked for such attempts. See
the following section for a list of supported and unsupported R packages.
The approval process for including a new R package has a tree of dependencies; some dependencies
required to be installed in the service cannot be supported.

R packages that are supported in Power BI


The following table shows which packages are suppor ted in the Power BI service.

PA C K A GE VERSIO N L IN K

abc 2.1 https://cran.r-


project.org/web/packages/abc/index.ht
ml
PA C K A GE VERSIO N L IN K

abc.data 1.0 https://cran.r-


project.org/web/packages/abc.data/ind
ex.html

abind 1.4-5 https://cran.r-


project.org/web/packages/abind/index.
html

acepack 1.4.1 https://cran.r-


project.org/web/packages/acepack/ind
ex.html

actuar 2.3-1 https://cran.r-


project.org/web/packages/actuar/index
.html

ade4 1.7-10 https://cran.r-


project.org/web/packages/ade4/index.
html

AdMit 2.1.3 https://cran.r-


project.org/web/packages/AdMit/index
.html

AER 1.2-5 https://cran.r-


project.org/web/packages/AER/index.ht
ml

agricolae 1.3-1 https://cran.r-


project.org/web/packages/agricolae/in
dex.html

AlgDesign 1.1-7.3 https://cran.r-


project.org/web/packages/AlgDesign/i
ndex.html

alluvial 0.1-2 https://cran.r-


project.org/web/packages/alluvial/inde
x.html

andrews 1.0 https://cran.r-


project.org/web/packages/andrews/ind
ex.html

anomalize 0.1.1 https://cran.r-


project.org/web/packages/anomalize/in
dex.html

anytime 0.3.3 https://cran.r-


project.org/web/packages/anytime/ind
ex.html

aod 1.3 https://cran.r-


project.org/web/packages/aod/index.ht
ml
PA C K A GE VERSIO N L IN K

apcluster 1.4.5 https://cran.r-


project.org/web/packages/apcluster/in
dex.html

ape 5.0 https://cran.r-


project.org/web/packages/ape/index.ht
ml

aplpack 1.3.0 https://cran.r-


project.org/web/packages/aplpack/inde
x.html

approximator 1.2-6 https://cran.r-


project.org/web/packages/approximato
r/index.html

arm 1.9-3 https://cran.r-


project.org/web/packages/arm/index.ht
ml

arules 1.6-0 https://cran.r-


project.org/web/packages/arules/index.
html

arulesViz 1.3-0 https://cran.r-


project.org/web/packages/arulesViz/in
dex.html

ash 1.0-15 https://cran.r-


project.org/web/packages/ash/index.ht
ml

assertthat 0.2.0 https://cran.r-


project.org/web/packages/assertthat/in
dex.html

autocogs 0.1.2 https://cran.r-


project.org/web/packages/autocogs/in
dex.html

AzureML 0.2.14 https://cran.r-


project.org/web/packages/AzureML/in
dex.html

BaBooN 0.2-0 https://cran.r-


project.org/web/packages/BaBooN/ind
ex.html

BACCO 2.0-9 https://cran.r-


project.org/web/packages/BACCO/inde
x.html

backports 1.1.2 https://cran.r-


project.org/web/packages/backports/in
dex.html
PA C K A GE VERSIO N L IN K

BaM 1.0.1 https://cran.r-


project.org/web/packages/BaM/index.h
tml

BAS 1.4.9 https://cran.r-


project.org/web/packages/BAS/index.ht
ml

base 3.4.4 NA

base2grob 0.0.2 https://cran.r-


project.org/web/packages/base2grob/i
ndex.html

base64 2.0 https://cran.r-


project.org/web/packages/base64/inde
x.html

base64enc 0.1-3 https://cran.r-


project.org/web/packages/base64enc/i
ndex.html

BayesDA 2012.04-1 https://cran.r-


project.org/web/packages/BayesDA/in
dex.html

BayesFactor 0.9.12-2 https://cran.r-


project.org/web/packages/BayesFactor/
index.html

bayesGARCH 2.1.3 https://cran.r-


project.org/web/packages/bayesGARC
H/index.html

bayesm 3.1-0.1 https://cran.r-


project.org/web/packages/bayesm/ind
ex.html

bayesmix 0.7-4 https://cran.r-


project.org/web/packages/bayesmix/in
dex.html

bayesplot 1.5.0 https://cran.r-


project.org/web/packages/bayesplot/in
dex.html

bayesQR 2.3 https://cran.r-


project.org/web/packages/bayesQR/in
dex.html

bayesSurv 3.2 https://cran.r-


project.org/web/packages/bayesSurv/i
ndex.html
PA C K A GE VERSIO N L IN K

Bayesthresh 2.0.1 https://cran.r-


project.org/web/packages/Bayesthresh
/index.html

BayesTree 0.3-1.4 https://cran.r-


project.org/web/packages/BayesTree/in
dex.html

BayesValidate 0.0 https://cran.r-


project.org/web/packages/BayesValidat
e/index.html

BayesX 0.2-9 https://cran.r-


project.org/web/packages/BayesX/inde
x.html

BayHaz 0.1-3 https://cran.r-


project.org/web/packages/BayHaz/inde
x.html

bbemkr 2.0 https://cran.r-


project.org/web/packages/bbemkr/ind
ex.html

BCBCSF 1.0-1 https://cran.r-


project.org/web/packages/BCBCSF/ind
ex.html

BCE 2.1 https://cran.r-


project.org/web/packages/BCE/index.ht
ml

bclust 1.5 https://cran.r-


project.org/web/packages/bclust/index.
html

bcp 4.0.0 https://cran.r-


project.org/web/packages/bcp/index.ht
ml

BDgraph 2.45 https://cran.r-


project.org/web/packages/BDgraph/in
dex.html

beanplot 1.2 https://cran.r-


project.org/web/packages/beanplot/in
dex.html

beeswarm 0.2.3 https://cran.r-


project.org/web/packages/beeswarm/i
ndex.html

benford.analysis 0.1.4.1 https://cran.r-


project.org/web/packages/benford.anal
ysis/index.html
PA C K A GE VERSIO N L IN K

BenfordTests 1.2.0 https://cran.r-


project.org/web/packages/BenfordTests
/index.html

bfp 0.0-38 https://cran.r-


project.org/web/packages/bfp/index.ht
ml

BH 1.66.0-1 https://cran.r-
project.org/web/packages/BH/index.ht
ml

biglm 0.9-1 https://cran.r-


project.org/web/packages/biglm/index.
html

bindr 0.1.1 https://cran.r-


project.org/web/packages/bindr/index.
html

bindrcpp 0.2.2 https://cran.r-


project.org/web/packages/bindrcpp/in
dex.html

binom 1.1-1 https://cran.r-


project.org/web/packages/binom/index
.html

bisoreg 1.4 https://cran.r-


project.org/web/packages/bisoreg/inde
x.html

bit 1.1-12 https://cran.r-


project.org/web/packages/bit/index.ht
ml

bit64 0.9-7 https://cran.r-


project.org/web/packages/bit64/index.
html

bitops 1.0-6 https://cran.r-


project.org/web/packages/bitops/index
.html

bizdays 1.0.6 https://cran.r-


project.org/web/packages/bizdays/inde
x.html

blme 1.0-4 https://cran.r-


project.org/web/packages/blme/index.
html

blob 1.1.1 https://cran.r-


project.org/web/packages/blob/index.h
tml
PA C K A GE VERSIO N L IN K

BLR 1.4 https://cran.r-


project.org/web/packages/BLR/index.ht
ml

BMA 3.18.8 https://cran.r-


project.org/web/packages/BMA/index.
html

Bmix 0.6 https://cran.r-


project.org/web/packages/Bmix/index.h
tml

bmp 0.3 https://cran.r-


project.org/web/packages/bmp/index.h
tml

BMS 0.3.4 https://cran.r-


project.org/web/packages/BMS/index.h
tml

bnlearn 4.3 https://cran.r-


project.org/web/packages/bnlearn/inde
x.html

boa 1.1.8-2 https://cran.r-


project.org/web/packages/boa/index.ht
ml

bomrang 0.1.4 https://cran.r-


project.org/web/packages/bomrang/in
dex.html

boot 1.3-20 https://cran.r-


project.org/web/packages/boot/index.h
tml

bootstrap 2017.2 https://cran.r-


project.org/web/packages/bootstrap/in
dex.html

Boruta 5.3.0 https://cran.r-


project.org/web/packages/Boruta/inde
x.html

bqtl 1.0-32 https://cran.r-


project.org/web/packages/bqtl/index.ht
ml

BradleyTerry2 1.0-8 https://cran.r-


project.org/web/packages/BradleyTerry
2/index.html

brew 1.0-6 https://cran.r-


project.org/web/packages/brew/index.
html
PA C K A GE VERSIO N L IN K

brglm 0.6.1 https://cran.r-


project.org/web/packages/brglm/index.
html

broom 0.4.4 https://cran.r-


project.org/web/packages/broom/inde
x.html

bspec 1.5 https://cran.r-


project.org/web/packages/bspec/index.
html

bspmma 0.1-1 https://cran.r-


project.org/web/packages/bspmma/ind
ex.html

bupaR 0.4.4 https://cran.r-


project.org/web/packages/bupaR/index
.html

BVS 4.12.1 https://cran.r-


project.org/web/packages/BVS/index.ht
ml

C50 0.1.1 https://cran.r-


project.org/web/packages/C50/index.h
tml

Cairo 1.5-9 https://cran.r-


project.org/web/packages/Cairo/index.
html

cairoDevice 2.24 https://cran.r-


project.org/web/packages/cairoDevice/i
ndex.html

calibrate 1.7.2 https://cran.r-


project.org/web/packages/calibrate/ind
ex.html

calibrator 1.2-6 https://cran.r-


project.org/web/packages/calibrator/in
dex.html

callr 2.0.2 https://cran.r-


project.org/web/packages/callr/index.ht
ml

car 2.1-6 https://cran.r-


project.org/web/packages/car/index.ht
ml

carData 3.0-1 https://cran.r-


project.org/web/packages/carData/ind
ex.html
PA C K A GE VERSIO N L IN K

caret 6.0-78 https://cran.r-


project.org/web/packages/caret/index.
html

catnet 1.15.3 https://cran.r-


project.org/web/packages/catnet/index
.html

caTools 1.17.1 https://cran.r-


project.org/web/packages/caTools/inde
x.html

cclust 0.6-21 https://cran.r-


project.org/web/packages/cclust/index.
html

cellranger 1.1.0 https://cran.r-


project.org/web/packages/cellranger/in
dex.html

ChainLadder 0.2.5 https://cran.r-


project.org/web/packages/ChainLadder
/index.html

checkmate 1.8.5 https://cran.r-


project.org/web/packages/checkmate/i
ndex.html

checkpoint 0.4.3 https://cran.r-


project.org/web/packages/checkpoint/i
ndex.html

choroplethrMaps 1.0.1 https://cran.r-


project.org/web/packages/choroplethr
Maps/index.html

chron 2.3-52 https://cran.r-


project.org/web/packages/chron/index.
html

circlize 0.4.3 https://cran.r-


project.org/web/packages/circlize/index
.html

Ckmeans.1d.dp 4.2.1 https://cran.r-


project.org/web/packages/Ckmeans.1d
.dp/index.html

class 7.3-14 https://cran.r-


project.org/web/packages/class/index.h
tml

classInt 0.1-24 https://cran.r-


project.org/web/packages/classInt/inde
x.html
PA C K A GE VERSIO N L IN K

cli 1.0.0 https://cran.r-


project.org/web/packages/cli/index.htm
l

ClickClust 1.1.5 https://cran.r-


project.org/web/packages/ClickClust/in
dex.html

clickstream 1.3.0 https://cran.r-


project.org/web/packages/clickstream/i
ndex.html

clue 0.3-54 https://cran.r-


project.org/web/packages/clue/index.ht
ml

cluster 2.0.6 https://cran.r-


project.org/web/packages/cluster/index
.html

clv 0.3-2.1 https://cran.r-


project.org/web/packages/clv/index.ht
ml

cmprsk 2.2-7 https://cran.r-


project.org/web/packages/cmprsk/inde
x.html

coda 0.19-1 https://cran.r-


project.org/web/packages/coda/index.h
tml

codetools 0.2-15 https://cran.r-


project.org/web/packages/codetools/in
dex.html

coefplot 1.2.6 https://cran.r-


project.org/web/packages/coefplot/ind
ex.html

coin 1.2-2 https://cran.r-


project.org/web/packages/coin/index.h
tml

collapsibleTree 0.1.6 https://cran.r-


project.org/web/packages/collapsibleTr
ee/index.html

colorRamps 2.3 https://cran.r-


project.org/web/packages/colorRamps/
index.html

colorspace 1.3-2 https://cran.r-


project.org/web/packages/colorspace/i
ndex.html
PA C K A GE VERSIO N L IN K

combinat 0.0-8 https://cran.r-


project.org/web/packages/combinat/in
dex.html

commonmark 1.4 https://cran.r-


project.org/web/packages/commonma
rk/index.html

compiler 3.4.4 NA

compositions 1.40-1 https://cran.r-


project.org/web/packages/composition
s/index.html

CORElearn 1.52.0 https://cran.r-


project.org/web/packages/CORElearn/i
ndex.html

corpcor 1.6.9 https://cran.r-


project.org/web/packages/corpcor/inde
x.html

corrgram 1.12 https://cran.r-


project.org/web/packages/corrgram/in
dex.html

corrplot 0.84 https://cran.r-


project.org/web/packages/corrplot/ind
ex.html

covr 3.0.1 https://cran.r-


project.org/web/packages/covr/index.h
tml

cowplot 0.9.2 https://cran.r-


project.org/web/packages/cowplot/ind
ex.html

cplm 0.7-5 https://cran.r-


project.org/web/packages/cplm/index.h
tml

crayon 1.3.4 https://cran.r-


project.org/web/packages/crayon/inde
x.html

crosstalk 1.0.0 https://cran.r-


project.org/web/packages/crosstalk/ind
ex.html

cslogistic 0.1-3 https://cran.r-


project.org/web/packages/cslogistic/in
dex.html
PA C K A GE VERSIO N L IN K

cts 1.0-21 https://cran.r-


project.org/web/packages/cts/index.ht
ml

ctv 0.8-4 https://cran.r-


project.org/web/packages/ctv/index.ht
ml

cubature 1.3-11 https://cran.r-


project.org/web/packages/cubature/in
dex.html

Cubist 0.2.1 https://cran.r-


project.org/web/packages/Cubist/index
.html

curl 3.2 https://cran.r-


project.org/web/packages/curl/index.ht
ml

CVST 0.2-1 https://cran.r-


project.org/web/packages/CVST/index.
html

cvTools 0.3.2 https://cran.r-


project.org/web/packages/cvTools/inde
x.html

d3Network 0.5.2.1 https://cran.r-


project.org/web/packages/d3Network/i
ndex.html

d3r 0.8.0 https://cran.r-


project.org/web/packages/d3r/index.ht
ml

data.table 1.10.4-3 https://cran.r-


project.org/web/packages/data.table/in
dex.html

data.tree 0.7.5 https://cran.r-


project.org/web/packages/data.tree/in
dex.html

datasets 3.4.4 NA

date 1.2-38 https://cran.r-


project.org/web/packages/date/index.h
tml

DBI 0.8 https://cran.r-


project.org/web/packages/DBI/index.ht
ml
PA C K A GE VERSIO N L IN K

dbplyr 1.2.1 https://cran.r-


project.org/web/packages/dbplyr/index
.html

dbscan 1.1-1 https://cran.r-


project.org/web/packages/dbscan/inde
x.html

dclone 2.2-0 https://cran.r-


project.org/web/packages/dclone/index
.html

ddalpha 1.3.1.1 https://cran.r-


project.org/web/packages/ddalpha/ind
ex.html

deal 1.2-37 https://cran.r-


project.org/web/packages/deal/index.h
tml

debugme 1.1.0 https://cran.r-


project.org/web/packages/debugme/in
dex.html

deepnet 0.2 https://cran.r-


project.org/web/packages/deepnet/ind
ex.html

deldir 0.1-14 https://cran.r-


project.org/web/packages/deldir/index.
html

dendextend 1.12.0 https://cran.r-


project.org/web/packages/dendextend/
index.html

DEoptimR 1.0-8 https://cran.r-


project.org/web/packages/DEoptimR/in
dex.html

deployrRserve 9.0.0 NA

Deriv 3.8.4 https://cran.r-


project.org/web/packages/Deriv/index.
html

desc 1.1.1 https://cran.r-


project.org/web/packages/desc/index.h
tml

descr 1.1.4 https://cran.r-


project.org/web/packages/descr/index.
html
PA C K A GE VERSIO N L IN K

deSolve 1.20 https://cran.r-


project.org/web/packages/deSolve/ind
ex.html

devtools 1.13.5 https://cran.r-


project.org/web/packages/devtools/ind
ex.html

DiagrammeR 1.0.0 https://cran.r-


project.org/web/packages/Diagramme
R/index.html

DiagrammeRsvg 0.1 https://cran.r-


project.org/web/packages/Diagramme
Rsvg/index.html

dichromat 2.0-0 https://cran.r-


project.org/web/packages/dichromat/i
ndex.html

digest 0.6.15 https://cran.r-


project.org/web/packages/digest/index.
html

dimRed 0.1.0 https://cran.r-


project.org/web/packages/dimRed/inde
x.html

diptest 0.75-7 https://cran.r-


project.org/web/packages/diptest/inde
x.html

DistributionUtils 0.6-0 https://cran.r-


project.org/web/packages/Distribution
Utils/index.html

distrom 1.0 https://cran.r-


project.org/web/packages/distrom/ind
ex.html

dlm 1.1-4 https://cran.r-


project.org/web/packages/dlm/index.ht
ml

DMwR 0.4.1 https://cran.r-


project.org/web/packages/DMwR/inde
x.html

doBy 4.6-1 https://cran.r-


project.org/web/packages/doBy/index.
html

doParallel 1.0.12 https://cran.r-


project.org/web/packages/doParallel/in
dex.html
PA C K A GE VERSIO N L IN K

doSNOW 1.0.16 https://cran.r-


project.org/web/packages/doSNOW/in
dex.html

dotCall64 0.9-5.2 https://cran.r-


project.org/web/packages/dotCall64/in
dex.html

downloader 0.4 https://cran.r-


project.org/web/packages/downloader/
index.html

dplyr 0.8.0.1 https://cran.r-


project.org/web/packages/dplyr/index.
html

DPpackage 1.1-7.4 https://cran.r-


project.org/web/packages/DPpackage/i
ndex.html

DRR 0.0.3 https://cran.r-


project.org/web/packages/DRR/index.h
tml

dse 2015.12-1 https://cran.r-


project.org/web/packages/dse/index.ht
ml

DT 0.4 https://cran.r-
project.org/web/packages/DT/index.ht
ml

dtt 0.1-2 https://cran.r-


project.org/web/packages/dtt/index.ht
ml

dtw 1.18-1 https://cran.r-


project.org/web/packages/dtw/index.ht
ml

dygraphs 1.1.1.4 https://cran.r-


project.org/web/packages/dygraphs/in
dex.html

dynlm 0.3-5 https://cran.r-


project.org/web/packages/dynlm/index
.html

e1071 1.6-8 https://cran.r-


project.org/web/packages/e1071/index
.html

earth 4.6.2 https://cran.r-


project.org/web/packages/earth/index.
html
PA C K A GE VERSIO N L IN K

EbayesThresh 1.4-12 https://cran.r-


project.org/web/packages/EbayesThres
h/index.html

ebdbNet 1.2.5 https://cran.r-


project.org/web/packages/ebdbNet/ind
ex.html

ecm 4.4.0 https://cran.r-


project.org/web/packages/ecm/index.h
tml

edeaR 0.8.0 https://cran.r-


project.org/web/packages/edeaR/index.
html

effects 4.0-1 https://cran.r-


project.org/web/packages/effects/index
.html

ellipse 0.4.1 https://cran.r-


project.org/web/packages/ellipse/index.
html

ellipsis 0.1.0 https://cran.r-


project.org/web/packages/ellipsis/index
.html

emmeans 1.1.2 https://cran.r-


project.org/web/packages/emmeans/in
dex.html

emulator 1.2-15 https://cran.r-


project.org/web/packages/emulator/in
dex.html

energy 1.7-2 https://cran.r-


project.org/web/packages/energy/inde
x.html

english 1.2-3 https://cran.r-


project.org/web/packages/english/inde
x.html

ensembleBMA 5.1.5 https://cran.r-


project.org/web/packages/ensembleB
MA/index.html

entropy 1.2.1 https://cran.r-


project.org/web/packages/entropy/ind
ex.html

epitools 0.5-10.1 https://cran.r-


project.org/web/packages/epitools/ind
ex.html
PA C K A GE VERSIO N L IN K

epitrix 0.2.2 https://cran.r-


project.org/web/packages/epitrix/index.
html

estimability 1.3 https://cran.r-


project.org/web/packages/estimability/i
ndex.html

eulerr 5.1.0 https://cran.r-


project.org/web/packages/eulerr/index.
html

EvalEst 2015.4-2 https://cran.r-


project.org/web/packages/EvalEst/inde
x.html

evaluate 0.10.1 https://cran.r-


project.org/web/packages/evaluate/ind
ex.html

evd 2.3-2 https://cran.r-


project.org/web/packages/evd/index.ht
ml

evdbayes 1.1-1 https://cran.r-


project.org/web/packages/evdbayes/in
dex.html

eventdataR 0.2.0 https://cran.r-


project.org/web/packages/eventdataR/i
ndex.html

exactLoglinTest 1.4.2 https://cran.r-


project.org/web/packages/exactLoglinT
est/index.html

exactRankTests 0.8-29 https://cran.r-


project.org/web/packages/exactRankTe
sts/index.html

expint 0.1-4 https://cran.r-


project.org/web/packages/expint/index.
html

expm 0.999-2 https://cran.r-


project.org/web/packages/expm/index.
html

extraDistr 1.8.8 https://cran.r-


project.org/web/packages/extraDistr/in
dex.html

extrafont 0.17 https://cran.r-


project.org/web/packages/extrafont/in
dex.html
PA C K A GE VERSIO N L IN K

extrafontdb 1.0 https://cran.r-


project.org/web/packages/extrafontdb/
index.html

extremevalues 2.3.2 https://cran.r-


project.org/web/packages/extremevalu
es/index.html

ez 4.4-0 https://cran.r-
project.org/web/packages/ez/index.ht
ml

factoextra 1.0.5 https://cran.r-


project.org/web/packages/factoextra/in
dex.html

FactoMineR 1.40 https://cran.r-


project.org/web/packages/FactoMineR/
index.html

factorQR 0.1-4 https://cran.r-


project.org/web/packages/factorQR/in
dex.html

fansi 0.4.0 https://cran.r-


project.org/web/packages/fansi/index.h
tml

faoutlier 0.7.2 https://cran.r-


project.org/web/packages/faoutlier/ind
ex.html

farver 1.1.0 https://cran.r-


project.org/web/packages/farver/index.
html

fastICA 1.2-1 https://cran.r-


project.org/web/packages/fastICA/inde
x.html

fastmatch 1.1-0 https://cran.r-


project.org/web/packages/fastmatch/in
dex.html

fBasics 3042.89 https://cran.r-


project.org/web/packages/fBasics/index
.html

fdrtool 1.2.15 https://cran.r-


project.org/web/packages/fdrtool/inde
x.html

fGarch 3042.83.1 https://cran.r-


project.org/web/packages/fGarch/index
.html
PA C K A GE VERSIO N L IN K

fields 9.6 https://cran.r-


project.org/web/packages/fields/index.
html

filehash 2.4-1 https://cran.r-


project.org/web/packages/filehash/inde
x.html

FinCal 0.6.3 https://cran.r-


project.org/web/packages/FinCal/index.
html

fitdistrplus 1.0-9 https://cran.r-


project.org/web/packages/fitdistrplus/i
ndex.html

flashClust 1.01-2 https://cran.r-


project.org/web/packages/flashClust/in
dex.html

flexclust 1.3-5 https://cran.r-


project.org/web/packages/flexclust/ind
ex.html

flexmix 2.3-14 https://cran.r-


project.org/web/packages/flexmix/inde
x.html

FME 1.3.5 https://cran.r-


project.org/web/packages/FME/index.h
tml

fmsb 0.6.1 https://cran.r-


project.org/web/packages/fmsb/index.
html

FNN 1.1 https://cran.r-


project.org/web/packages/FNN/index.h
tml

fontBitstreamVera 0.1.1 https://cran.r-


project.org/web/packages/fontBitstrea
mVera/index.html

fontLiberation 0.1.0 https://cran.r-


project.org/web/packages/fontLiberati
on/index.html

fontquiver 0.2.1 https://cran.r-


project.org/web/packages/fontquiver/i
ndex.html

forcats 0.3.0 https://cran.r-


project.org/web/packages/forcats/inde
x.html
PA C K A GE VERSIO N L IN K

foreach 1.4.4 https://cran.r-


project.org/web/packages/foreach/inde
x.html

forecast 8.7 https://cran.r-


project.org/web/packages/forecast/ind
ex.html

forecastHybrid 2.1.11 https://cran.r-


project.org/web/packages/forecastHyb
rid/index.html

foreign 0.8-69 https://cran.r-


project.org/web/packages/foreign/inde
x.html

formatR 1.5 https://cran.r-


project.org/web/packages/formatR/ind
ex.html

formattable 0.2.0.1 https://cran.r-


project.org/web/packages/formattable/
index.html

Formula 1.2-2 https://cran.r-


project.org/web/packages/Formula/ind
ex.html

fpc 2.1-11 https://cran.r-


project.org/web/packages/fpc/index.ht
ml

fracdiff 1.4-2 https://cran.r-


project.org/web/packages/fracdiff/inde
x.html

fTrading 3042.79 https://cran.r-


project.org/web/packages/fTrading/ind
ex.html

fUnitRoots 3042.79 https://cran.r-


project.org/web/packages/fUnitRoots/i
ndex.html

futile.logger 1.4.3 https://cran.r-


project.org/web/packages/futile.logger/
index.html

futile.options 1.0.0 https://cran.r-


project.org/web/packages/futile.option
s/index.html

gam 1.15 https://cran.r-


project.org/web/packages/gam/index.h
tml
PA C K A GE VERSIO N L IN K

gamlr 1.13-4 https://cran.r-


project.org/web/packages/gamlr/index.
html

gamlss 5.0-6 https://cran.r-


project.org/web/packages/gamlss/inde
x.html

gamlss.data 5.0-0 https://cran.r-


project.org/web/packages/gamlss.data/
index.html

gamlss.dist 5.0-4 https://cran.r-


project.org/web/packages/gamlss.dist/i
ndex.html

gbm 2.1.3 https://cran.r-


project.org/web/packages/gbm/index.h
tml

gclus 1.3.1 https://cran.r-


project.org/web/packages/gclus/index.
html

gdalUtils 2.0.1.7 https://cran.r-


project.org/web/packages/gdalUtils/ind
ex.html

gdata 2.18.0 https://cran.r-


project.org/web/packages/gdata/index.
html

gdtools 0.1.7 https://cran.r-


project.org/web/packages/gdtools/inde
x.html

gee 4.13-19 https://cran.r-


project.org/web/packages/gee/index.ht
ml

genalg 0.2.0 https://cran.r-


project.org/web/packages/genalg/inde
x.html

genetics 1.3.8.1 https://cran.r-


project.org/web/packages/genetics/ind
ex.html

GenSA 1.1.7 https://cran.r-


project.org/web/packages/GenSA/inde
x.html

geojson 0.2.0 https://cran.r-


project.org/web/packages/geojson/ind
ex.html
PA C K A GE VERSIO N L IN K

geojsonio 0.6.0 https://cran.r-


project.org/web/packages/geojsonio/in
dex.html

geojsonlint 0.2.0 https://cran.r-


project.org/web/packages/geojsonlint/i
ndex.html

geoR 1.7-5.2 https://cran.r-


project.org/web/packages/geoR/index.
html

geoRglm 0.9-11 https://cran.r-


project.org/web/packages/geoRglm/ind
ex.html

geosphere 1.5-7 https://cran.r-


project.org/web/packages/geosphere/i
ndex.html

GGally 1.3.2 https://cran.r-


project.org/web/packages/GGally/index
.html

ggalt 0.4.0 https://cran.r-


project.org/web/packages/ggalt/index.
html

gganimate 1.0.3 https://cran.r-


project.org/web/packages/gganimate/i
ndex.html

ggcorrplot 0.1.1 https://cran.r-


project.org/web/packages/ggcorrplot/i
ndex.html

ggdendro 0.1-20 https://cran.r-


project.org/web/packages/ggdendro/in
dex.html

ggeffects 0.3.2 https://cran.r-


project.org/web/packages/ggeffects/in
dex.html

ggforce 0.1.1 https://cran.r-


project.org/web/packages/ggforce/inde
x.html

ggformula 0.6.2 https://cran.r-


project.org/web/packages/ggformula/i
ndex.html

ggfortify 0.4.3 https://cran.r-


project.org/web/packages/ggfortify/ind
ex.html
PA C K A GE VERSIO N L IN K

gghighlight 0.3.0 https://cran.r-


project.org/web/packages/gghighlight/
index.html

ggimage 0.1.2 https://cran.r-


project.org/web/packages/ggimage/ind
ex.html

ggjoy 0.4.0 https://cran.r-


project.org/web/packages/ggjoy/index.
html

ggm 2.3 https://cran.r-


project.org/web/packages/ggm/index.h
tml

ggmap 2.6.1 https://cran.r-


project.org/web/packages/ggmap/inde
x.html

ggmcmc 1.1 https://cran.r-


project.org/web/packages/ggmcmc/ind
ex.html

ggplot2 3.2.0 https://cran.r-


project.org/web/packages/ggplot2/ind
ex.html

ggplot2movies 0.0.1 https://cran.r-


project.org/web/packages/ggplot2mov
ies/index.html

ggpmisc 0.2.16 https://cran.r-


project.org/web/packages/ggpmisc/ind
ex.html

ggpubr 0.1.6 https://cran.r-


project.org/web/packages/ggpubr/inde
x.html

ggQC 0.0.31 https://cran.r-


project.org/web/packages/ggQC/index.
html

ggRandomForests 2.0.1 https://cran.r-


project.org/web/packages/ggRandomF
orests/index.html

ggraph 1.0.1 https://cran.r-


project.org/web/packages/ggraph/inde
x.html

ggrepel 0.7.0 https://cran.r-


project.org/web/packages/ggrepel/inde
x.html
PA C K A GE VERSIO N L IN K

ggridges 0.4.1 https://cran.r-


project.org/web/packages/ggridges/ind
ex.html

ggsci 2.8 https://cran.r-


project.org/web/packages/ggsci/index.
html

ggsignif 0.4.0 https://cran.r-


project.org/web/packages/ggsignif/ind
ex.html

ggsoccer 0.1.4 https://cran.r-


project.org/web/packages/ggsoccer/in
dex.html

ggstance 0.3 https://cran.r-


project.org/web/packages/ggstance/in
dex.html

ggtern 2.2.1 https://cran.r-


project.org/web/packages/ggtern/inde
x.html

ggthemes 3.4.0 https://cran.r-


project.org/web/packages/ggthemes/in
dex.html

gistr 0.4.0 https://cran.r-


project.org/web/packages/gistr/index.h
tml

git2r 0.21.0 https://cran.r-


project.org/web/packages/git2r/index.h
tml

glasso 1.8 https://cran.r-


project.org/web/packages/glasso/index
.html

glmmBUGS 2.4.0 https://cran.r-


project.org/web/packages/glmmBUGS/
index.html

glmmTMB 0.2.0 https://cran.r-


project.org/web/packages/glmmTMB/i
ndex.html

glmnet 2.0-13 https://cran.r-


project.org/web/packages/glmnet/inde
x.html

GlobalOptions 0.0.13 https://cran.r-


project.org/web/packages/GlobalOptio
ns/index.html
PA C K A GE VERSIO N L IN K

glue 1.3.1 https://cran.r-


project.org/web/packages/glue/index.h
tml

gmodels 2.16.2 https://cran.r-


project.org/web/packages/gmodels/ind
ex.html

gmp 0.5-13.1 https://cran.r-


project.org/web/packages/gmp/index.h
tml

gnm 1.0-8 https://cran.r-


project.org/web/packages/gnm/index.h
tml

goftest 1.1-1 https://cran.r-


project.org/web/packages/goftest/inde
x.html

googleVis 0.6.2 https://cran.r-


project.org/web/packages/googleVis/in
dex.html

gower 0.1.2 https://cran.r-


project.org/web/packages/gower/index
.html

GPArotation 2014.11-1 https://cran.r-


project.org/web/packages/GPArotation
/index.html

gplots 3.0.1 https://cran.r-


project.org/web/packages/gplots/index
.html

graphics 3.4.4 NA

grDevices 3.4.4 NA

grid 3.4.4 NA

gridBase 0.4-7 https://cran.r-


project.org/web/packages/gridBase/ind
ex.html

gridExtra 2.3 https://cran.r-


project.org/web/packages/gridExtra/in
dex.html

gridGraphics 0.2-1 https://cran.r-


project.org/web/packages/gridGraphics
/index.html
PA C K A GE VERSIO N L IN K

growcurves 0.2.4.1 https://cran.r-


project.org/web/packages/growcurves/
index.html

grpreg 3.1-2 https://cran.r-


project.org/web/packages/grpreg/inde
x.html

gss 2.1-7 https://cran.r-


project.org/web/packages/gss/index.ht
ml

gstat 1.1-5 https://cran.r-


project.org/web/packages/gstat/index.
html

gsubfn 0.7 https://cran.r-


project.org/web/packages/gsubfn/inde
x.html

gtable 0.2.0 https://cran.r-


project.org/web/packages/gtable/index
.html

gtools 3.5.0 https://cran.r-


project.org/web/packages/gtools/index
.html

gtrendsR 1.4.3 https://cran.r-


project.org/web/packages/gtrendsR/in
dex.html

gWidgets 0.0-54 https://cran.r-


project.org/web/packages/gWidgets/in
dex.html

gWidgetsRGtk2 0.0-86 https://cran.r-


project.org/web/packages/gWidgetsRG
tk2/index.html

gWidgetstcltk 0.0-55 https://cran.r-


project.org/web/packages/gWidgetstclt
k/index.html

haplo.stats 1.7.7 https://cran.r-


project.org/web/packages/haplo.stats/i
ndex.html

hash 2.2.6 https://cran.r-


project.org/web/packages/hash/index.h
tml

haven 1.1.1 https://cran.r-


project.org/web/packages/haven/index.
html
PA C K A GE VERSIO N L IN K

hbsae 1.0 https://cran.r-


project.org/web/packages/hbsae/index.
html

HDInterval 0.2.0 https://cran.r-


project.org/web/packages/HDInterval/i
ndex.html

hdrcde 3.2 https://cran.r-


project.org/web/packages/hdrcde/inde
x.html

heatmaply 0.16.0 https://cran.r-


project.org/web/packages/heatmaply/i
ndex.html

heavy 0.38.19 https://cran.r-


project.org/web/packages/heavy/index.
html

hexbin 1.27.2 https://cran.r-


project.org/web/packages/hexbin/index
.html

hflights 0.1 https://cran.r-


project.org/web/packages/hflights/inde
x.html

HH 3.1-34 https://cran.r-
project.org/web/packages/HH/index.ht
ml

HI 0.4 https://cran.r-
project.org/web/packages/HI/index.ht
ml

highcharter 0.5.0 https://cran.r-


project.org/web/packages/highcharter/
index.html

highr 0.6 https://cran.r-


project.org/web/packages/highr/index.
html

HistData 0.8-2 https://cran.r-


project.org/web/packages/HistData/ind
ex.html

Hmisc 4.1-1 https://cran.r-


project.org/web/packages/Hmisc/index.
html

hms 0.4.2 https://cran.r-


project.org/web/packages/hms/index.h
tml
PA C K A GE VERSIO N L IN K

hoardr 0.2.0 https://cran.r-


project.org/web/packages/hoardr/inde
x.html

HSAUR 1.3-9 https://cran.r-


project.org/web/packages/HSAUR/inde
x.html

htmlTable 1.11.2 https://cran.r-


project.org/web/packages/htmlTable/in
dex.html

htmltools 0.3.6 https://cran.r-


project.org/web/packages/htmltools/in
dex.html

htmlwidgets 1.3 https://cran.r-


project.org/web/packages/htmlwidgets
/index.html

hts 5.1.5 https://cran.r-


project.org/web/packages/hts/index.ht
ml

httpuv 1.3.6.2 https://cran.r-


project.org/web/packages/httpuv/inde
x.html

huge 1.2.7 https://cran.r-


project.org/web/packages/huge/index.
html

hunspell 2.9 https://cran.r-


project.org/web/packages/hunspell/ind
ex.html

IBrokers 0.9-12 https://cran.r-


project.org/web/packages/IBrokers/ind
ex.html

ifultools 2.0-4 https://cran.r-


project.org/web/packages/ifultools/ind
ex.html

igraph 1.2.1 https://cran.r-


project.org/web/packages/igraph/index
.html

imager 0.40.2 https://cran.r-


project.org/web/packages/imager/inde
x.html

incidence 1.7.2 https://cran.r-


project.org/web/packages/incidence/in
dex.html
PA C K A GE VERSIO N L IN K

influenceR 0.1.0 https://cran.r-


project.org/web/packages/influenceR/i
ndex.html

inline 0.3.14 https://cran.r-


project.org/web/packages/inline/index.
html

intervals 0.15.1 https://cran.r-


project.org/web/packages/intervals/ind
ex.html

inum 1.0-0 https://cran.r-


project.org/web/packages/inum/index.
html

ipred 0.9-6 https://cran.r-


project.org/web/packages/ipred/index.
html

irlba 2.3.2 https://cran.r-


project.org/web/packages/irlba/index.h
tml

irr 0.84 https://cran.r-


project.org/web/packages/irr/index.ht
ml

ISOcodes 2017.09.27 https://cran.r-


project.org/web/packages/ISOcodes/in
dex.html

iterators 1.0.9 https://cran.r-


project.org/web/packages/iterators/ind
ex.html

janeaustenr 0.1.5 https://cran.r-


project.org/web/packages/janeaustenr/
index.html

janitor 1.0.0 https://cran.r-


project.org/web/packages/janitor/index
.html

jpeg 0.1-8 https://cran.r-


project.org/web/packages/jpeg/index.h
tml

jqr 1.0.0 https://cran.r-


project.org/web/packages/jqr/index.ht
ml

jsonlite 1.5 https://cran.r-


project.org/web/packages/jsonlite/inde
x.html
PA C K A GE VERSIO N L IN K

jsonvalidate 1.0.0 https://cran.r-


project.org/web/packages/jsonvalidate/
index.html

jtools 0.9.4 https://cran.r-


project.org/web/packages/jtools/index.
html

kableExtra 0.7.0 https://cran.r-


project.org/web/packages/kableExtra/i
ndex.html

Kendall 2.2 https://cran.r-


project.org/web/packages/Kendall/inde
x.html

kernlab 0.9-25 https://cran.r-


project.org/web/packages/kernlab/inde
x.html

KernSmooth 2.23-15 https://cran.r-


project.org/web/packages/KernSmooth
/index.html

KFKSDS 1.6 https://cran.r-


project.org/web/packages/KFKSDS/ind
ex.html

kinship2 1.6.4 https://cran.r-


project.org/web/packages/kinship2/ind
ex.html

kknn 1.3.1 https://cran.r-


project.org/web/packages/kknn/index.
html

klaR 0.6-14 https://cran.r-


project.org/web/packages/klaR/index.h
tml

km.ci 0.5-2 https://cran.r-


project.org/web/packages/km.ci/index.
html

KMsurv 0.1-5 https://cran.r-


project.org/web/packages/KMsurv/ind
ex.html

knitr 1.20 https://cran.r-


project.org/web/packages/knitr/index.h
tml

ks 1.11.0 https://cran.r-
project.org/web/packages/ks/index.ht
ml
PA C K A GE VERSIO N L IN K

labeling 0.3 https://cran.r-


project.org/web/packages/labeling/ind
ex.html

labelled 1.0.1 https://cran.r-


project.org/web/packages/labelled/inde
x.html

laeken 0.4.6 https://cran.r-


project.org/web/packages/laeken/index
.html

Lahman 6.0-0 https://cran.r-


project.org/web/packages/Lahman/ind
ex.html

lambda.r 1.2 https://cran.r-


project.org/web/packages/lambda.r/ind
ex.html

lars 1.2 https://cran.r-


project.org/web/packages/lars/index.ht
ml

latex2exp 0.4.0 https://cran.r-


project.org/web/packages/latex2exp/in
dex.html

lattice 0.20-35 https://cran.r-


project.org/web/packages/lattice/index.
html

latticeExtra 0.6-28 https://cran.r-


project.org/web/packages/latticeExtra/i
ndex.html

lava 1.6.1 https://cran.r-


project.org/web/packages/lava/index.ht
ml

lavaan 0.5-23.1097 https://cran.r-


project.org/web/packages/lavaan/index
.html

lazyeval 0.2.1 https://cran.r-


project.org/web/packages/lazyeval/ind
ex.html

lda 1.4.2 https://cran.r-


project.org/web/packages/lda/index.ht
ml

leaflet 2.0.2 https://cran.r-


project.org/web/packages/leaflet/index.
html
PA C K A GE VERSIO N L IN K

leaflet.esri 0.2 https://cran.r-


project.org/web/packages/leaflet.esri/in
dex.html

leaflet.extras 0.2 https://cran.r-


project.org/web/packages/leaflet.extras
/index.html

leaps 3.0 https://cran.r-


project.org/web/packages/leaps/index.
html

LearnBayes 2.15.1 https://cran.r-


project.org/web/packages/LearnBayes/i
ndex.html

lexicon 1.2.1 https://cran.r-


project.org/web/packages/lexicon/inde
x.html

libcoin 1.0-1 https://cran.r-


project.org/web/packages/libcoin/index
.html

LiblineaR 2.10-8 https://cran.r-


project.org/web/packages/LiblineaR/in
dex.html

LICORS 0.2.0 https://cran.r-


project.org/web/packages/LICORS/inde
x.html

likert 1.3.5 https://cran.r-


project.org/web/packages/likert/index.
html

limSolve 1.5.5.3 https://cran.r-


project.org/web/packages/limSolve/ind
ex.html

linprog 0.9-2 https://cran.r-


project.org/web/packages/linprog/inde
x.html

lm.beta 1.5-1 https://cran.r-


project.org/web/packages/lm.beta/inde
x.html

lme4 1.1-16 https://cran.r-


project.org/web/packages/lme4/index.
html

lmm 1.0 https://cran.r-


project.org/web/packages/lmm/index.h
tml
PA C K A GE VERSIO N L IN K

lmtest 0.9-35 https://cran.r-


project.org/web/packages/lmtest/index
.html

locfit 1.5-9.1 https://cran.r-


project.org/web/packages/locfit/index.h
tml

locpol 0.6-0 https://cran.r-


project.org/web/packages/locpol/index.
html

LogicReg 1.5.9 https://cran.r-


project.org/web/packages/LogicReg/in
dex.html

lpSolve 5.6.13 https://cran.r-


project.org/web/packages/lpSolve/inde
x.html

lsa 0.73.1 https://cran.r-


project.org/web/packages/lsa/index.ht
ml

lsmeans 2.27-61 https://cran.r-


project.org/web/packages/lsmeans/ind
ex.html

lubridate 1.7.2 https://cran.r-


project.org/web/packages/lubridate/in
dex.html

magic 1.5-8 https://cran.r-


project.org/web/packages/magic/index.
html

magick 1.8 https://cran.r-


project.org/web/packages/magick/inde
x.html

magrittr 1.5 https://cran.r-


project.org/web/packages/magrittr/ind
ex.html

manipulateWidget 0.9.0 https://cran.r-


project.org/web/packages/manipulate
Widget/index.html

MAPA 2.0.4 https://cran.r-


project.org/web/packages/MAPA/index
.html

mapdata 2.3.0 https://cran.r-


project.org/web/packages/mapdata/in
dex.html
PA C K A GE VERSIO N L IN K

mapproj 1.2.6 https://cran.r-


project.org/web/packages/mapproj/ind
ex.html

maps 3.2.0 https://cran.r-


project.org/web/packages/maps/index.
html

maptools 0.9-2 https://cran.r-


project.org/web/packages/maptools/in
dex.html

maptree 1.4-7 https://cran.r-


project.org/web/packages/maptree/ind
ex.html

mapview 2.3.0 https://cran.r-


project.org/web/packages/mapview/in
dex.html

marima 2.2 https://cran.r-


project.org/web/packages/marima/inde
x.html

markdown 0.8 https://cran.r-


project.org/web/packages/markdown/i
ndex.html

MASS 7.3-49 https://cran.r-


project.org/web/packages/MASS/index.
html

MasterBayes 2.55 https://cran.r-


project.org/web/packages/MasterBaye
s/index.html

Matching 4.9-5 https://cran.r-


project.org/web/packages/Matching/in
dex.html

MatchIt 3.0.2 https://cran.r-


project.org/web/packages/MatchIt/ind
ex.html

Matchmaker 0.1.1 https://cran.r-


project.org/web/packages/matchmaker
/index.html

Matrix 1.2-12 https://cran.r-


project.org/web/packages/Matrix/index
.html

matrixcalc 1.0-3 https://cran.r-


project.org/web/packages/matrixcalc/in
dex.html
PA C K A GE VERSIO N L IN K

MatrixModels 0.4-1 https://cran.r-


project.org/web/packages/MatrixMode
ls/index.html

matrixStats 0.54.0 https://cran.r-


project.org/web/packages/matrixStats/i
ndex.html

maxent 1.3.3.1 https://cran.r-


project.org/web/packages/maxent/inde
x.html

maxLik 1.3-4 https://cran.r-


project.org/web/packages/maxLik/inde
x.html

maxstat 0.7-25 https://cran.r-


project.org/web/packages/maxstat/ind
ex.html

mboost 2.8-1 https://cran.r-


project.org/web/packages/mboost/ind
ex.html

mclust 5.4 https://cran.r-


project.org/web/packages/mclust/index
.html

mcmc 0.9-5 https://cran.r-


project.org/web/packages/mcmc/index.
html

MCMCglmm 2.25 https://cran.r-


project.org/web/packages/MCMCglm
m/index.html

mda 0.4-10 https://cran.r-


project.org/web/packages/mda/index.h
tml

memoise 1.1.0 https://cran.r-


project.org/web/packages/memoise/in
dex.html

merTools 0.3.0 https://cran.r-


project.org/web/packages/merTools/in
dex.html

methods 3.4.4 NA

metricsgraphics 0.9.0 https://cran.r-


project.org/web/packages/metricsgrap
hics/index.html
PA C K A GE VERSIO N L IN K

mgcv 1.8-23 https://cran.r-


project.org/web/packages/mgcv/index.
html

mgsub 1.7.1 https://cran.r-


project.org/web/packages/mgsub/inde
x.html

mi 1.0 https://cran.r-
project.org/web/packages/mi/index.ht
ml

mice 2.46.0 https://cran.r-


project.org/web/packages/mice/index.h
tml

microbenchmark 1.4-4 https://cran.r-


project.org/web/packages/microbench
mark/index.html

MicrosoftR 3.4.4.0105 NA

mime 0.5 https://cran.r-


project.org/web/packages/mime/index.
html

miniCRAN 0.2.11 https://cran.r-


project.org/web/packages/miniCRAN/i
ndex.html

miniUI 0.1.1 https://cran.r-


project.org/web/packages/miniUI/index
.html

minpack.lm 1.2-1 https://cran.r-


project.org/web/packages/minpack.lm/i
ndex.html

minqa 1.2.4 https://cran.r-


project.org/web/packages/minqa/index
.html

mirt 1.27.1 https://cran.r-


project.org/web/packages/mirt/index.h
tml

misc3d 0.8-4 https://cran.r-


project.org/web/packages/misc3d/inde
x.html

miscTools 0.6-22 https://cran.r-


project.org/web/packages/miscTools/in
dex.html
PA C K A GE VERSIO N L IN K

mitools 2.3 https://cran.r-


project.org/web/packages/mitools/inde
x.html

mixtools 1.1.0 https://cran.r-


project.org/web/packages/mixtools/ind
ex.html

mlapi 0.1.0 https://cran.r-


project.org/web/packages/mlapi/index.
html

mlbench 2.1-1 https://cran.r-


project.org/web/packages/mlbench/ind
ex.html

mlogitBMA 0.1-6 https://cran.r-


project.org/web/packages/mlogitBMA/i
ndex.html

mnormt 1.5-5 https://cran.r-


project.org/web/packages/mnormt/ind
ex.html

MNP 3.1-0 https://cran.r-


project.org/web/packages/MNP/index.
html

ModelMetrics 1.1.0 https://cran.r-


project.org/web/packages/ModelMetri
cs/index.html

modelr 0.1.1 https://cran.r-


project.org/web/packages/modelr/inde
x.html

modeltools 0.2-21 https://cran.r-


project.org/web/packages/modeltools/i
ndex.html

mombf 1.9.6 https://cran.r-


project.org/web/packages/mombf/inde
x.html

moments 0.14 https://cran.r-


project.org/web/packages/moments/in
dex.html

monomvn 1.9-7 https://cran.r-


project.org/web/packages/monomvn/i
ndex.html

monreg 0.1.3 https://cran.r-


project.org/web/packages/monreg/ind
ex.html
PA C K A GE VERSIO N L IN K

mosaic 1.1.1 https://cran.r-


project.org/web/packages/mosaic/inde
x.html

mosaicCore 0.4.2 https://cran.r-


project.org/web/packages/mosaicCore/
index.html

mosaicData 0.16.0 https://cran.r-


project.org/web/packages/mosaicData/
index.html

MSBVAR 0.9-3 https://cran.r-


project.org/web/packages/MSBVAR/ind
ex.html

msm 1.6.6 https://cran.r-


project.org/web/packages/msm/index.
html

multcomp 1.4-8 https://cran.r-


project.org/web/packages/multcomp/i
ndex.html

multicool 0.1-10 https://cran.r-


project.org/web/packages/multicool/in
dex.html

munsell 0.5.0 https://cran.r-


project.org/web/packages/munsell/ind
ex.html

mvoutlier 2.0.9 https://cran.r-


project.org/web/packages/mvoutlier/in
dex.html

mvtnorm 1.0-7 https://cran.r-


project.org/web/packages/mvtnorm/in
dex.html

NbClust 3.0 https://cran.r-


project.org/web/packages/NbClust/ind
ex.html

ncvreg 3.9-1 https://cran.r-


project.org/web/packages/ncvreg/inde
x.html

network 1.13.0 https://cran.r-


project.org/web/packages/network/ind
ex.html

networkD3 0.4 https://cran.r-


project.org/web/packages/networkD3/i
ndex.html
PA C K A GE VERSIO N L IN K

neuralnet 1.33 https://cran.r-


project.org/web/packages/neuralnet/in
dex.html

ngram 3.0.4 https://cran.r-


project.org/web/packages/ngram/index
.html

nlme 3.1-131.1 https://cran.r-


project.org/web/packages/nlme/index.
html

nloptr 1.0.4 https://cran.r-


project.org/web/packages/nloptr/index.
html

NLP 0.1-11 https://cran.r-


project.org/web/packages/NLP/index.h
tml

NMF 0.21.0 https://cran.r-


project.org/web/packages/NMF/index.
html

nnet 7.3-12 https://cran.r-


project.org/web/packages/nnet/index.h
tml

nnls 1.4 https://cran.r-


project.org/web/packages/nnls/index.h
tml

nortest 1.0-4 https://cran.r-


project.org/web/packages/nortest/inde
x.html

numbers 0.6-6 https://cran.r-


project.org/web/packages/numbers/in
dex.html

numDeriv 2016.8-1 https://cran.r-


project.org/web/packages/numDeriv/in
dex.html

numform 0.4.0 https://cran.r-


project.org/web/packages/numform/in
dex.html

OceanView 1.0.4 https://cran.r-


project.org/web/packages/OceanView/i
ndex.html

openair 2.3-0 https://cran.r-


project.org/web/packages/openair/inde
x.html
PA C K A GE VERSIO N L IN K

openssl 1.0.1 https://cran.r-


project.org/web/packages/openssl/inde
x.html

osmar 1.1-7 https://cran.r-


project.org/web/packages/osmar/index
.html

Outbreaks 1.5.0 https://cran.r-


project.org/web/packages/outbreaks/in
dex.html

OutlierDC 0.3-0 https://cran.r-


project.org/web/packages/OutlierDC/in
dex.html

OutlierDM 1.1.1 https://cran.r-


project.org/web/packages/OutlierDM/i
ndex.html

outliers 0.14 https://cran.r-


project.org/web/packages/outliers/inde
x.html

pacbpred 0.92.2 https://cran.r-


project.org/web/packages/pacbpred/in
dex.html

padr 0.4.0 https://cran.r-


project.org/web/packages/padr/index.h
tml

parallel 3.4.4 NA

partitions 1.9-19 https://cran.r-


project.org/web/packages/partitions/in
dex.html

party 1.2-4 https://cran.r-


project.org/web/packages/party/index.
html

partykit 1.2-0 https://cran.r-


project.org/web/packages/partykit/ind
ex.html

PAWL 0.5 https://cran.r-


project.org/web/packages/PAWL/index.
html

pbapply 1.3-4 https://cran.r-


project.org/web/packages/pbapply/ind
ex.html
PA C K A GE VERSIO N L IN K

pbivnorm 0.6.0 https://cran.r-


project.org/web/packages/pbivnorm/in
dex.html

pbkrtest 0.4-7 https://cran.r-


project.org/web/packages/pbkrtest/ind
ex.html

PCAmixdata 3.1 https://cran.r-


project.org/web/packages/PCAmixdata
/index.html

pcaPP 1.9-73 https://cran.r-


project.org/web/packages/pcaPP/index.
html

pdc 1.0.3 https://cran.r-


project.org/web/packages/pdc/index.ht
ml

PerformanceAnalytics 1.5.2 https://cran.r-


project.org/web/packages/Performance
Analytics/index.html

permute 0.9-4 https://cran.r-


project.org/web/packages/permute/ind
ex.html

perry 0.2.0 https://cran.r-


project.org/web/packages/perry/index.
html

petrinetR 0.1.0 https://cran.r-


project.org/web/packages/petrinetR/in
dex.html

pheatmap 1.0.8 https://cran.r-


project.org/web/packages/pheatmap/i
ndex.html

pillar 1.4.2 https://cran.r-


project.org/web/packages/pillar/index.h
tml

pixmap 0.4-11 https://cran.r-


project.org/web/packages/pixmap/inde
x.html

pkgconfig 2.0.2 https://cran.r-


project.org/web/packages/pkgconfig/in
dex.html

pkgmaker 0.22 https://cran.r-


project.org/web/packages/pkgmaker/in
dex.html
PA C K A GE VERSIO N L IN K

platetools 0.1.0 https://cran.r-


project.org/web/packages/platetools/in
dex.html

plogr 0.2.0 https://cran.r-


project.org/web/packages/plogr/index.
html

plot3D 1.1.1 https://cran.r-


project.org/web/packages/plot3D/inde
x.html

plot3Drgl 1.0.1 https://cran.r-


project.org/web/packages/plot3Drgl/in
dex.html

plotly 4.9.2.2 https://cran.r-


project.org/web/packages/plotly/index.
html

plotmo 3.3.6 https://cran.r-


project.org/web/packages/plotmo/inde
x.html

plotrix 3.7 https://cran.r-


project.org/web/packages/plotrix/index
.html

pls 2.6-0 https://cran.r-


project.org/web/packages/pls/index.ht
ml

plyr 1.8.4 https://cran.r-


project.org/web/packages/plyr/index.ht
ml

png 0.1-7 https://cran.r-


project.org/web/packages/png/index.ht
ml

polspline 1.1.12 https://cran.r-


project.org/web/packages/polspline/in
dex.html

polyclip 1.6-1 https://cran.r-


project.org/web/packages/polyclip/inde
x.html

polylabelr 0.1.0 https://cran.r-


project.org/web/packages/polylabelr/in
dex.html

polynom 1.3-9 https://cran.r-


project.org/web/packages/polynom/in
dex.html
PA C K A GE VERSIO N L IN K

ppcor 1.1 https://cran.r-


project.org/web/packages/ppcor/index.
html

prabclus 2.2-6 https://cran.r-


project.org/web/packages/prabclus/ind
ex.html

pracma 2.1.4 https://cran.r-


project.org/web/packages/pracma/inde
x.html

praise 1.0.0 https://cran.r-


project.org/web/packages/praise/index.
html

prediction 0.2.0 https://cran.r-


project.org/web/packages/prediction/in
dex.html

predmixcor 1.1-1 https://cran.r-


project.org/web/packages/predmixcor/i
ndex.html

PresenceAbsence 1.1.9 https://cran.r-


project.org/web/packages/PresenceAbs
ence/index.html

prettyunits 1.0.2 https://cran.r-


project.org/web/packages/prettyunits/i
ndex.html

pROC 1.11.0 https://cran.r-


project.org/web/packages/pROC/index.
html

processmapR 0.3.3 https://cran.r-


project.org/web/packages/processmap
R/index.html

processmonitR 0.1.0 https://cran.r-


project.org/web/packages/processmoni
tR/index.html

processx 2.0.0.1 https://cran.r-


project.org/web/packages/processx/ind
ex.html

prodlim 1.6.1 https://cran.r-


project.org/web/packages/prodlim/ind
ex.html

profdpm 3.3 https://cran.r-


project.org/web/packages/profdpm/ind
ex.html
PA C K A GE VERSIO N L IN K

profileModel 0.5-9 https://cran.r-


project.org/web/packages/profileModel
/index.html

progress 1.1.2 https://cran.r-


project.org/web/packages/progress/ind
ex.html

proj4 1.0-8 https://cran.r-


project.org/web/packages/proj4/index.
html

prophet 0.2.1 https://cran.r-


project.org/web/packages/prophet/ind
ex.html

proto 1.0.0 https://cran.r-


project.org/web/packages/proto/index.
html

protolite 1.7 https://cran.r-


project.org/web/packages/protolite/ind
ex.html

proxy 0.4-21 https://cran.r-


project.org/web/packages/proxy/index.
html

pryr 0.1.4 https://cran.r-


project.org/web/packages/pryr/index.h
tml

pscl 1.5.2 https://cran.r-


project.org/web/packages/pscl/index.ht
ml

psych 1.8.3.3 https://cran.r-


project.org/web/packages/psych/index.
html

purrr 0.2.4 https://cran.r-


project.org/web/packages/purrr/index.
html

pwr 1.2-2 https://cran.r-


project.org/web/packages/pwr/index.ht
ml

qap 0.1-1 https://cran.r-


project.org/web/packages/qap/index.ht
ml

qcc 2.7 https://cran.r-


project.org/web/packages/qcc/index.ht
ml
PA C K A GE VERSIO N L IN K

qdapDictionaries 1.0.7 https://cran.r-


project.org/web/packages/qdapDiction
aries/index.html

qdapRegex 0.7.2 https://cran.r-


project.org/web/packages/qdapRegex/i
ndex.html

qdapTools 1.3.3 https://cran.r-


project.org/web/packages/qdapTools/in
dex.html

qgraph 1.4.4 https://cran.r-


project.org/web/packages/qgraph/inde
x.html

qicharts 0.5.5 https://cran.r-


project.org/web/packages/qicharts/ind
ex.html

qicharts2 0.6.0 https://cran.r-


project.org/web/packages/qicharts2/in
dex.html

quadprog 1.5-5 https://cran.r-


project.org/web/packages/quadprog/in
dex.html

qualityTools 1.55 https://cran.r-


project.org/web/packages/qualityTools/
index.html

quanteda 1.1.1 https://cran.r-


project.org/web/packages/quanteda/in
dex.html

quantmod 0.4-12 https://cran.r-


project.org/web/packages/quantmod/i
ndex.html

quantreg 5.35 https://cran.r-


project.org/web/packages/quantreg/in
dex.html

questionr 0.6.2 https://cran.r-


project.org/web/packages/questionr/in
dex.html

qvcalc 0.9-1 https://cran.r-


project.org/web/packages/qvcalc/index.
html

R.matlab 3.6.1 https://cran.r-


project.org/web/packages/R.matlab/ind
ex.html
PA C K A GE VERSIO N L IN K

R.methodsS3 1.7.1 https://cran.r-


project.org/web/packages/R.methodsS
3/index.html

R.oo 1.21.0 https://cran.r-


project.org/web/packages/R.oo/index.h
tml

R.utils 2.6.0 https://cran.r-


project.org/web/packages/R.utils/index.
html

r2d3 0.2.3 https://cran.r-


project.org/web/packages/r2d3/index.h
tml

R2HTML 2.3.2 https://cran.r-


project.org/web/packages/R2HTML/ind
ex.html

R2jags 0.5-7 https://cran.r-


project.org/web/packages/R2jags/index
.html

R2OpenBUGS 3.2-3.2 https://cran.r-


project.org/web/packages/R2OpenBU
GS/index.html

R2WinBUGS 2.1-21 https://cran.r-


project.org/web/packages/R2WinBUGS
/index.html

R6 2.2.2 https://cran.r-
project.org/web/packages/R6/index.ht
ml

ramps 0.6-15 https://cran.r-


project.org/web/packages/ramps/index
.html

RandomFields 3.1.50 https://cran.r-


project.org/web/packages/RandomFiel
ds/index.html

RandomFieldsUtils 0.3.25 https://cran.r-


project.org/web/packages/RandomFiel
dsUtils/index.html

randomForest 4.6-14 https://cran.r-


project.org/web/packages/randomFore
st/index.html

ranger 0.9.0 https://cran.r-


project.org/web/packages/ranger/index
.html
PA C K A GE VERSIO N L IN K

RApiDatetime 0.0.4 https://cran.r-


project.org/web/packages/RApiDatetim
e/index.html

rappdirs 0.3.1 https://cran.r-


project.org/web/packages/rappdirs/ind
ex.html

RArcInfo 0.4-12 https://cran.r-


project.org/web/packages/RArcInfo/ind
ex.html

raster 2.6-7 https://cran.r-


project.org/web/packages/raster/index.
html

rattle 5.1.0 https://cran.r-


project.org/web/packages/rattle/index.
html

rayshader 0.10.1 https://cran.r-


project.org/web/packages/rayshader/in
dex.html

rbenchmark 1.0.0 https://cran.r-


project.org/web/packages/rbenchmark
/index.html

Rblpapi 0.3.8 https://cran.r-


project.org/web/packages/Rblpapi/inde
x.html

rbokeh 0.5.0 https://cran.r-


project.org/web/packages/rbokeh/inde
x.html

rbugs 0.5-9 https://cran.r-


project.org/web/packages/rbugs/index.
html

RColorBrewer 1.1-2 https://cran.r-


project.org/web/packages/RColorBrew
er/index.html

Rcpp 1.0.1 https://cran.r-


project.org/web/packages/Rcpp/index.
html

RcppArmadillo 0.8.400.0.0 https://cran.r-


project.org/web/packages/RcppArmadil
lo/index.html

rcppbugs 0.1.4.2 https://cran.r-


project.org/web/packages/rcppbugs/in
dex.html
PA C K A GE VERSIO N L IN K

RcppDE 0.1.5 https://cran.r-


project.org/web/packages/RcppDE/ind
ex.html

RcppEigen 0.3.3.4.0 https://cran.r-


project.org/web/packages/RcppEigen/i
ndex.html

RcppExamples 0.1.8 https://cran.r-


project.org/web/packages/RcppExampl
es/index.html

RcppParallel 4.4.0 https://cran.r-


project.org/web/packages/RcppParallel/
index.html

RcppProgress 0.4 https://cran.r-


project.org/web/packages/RcppProgres
s/index.html

RcppRoll 0.2.2 https://cran.r-


project.org/web/packages/RcppRoll/ind
ex.html

RCurl 1.95-4.10 https://cran.r-


project.org/web/packages/RCurl/index.
html

readbitmap 0.1-4 https://cran.r-


project.org/web/packages/readbitmap/
index.html

readr 1.1.1 https://cran.r-


project.org/web/packages/readr/index.
html

readxl 1.0.0 https://cran.r-


project.org/web/packages/readxl/index.
html

recipes 0.1.2 https://cran.r-


project.org/web/packages/recipes/inde
x.html

Redmonder 0.2.0 https://cran.r-


project.org/web/packages/Redmonder/
index.html

registry 0.5 https://cran.r-


project.org/web/packages/registry/inde
x.html

relaimpo 2.2-3 https://cran.r-


project.org/web/packages/relaimpo/ind
ex.html
PA C K A GE VERSIO N L IN K

relimp 1.0-5 https://cran.r-


project.org/web/packages/relimp/index
.html

rematch 1.0.1 https://cran.r-


project.org/web/packages/rematch/ind
ex.html

Renext 3.1-0 https://cran.r-


project.org/web/packages/Renext/index
.html

reports 0.1.4 https://cran.r-


project.org/web/packages/reports/inde
x.html

reprex 0.1.2 https://cran.r-


project.org/web/packages/reprex/index
.html

reshape 0.8.7 https://cran.r-


project.org/web/packages/reshape/ind
ex.html

reshape2 1.4.3 https://cran.r-


project.org/web/packages/reshape2/in
dex.html

reticulate 1.6 https://cran.r-


project.org/web/packages/reticulate/in
dex.html

RevoIOQ 8.0.10 NA

RevoMods 11.0.0 NA

RevoUtils 10.0.9 NA

RevoUtilsMath 10.0.1 NA

rex 1.1.2 https://cran.r-


project.org/web/packages/rex/index.ht
ml

rFerns 2.0.3 https://cran.r-


project.org/web/packages/rFerns/index
.html

rfm 0.2.0 https://cran.r-


project.org/web/packages/rfm/index.ht
ml

rgdal 1.2-18 https://cran.r-


project.org/web/packages/rgdal/index.
html
PA C K A GE VERSIO N L IN K

rgeos 0.3-26 https://cran.r-


project.org/web/packages/rgeos/index.
html

rgexf 0.15.3 https://cran.r-


project.org/web/packages/rgexf/index.
html

rgl 0.99.16 https://cran.r-


project.org/web/packages/rgl/index.ht
ml

RgoogleMaps 1.4.1 https://cran.r-


project.org/web/packages/RgoogleMap
s/index.html

RGraphics 2.0-14 https://cran.r-


project.org/web/packages/RGraphics/in
dex.html

RGtk2 2.20.34 https://cran.r-


project.org/web/packages/RGtk2/index
.html

RInside 0.2.14 https://cran.r-


project.org/web/packages/RInside/inde
x.html

RJaCGH 2.0.4 https://cran.r-


project.org/web/packages/RJaCGH/ind
ex.html

rjags 4-6 https://cran.r-


project.org/web/packages/rjags/index.h
tml

rjson 0.2.15 https://cran.r-


project.org/web/packages/rjson/index.
html

RJSONIO 1.3-0 https://cran.r-


project.org/web/packages/RJSONIO/in
dex.html

rlang 0.3.4 https://cran.r-


project.org/web/packages/rlang/index.
html

rlecuyer 0.3-4 https://cran.r-


project.org/web/packages/rlecuyer/ind
ex.html
PA C K A GE VERSIO N L IN K

rlist 0.4.6.1 https://cran.r-


project.org/web/packages/rlist/index.ht
ml

rmapshaper 0.3.0 https://cran.r-


project.org/web/packages/rmapshaper
/index.html

rmarkdown 1.9 https://cran.r-


project.org/web/packages/rmarkdown/
index.html

Rmisc 1.5 https://cran.r-


project.org/web/packages/Rmisc/index.
html

Rmpfr 0.7-0 https://cran.r-


project.org/web/packages/Rmpfr/index.
html

rms 5.1-2 https://cran.r-


project.org/web/packages/rms/index.ht
ml

RMySQL 0.10.14 https://cran.r-


project.org/web/packages/RMySQL/ind
ex.html

rngtools 1.2.4 https://cran.r-


project.org/web/packages/rngtools/ind
ex.html

robCompositions 2.0.6 https://cran.r-


project.org/web/packages/robComposi
tions/index.html

robfilter 4.1 https://cran.r-


project.org/web/packages/robfilter/ind
ex.html

robustbase 0.92-8 https://cran.r-


project.org/web/packages/robustbase/i
ndex.html

robustHD 0.5.1 https://cran.r-


project.org/web/packages/robustHD/in
dex.html

ROCR 1.0-7 https://cran.r-


project.org/web/packages/ROCR/index.
html

RODBC 1.3-15 https://cran.r-


project.org/web/packages/RODBC/inde
x.html
PA C K A GE VERSIO N L IN K

Rook 1.1-1 https://cran.r-


project.org/web/packages/Rook/index.
html

rootSolve 1.7 https://cran.r-


project.org/web/packages/rootSolve/in
dex.html

roxygen2 6.0.1 https://cran.r-


project.org/web/packages/roxygen2/in
dex.html

rpart 4.1-13 https://cran.r-


project.org/web/packages/rpart/index.
html

rpart.plot 2.1.2 https://cran.r-


project.org/web/packages/rpart.plot/in
dex.html

rpivotTable 0.3.0 https://cran.r-


project.org/web/packages/rpivotTable/i
ndex.html

rprojroot 1.3-2 https://cran.r-


project.org/web/packages/rprojroot/in
dex.html

rrcov 1.4-3 https://cran.r-


project.org/web/packages/rrcov/index.
html

rscproxy 2.0-5 https://cran.r-


project.org/web/packages/rscproxy/ind
ex.html

rsdmx 0.5-11 https://cran.r-


project.org/web/packages/rsdmx/index.
html

RSGHB 1.1.2 https://cran.r-


project.org/web/packages/RSGHB/inde
x.html

RSiteCatalyst 1.4.14 https://cran.r-


project.org/web/packages/RSiteCatalys
t/index.html

RSNNS 0.4-10 https://cran.r-


project.org/web/packages/RSNNS/inde
x.html

Rsolnp 1.16 https://cran.r-


project.org/web/packages/Rsolnp/inde
x.html
PA C K A GE VERSIO N L IN K

RSpectra 0.12-0 https://cran.r-


project.org/web/packages/RSpectra/ind
ex.html

RSQLite 2.1.0 https://cran.r-


project.org/web/packages/RSQLite/ind
ex.html

rstan 2.17.3 https://cran.r-


project.org/web/packages/rstan/index.
html

rstudioapi 0.7 https://cran.r-


project.org/web/packages/rstudioapi/in
dex.html

rsvg 1.1 https://cran.r-


project.org/web/packages/rsvg/index.h
tml

RTextTools 1.4.2 https://cran.r-


project.org/web/packages/RTextTools/in
dex.html

Rttf2pt1 1.3.6 https://cran.r-


project.org/web/packages/Rttf2pt1/ind
ex.html

RUnit 0.4.31 https://cran.r-


project.org/web/packages/RUnit/index.
html

runjags 2.0.4-2 https://cran.r-


project.org/web/packages/runjags/inde
x.html

Runuran 0.24 https://cran.r-


project.org/web/packages/Runuran/ind
ex.html

rvcheck 0.0.9 https://cran.r-


project.org/web/packages/rvcheck/inde
x.html

rvest 0.3.2 https://cran.r-


project.org/web/packages/rvest/index.
html

rworldmap 1.3-6 https://cran.r-


project.org/web/packages/rworldmap/i
ndex.html

rworldxtra 1.01 https://cran.r-


project.org/web/packages/rworldxtra/i
ndex.html
PA C K A GE VERSIO N L IN K

SampleSizeMeans 1.1 https://cran.r-


project.org/web/packages/SampleSize
Means/index.html

SampleSizeProportions 1.0 https://cran.r-


project.org/web/packages/SampleSizeP
roportions/index.html

sandwich 2.4-0 https://cran.r-


project.org/web/packages/sandwich/in
dex.html

sas7bdat 0.5 https://cran.r-


project.org/web/packages/sas7bdat/in
dex.html

satellite 1.0.1 https://cran.r-


project.org/web/packages/satellite/inde
x.html

sbgcop 0.975 https://cran.r-


project.org/web/packages/sbgcop/inde
x.html

scales 1.0.0 https://cran.r-


project.org/web/packages/scales/index.
html

scatterplot3d 0.3-41 https://cran.r-


project.org/web/packages/scatterplot3
d/index.html

sciplot 1.1-1 https://cran.r-


project.org/web/packages/sciplot/index
.html

segmented 0.5-3.0 https://cran.r-


project.org/web/packages/segmented/i
ndex.html

selectr 0.4-0 https://cran.r-


project.org/web/packages/selectr/index
.html

sem 3.1-9 https://cran.r-


project.org/web/packages/sem/index.h
tml

sentimentr 2.7.1 https://cran.r-


project.org/web/packages/sentimentr/i
ndex.html

seriation 1.2-3 https://cran.r-


project.org/web/packages/seriation/ind
ex.html
PA C K A GE VERSIO N L IN K

setRNG 2013.9-1 https://cran.r-


project.org/web/packages/setRNG/inde
x.html

sf 0.6-1 https://cran.r-
project.org/web/packages/sf/index.htm
l

sfsmisc 1.1-2 https://cran.r-


project.org/web/packages/sfsmisc/inde
x.html

sgeostat 1.0-27 https://cran.r-


project.org/web/packages/sgeostat/ind
ex.html

shape 1.4.4 https://cran.r-


project.org/web/packages/shape/index.
html

shapefiles 0.7 https://cran.r-


project.org/web/packages/shapefiles/in
dex.html

shiny 1.0.5 https://cran.r-


project.org/web/packages/shiny/index.
html

shinyBS 0.61 https://cran.r-


project.org/web/packages/shinyBS/ind
ex.html

shinycssloaders 0.2.0 https://cran.r-


project.org/web/packages/shinycssload
ers/index.html

shinyjs 1.0 https://cran.r-


project.org/web/packages/shinyjs/inde
x.html

shinyTime 0.2.1 https://cran.r-


project.org/web/packages/shinyTime/in
dex.html

showtext 0.5-1 https://cran.r-


project.org/web/packages/showtext/in
dex.html

showtextdb 2.0 https://cran.r-


project.org/web/packages/showtextdb/
index.html

SIS 0.8-6 https://cran.r-


project.org/web/packages/SIS/index.ht
ml
PA C K A GE VERSIO N L IN K

SixSigma 0.9-51 https://cran.r-


project.org/web/packages/SixSigma/ind
ex.html

sjlabelled 1.0.8 https://cran.r-


project.org/web/packages/sjlabelled/in
dex.html

sjmisc 2.7.1 https://cran.r-


project.org/web/packages/sjmisc/index.
html

sjPlot 2.4.1 https://cran.r-


project.org/web/packages/sjPlot/index.
html

sjstats 0.14.2-3 https://cran.r-


project.org/web/packages/sjstats/index
.html

skmeans 0.2-11 https://cran.r-


project.org/web/packages/skmeans/ind
ex.html

slam 0.1-42 https://cran.r-


project.org/web/packages/slam/index.h
tml

sm 2.2-5.4 https://cran.r-
project.org/web/packages/sm/index.ht
ml

smooth 2.4.1 https://cran.r-


project.org/web/packages/smooth/ind
ex.html

smoothSurv 2.0 https://cran.r-


project.org/web/packages/smoothSurv
/index.html

sna 2.4 https://cran.r-


project.org/web/packages/sna/index.ht
ml

snakecase 0.9.1 https://cran.r-


project.org/web/packages/snakecase/in
dex.html

snow 0.4-2 https://cran.r-


project.org/web/packages/snow/index.
html

SnowballC 0.5.1 https://cran.r-


project.org/web/packages/SnowballC/i
ndex.html
PA C K A GE VERSIO N L IN K

snowFT 1.6-0 https://cran.r-


project.org/web/packages/snowFT/inde
x.html

sourcetools 0.1.6 https://cran.r-


project.org/web/packages/sourcetools/
index.html

sp 1.2-7 https://cran.r-
project.org/web/packages/sp/index.ht
ml

spacetime 1.2-1 https://cran.r-


project.org/web/packages/spacetime/in
dex.html

spacyr 0.9.6 https://cran.r-


project.org/web/packages/spacyr/index
.html

spam 2.1-3 https://cran.r-


project.org/web/packages/spam/index.
html

SparseM 1.77 https://cran.r-


project.org/web/packages/SparseM/ind
ex.html

sparsepp 0.2.0 https://cran.r-


project.org/web/packages/sparsepp/in
dex.html

spatial 7.3-11 https://cran.r-


project.org/web/packages/spatial/index
.html

spatstat 1.55-0 https://cran.r-


project.org/web/packages/spatstat/ind
ex.html

spatstat.data 1.2-0 https://cran.r-


project.org/web/packages/spatstat.dat
a/index.html

spatstat.utils 1.8-0 https://cran.r-


project.org/web/packages/spatstat.utils
/index.html

spBayes 0.4-1 https://cran.r-


project.org/web/packages/spBayes/ind
ex.html

spData 0.2.8.3 https://cran.r-


project.org/web/packages/spData/inde
x.html
PA C K A GE VERSIO N L IN K

spdep 0.7-4 https://cran.r-


project.org/web/packages/spdep/index.
html

spikeslab 1.1.5 https://cran.r-


project.org/web/packages/spikeslab/in
dex.html

splancs 2.01-40 https://cran.r-


project.org/web/packages/splancs/inde
x.html

splines 3.4.4 NA

spls 2.2-2 https://cran.r-


project.org/web/packages/spls/index.ht
ml

splus2R 1.2-2 https://cran.r-


project.org/web/packages/splus2R/ind
ex.html

spTimer 3.0-1 https://cran.r-


project.org/web/packages/spTimer/ind
ex.html

sqldf 0.4-11 https://cran.r-


project.org/web/packages/sqldf/index.h
tml

SQUAREM 2017.10-1 https://cran.r-


project.org/web/packages/SQUAREM/i
ndex.html

sROC 0.1-2 https://cran.r-


project.org/web/packages/sROC/index.
html

stabledist 0.7-1 https://cran.r-


project.org/web/packages/stabledist/in
dex.html

stabs 0.6-3 https://cran.r-


project.org/web/packages/stabs/index.
html

StanHeaders 2.17.2 https://cran.r-


project.org/web/packages/StanHeaders
/index.html

statmod 1.4.30 https://cran.r-


project.org/web/packages/statmod/ind
ex.html
PA C K A GE VERSIO N L IN K

statnet.common 4.0.0 https://cran.r-


project.org/web/packages/statnet.com
mon/index.html

stats 3.4.4 NA

stats4 3.4.4 NA

stepPlr 0.93 https://cran.r-


project.org/web/packages/stepPlr/inde
x.html

stochvol 1.3.3 https://cran.r-


project.org/web/packages/stochvol/ind
ex.html

stopwords 0.9.0 https://cran.r-


project.org/web/packages/stopwords/i
ndex.html

stringdist 0.9.4.7 https://cran.r-


project.org/web/packages/stringdist/in
dex.html

stringi 1.1.7 https://cran.r-


project.org/web/packages/stringi/index
.html

stringr 1.3.0 https://cran.r-


project.org/web/packages/stringr/index
.html

strucchange 1.5-1 https://cran.r-


project.org/web/packages/strucchange
/index.html

stsm 1.9 https://cran.r-


project.org/web/packages/stsm/index.h
tml

stsm.class 1.3 https://cran.r-


project.org/web/packages/stsm.class/in
dex.html

sugrrants 0.2.4 https://cran.r-


project.org/web/packages/sugrrants/in
dex.html

sunburstR 2.0.0 https://cran.r-


project.org/web/packages/sunburstR/i
ndex.html

SuppDists 1.1-9.4 https://cran.r-


project.org/web/packages/SuppDists/in
dex.html
PA C K A GE VERSIO N L IN K

survey 3.33-2 https://cran.r-


project.org/web/packages/survey/index
.html

survival 2.41-3 https://cran.r-


project.org/web/packages/survival/inde
x.html

survminer 0.4.2 https://cran.r-


project.org/web/packages/survminer/in
dex.html

survMisc 0.5.4 https://cran.r-


project.org/web/packages/survMisc/in
dex.html

svglite 1.2.1 https://cran.r-


project.org/web/packages/svglite/index
.html

svmpath 0.955 https://cran.r-


project.org/web/packages/svmpath/ind
ex.html

svUnit 0.7-12 https://cran.r-


project.org/web/packages/svUnit/index
.html

sweep 0.2.1 https://cran.r-


project.org/web/packages/sweep/index
.html

sysfonts 0.7.2 https://cran.r-


project.org/web/packages/sysfonts/ind
ex.html

systemfit 1.1-20 https://cran.r-


project.org/web/packages/systemfit/in
dex.html

syuzhet 1.0.4 https://cran.r-


project.org/web/packages/syuzhet/ind
ex.html

tau 0.0-20 https://cran.r-


project.org/web/packages/tau/index.ht
ml

tcltk 3.4.4 NA

tcltk2 1.2-11 https://cran.r-


project.org/web/packages/tcltk2/index.
html
PA C K A GE VERSIO N L IN K

TeachingDemos 2.10 https://cran.r-


project.org/web/packages/TeachingDe
mos/index.html

tensor 1.5 https://cran.r-


project.org/web/packages/tensor/index
.html

tensorA 0.36 https://cran.r-


project.org/web/packages/tensorA/ind
ex.html

testthat 2.0.0 https://cran.r-


project.org/web/packages/testthat/ind
ex.html

text2vec 0.5.1 https://cran.r-


project.org/web/packages/text2vec/ind
ex.html

textcat 1.0-5 https://cran.r-


project.org/web/packages/textcat/inde
x.html

textclean 0.9.3 https://cran.r-


project.org/web/packages/textclean/in
dex.html

textir 2.0-5 https://cran.r-


project.org/web/packages/textir/index.
html

textmineR 2.1.1 https://cran.r-


project.org/web/packages/textmineR/in
dex.html

textshape 1.6.0 https://cran.r-


project.org/web/packages/textshape/in
dex.html

tfplot 2015.12-1 https://cran.r-


project.org/web/packages/tfplot/index.
html

tframe 2015.12-1 https://cran.r-


project.org/web/packages/tframe/index
.html

tgp 2.4-14 https://cran.r-


project.org/web/packages/tgp/index.ht
ml

TH.data 1.0-8 https://cran.r-


project.org/web/packages/TH.data/ind
ex.html
PA C K A GE VERSIO N L IN K

threejs 0.3.1 https://cran.r-


project.org/web/packages/threejs/inde
x.html

tibble 2.1.1 https://cran.r-


project.org/web/packages/tibble/index.
html

tibbletime 0.1.1 https://cran.r-


project.org/web/packages/tibbletime/in
dex.html

tidycensus 0.4.1 https://cran.r-


project.org/web/packages/tidycensus/i
ndex.html

tidyr 0.8.0 https://cran.r-


project.org/web/packages/tidyr/index.h
tml

tidyselect 0.2.5 https://cran.r-


project.org/web/packages/tidyselect/in
dex.html

tidytext 0.1.8 https://cran.r-


project.org/web/packages/tidytext/inde
x.html

tidyverse 1.2.1 https://cran.r-


project.org/web/packages/tidyverse/in
dex.html

tiff 0.1-5 https://cran.r-


project.org/web/packages/tiff/index.ht
ml

tigris 0.6.2 https://cran.r-


project.org/web/packages/tigris/index.
html

timeDate 3043.102 https://cran.r-


project.org/web/packages/timeDate/in
dex.html

timelineS 0.1.1 https://cran.r-


project.org/web/packages/timelineS/in
dex.html

timeSeries 3042.102 https://cran.r-


project.org/web/packages/timeSeries/i
ndex.html

timetk 0.1.0 https://cran.r-


project.org/web/packages/timetk/index
.html
PA C K A GE VERSIO N L IN K

timevis 0.4 https://cran.r-


project.org/web/packages/timevis/inde
x.html

tm 0.7-3 https://cran.r-
project.org/web/packages/tm/index.ht
ml

tmap 1.11-1 https://cran.r-


project.org/web/packages/tmap/index.
html

tmaptools 1.2-3 https://cran.r-


project.org/web/packages/tmaptools/i
ndex.html

TMB 1.7.13 https://cran.r-


project.org/web/packages/TMB/index.h
tml

tokenizers 0.2.1 https://cran.r-


project.org/web/packages/tokenizers/i
ndex.html

tools 3.4.4 NA

topicmodels 0.2-7 https://cran.r-


project.org/web/packages/topicmodels
/index.html

TraMineR 2.0-8 https://cran.r-


project.org/web/packages/TraMineR/in
dex.html

translations 3.4.4 NA

tree 1.0-39 https://cran.r-


project.org/web/packages/tree/index.ht
ml

treemap 2.4-2 https://cran.r-


project.org/web/packages/treemap/ind
ex.html

trelliscopejs 0.1.18 https://cran.r-


project.org/web/packages/trelliscopejs/
index.html

trimcluster 0.1-2 https://cran.r-


project.org/web/packages/trimcluster/i
ndex.html

truncnorm 1.0-8 https://cran.r-


project.org/web/packages/truncnorm/i
ndex.html
PA C K A GE VERSIO N L IN K

TSA 1.01 https://cran.r-


project.org/web/packages/TSA/index.ht
ml

tseries 0.10-43 https://cran.r-


project.org/web/packages/tseries/index
.html

tsfa 2014.10-1 https://cran.r-


project.org/web/packages/tsfa/index.ht
ml

tsintermittent 1.9 https://cran.r-


project.org/web/packages/tsintermitte
nt/index.html

tsoutliers 0.6-6 https://cran.r-


project.org/web/packages/tsoutliers/in
dex.html

TSP 1.1-5 https://cran.r-


project.org/web/packages/TSP/index.ht
ml

TTR 0.23-3 https://cran.r-


project.org/web/packages/TTR/index.ht
ml

tweedie 2.3.2 https://cran.r-


project.org/web/packages/tweedie/ind
ex.html

tweenr 1.0.1 https://cran.r-


project.org/web/packages/tweenr/inde
x.html

twitteR 1.1.9 https://cran.r-


project.org/web/packages/twitteR/inde
x.html

udpipe 0.5 https://cran.r-


project.org/web/packages/udpipe/inde
x.html

udunits2 0.13 https://cran.r-


project.org/web/packages/udunits2/in
dex.html

units 0.5-1 https://cran.r-


project.org/web/packages/units/index.
html

UpSetR 1.3.3 https://cran.r-


project.org/web/packages/UpSetR/inde
x.html
PA C K A GE VERSIO N L IN K

urca 1.3-0 https://cran.r-


project.org/web/packages/urca/index.h
tml

useful 1.2.3 https://cran.r-


project.org/web/packages/useful/index.
html

UsingR 2.0-5 https://cran.r-


project.org/web/packages/UsingR/inde
x.html

usmap 0.2.1 https://cran.r-


project.org/web/packages/usmap/inde
x.html

utf8 1.1.3 https://cran.r-


project.org/web/packages/utf8/index.h
tml

utils 3.4.4 NA

uuid 0.1-2 https://cran.r-


project.org/web/packages/uuid/index.h
tml

V8 2.2 https://cran.r-
project.org/web/packages/V8/index.ht
ml

vars 1.5-2 https://cran.r-


project.org/web/packages/vars/index.h
tml

vcd 1.4-4 https://cran.r-


project.org/web/packages/vcd/index.ht
ml

vctrs 0.1.0 https://cran.r-


project.org/web/packages/vctrs/index.h
tml

vdiffr 0.2.2 https://cran.r-


project.org/web/packages/vdiffr/index.
html

vegan 2.4-6 https://cran.r-


project.org/web/packages/vegan/index.
html

VennDiagram 1.6.20 https://cran.r-


project.org/web/packages/VennDiagra
m/index.html
PA C K A GE VERSIO N L IN K

VGAM 1.0-5 https://cran.r-


project.org/web/packages/VGAM/inde
x.html

VIF 1.0 https://cran.r-


project.org/web/packages/VIF/index.ht
ml

VIM 4.7.0 https://cran.r-


project.org/web/packages/VIM/index.h
tml

vioplot 0.2 https://cran.r-


project.org/web/packages/vioplot/inde
x.html

viridis 0.5.1 https://cran.r-


project.org/web/packages/viridis/index.
html

viridisLite 0.3.0 https://cran.r-


project.org/web/packages/viridisLite/in
dex.html

visNetwork 2.0.3 https://cran.r-


project.org/web/packages/visNetwork/i
ndex.html

vistime 0.4.0 https://cran.r-


project.org/web/packages/vistime/inde
x.html

wavethresh 4.6.8 https://cran.r-


project.org/web/packages/wavethresh/
index.html

webshot 0.5.0 https://cran.r-


project.org/web/packages/webshot/ind
ex.html

webutils 0.6 https://cran.r-


project.org/web/packages/webutils/ind
ex.html

weco 1.1 https://cran.r-


project.org/web/packages/weco/index.
html

WeibullR 1.0.10 https://cran.r-


project.org/web/packages/WeibullR/ind
ex.html

weights 0.85 https://cran.r-


project.org/web/packages/weights/ind
ex.html
PA C K A GE VERSIO N L IN K

whisker 0.3-2 https://cran.r-


project.org/web/packages/whisker/inde
x.html

withr 2.1.2 https://cran.r-


project.org/web/packages/withr/index.
html

wmtsa 2.0-3 https://cran.r-


project.org/web/packages/wmtsa/index
.html

wordcloud 2.5 https://cran.r-


project.org/web/packages/wordcloud/i
ndex.html

wordcloud2 0.2.1 https://cran.r-


project.org/web/packages/wordcloud2/
index.html

xesreadR 0.2.2 https://cran.r-


project.org/web/packages/xesreadR/in
dex.html

xgboost 0.6.4.1 https://cran.r-


project.org/web/packages/xgboost/ind
ex.html

XML 3.98-1.10 https://cran.r-


project.org/web/packages/XML/index.h
tml

xml2 1.2.0 https://cran.r-


project.org/web/packages/xml2/index.h
tml

xplorerr 0.1.1 https://cran.r-


project.org/web/packages/xplorerr/ind
ex.html

xtable 1.8-2 https://cran.r-


project.org/web/packages/xtable/index.
html

xts 0.10-2 https://cran.r-


project.org/web/packages/xts/index.ht
ml

yaml 2.1.18 https://cran.r-


project.org/web/packages/yaml/index.h
tml

yarrr 0.1.5 https://cran.r-


project.org/web/packages/yarrr/index.h
tml
PA C K A GE VERSIO N L IN K

YieldCurve 4.1 https://cran.r-


project.org/web/packages/YieldCurve/i
ndex.html

zeallot 0.1.0 https://cran.r-


project.org/web/packages/zeallot/index
.html

zic 0.9.1 https://cran.r-


project.org/web/packages/zic/index.ht
ml

zipfR 0.6-10 https://cran.r-


project.org/web/packages/zipfR/index.h
tml

zoo 1.8-1 https://cran.r-


project.org/web/packages/zoo/index.ht
ml

R scripts that are not supported in Power BI


The following table shows which packages are not suppor ted in the Power BI service.

PA C K A GE REQ UEST DAT E REA SO N

RgoogleMaps 10/05/2016 Networking is blocked

mailR 10/03/2016 Networking is blocked

RevoScaleR 8/30/2016 ships only with Microsoft R Server

Next steps
For more information about R in Power BI, take a look at the following articles:
Creating R visuals in the Power BI service
Create Power BI visuals using R
Running R scripts in Power BI Desktop
Using R in Power Query Editor
Generate data insights on your dataset
automatically with Power BI
9/20/2021 • 2 minutes to read • Edit Online

Do you have a new dataset and aren't sure where to start? Need to build a dashboard quickly? Want to look for
insights you may have missed?
Run quick insights to generate interesting visualizations based on your data. This article explains how to run
quick insights on an entire dataset (quick insights). You can also run quick insights on a specific dashboard tile
(scoped insights). You can even run insights on an insight!

NOTE
Insights doesn't work with DirectQuery, streaming, and PUSH datasets; it only works with data uploaded to Power BI.
Row-level security (RLS) isn't supported by quick insights, even in import mode.

We built the insights feature on a growing set of advanced analytical algorithms that we developed with
Microsoft Research. We continue to use these algorithms to help more people to find insights in their data in
new and intuitive ways. You might also be interested in learning how to optimize your data for quick insights.

Run quick insights on a dataset


Watch Amanda run quick insights on a dataset and open an insight in Focus mode. Amanda pins an insight as a
tile on the dashboard, then gets insights for a dashboard tile.

NOTE
This video might use earlier versions of Power BI Desktop or the Power BI service.

https://www.youtube.com/embed/et_MLSL2sA8
Now it's your turn. Explore insights by using the Supplier Quality Analysis sample.
1. From the Datasets + dataflows tab, select More options (...) next to the dataset, and then choose Get
quick insights .
2. Power BI uses various algorithms to search for trends in your dataset.

3. Within seconds, your insights are ready. Select View insights to display visualizations.

NOTE
Some datasets can't generate insights because the data isn't statistically significant. To learn more, see Optimize
your data for insights.

4. The visualizations display in a special Quick Insights canvas with up to 32 separate insight cards. Each
card has a chart or graph plus a short description.
Interact with the insight cards
1. Hover over a card and select the pin icon to add the visualization to a dashboard.
2. Hover over a card, select More options (...), and then choose View insights .
The insight screen opens in Focus mode.

3. In Focus mode you can:


Filter the visualizations. If the Filters pane isn't already open, expand it by selecting the arrow on
the right side of the window.
Pin the insight card to a dashboard by selecting the pin icon or Pin visual .
Run insights on the card itself, which is often referred to as scoped insights. In the top-right corner,
select the lightbulb icon or Get Insights .

The insight displays on the left. New cards, based solely on the data in that single insight, display
along the right.
4. To return to the original insights canvas, in the top-left corner, select Exit Focus mode .

Next steps
If you own a dataset, optimize it for Quick Insights.
Learn about the types of Quick Insights available.
More questions? Try the Power BI Community.
Optimize your data for Power BI Quick Insights
7/29/2021 • 2 minutes to read • Edit Online

Want to improve quick insights results? If you are a dataset owner, try these:
Hide or unhide columns in your dataset. Power BI quick insights doesn't search hidden columns. So hide
duplicate or unnecessary columns and unhide interesting columns.
Use a mix of data types such as names, times, dates, and numbers.
Avoid (or hide) columns with duplicate information. This takes valuable time away from searching for
meaningful patterns. For example, one column with state names spelled out and another column with state
name abbreviations.
Do you get an error message stating that your data isn't statistically significant? This can happen with models
that are very simple, or that don't have much data, or that don't have date or numeric columns.
Next steps
Power BI quick insights
More questions? Try the Power BI Community
Types of insights supported by Power BI
9/13/2021 • 4 minutes to read • Edit Online

APPLIES TO: Power BI service for business users Power BI service for designers & developers
Power BI Desktop Requires Pro or Premium license
You can ask Power BI to look through your data and find interesting trends and patterns. These trends and
patterns are presented in the form of visuals that are called Insights. Insights are available for visuals on
dashboards, visuals in reports, and entire report pages.
To learn how to use Insights, see Power BI Insights

How does Insights work?


Power BI quickly searches different subsets of your dataset. As it searches, Power BI applies a set of sophisticated
algorithms to discover potentially interesting insights. You can run Insights on dashboard tiles, report visuals,
and report pages.
Some terminology
Power BI uses statistical algorithms to uncover Insights. The algorithms are listed and described in the next
section of this article. Before we get to the algorithms, here are definitions for some terms that may be
unfamiliar.
Measure - a measure is a quantitative (numeric) field that can be used to do calculations. Common
calculations are sum, average, and minimum. For example, if our company makes and sells skateboards, our
measures might be number of skateboards sold and average profit per year.
Dimension - dimensions are categorical (text) data. A dimension describes a person, object, item, products,
place, and time. In a a dataset, dimensions are a way to group measures into useful categories. For our
skateboard company, some dimensions might include looking at sales (a measure) by model, color, country,
or marketing campaign.
Correlation - a correlation tells us how the behavior of things are related. If their patterns of increase and
decrease are similar, then they are positively correlated. And if their patterns are opposite, then they are
negatively correlated. For example, if sales of our red skateboard increase each time we run a tv marketing
campaign, then sales of the red skateboard and the tv campaign are positively correlated.
Time series - a time series is a way of displaying time as successive data points. Those data points could be
increments such as seconds, hours, months, or years.
Continuous variable - a continuous variable can be any value between its minimum and maximum limits,
otherwise it is a discrete variable. Examples are temperature, weight, age, and time. Continuous variables can
include fractions or portions of the value. The total number of blue skateboards sold is a discrete variable
since we can't sell half a skateboard.

What types of insights can you find?


Power BI can find ten types of insights for dashboard tiles and these ten are described below. For reports, Power
BI proactively performs analyses for anomalies, trends, and KPIs.
Category outliers (top/bottom)
Highlights cases where one or two categories have much larger values than other categories.

Change points in a time series


Highlights when there are significant changes in trends in a time series of data.
Correlation
Detects cases where multiple measures show a similar pattern or trend when plotted against a category or value
in the dataset.

Low Variance
Detects cases where data points for a dimension aren't far from the mean, so the "variance" is low. Let's say you
have the measure "sales" and a dimension "region". And looking across region you see that there is very little
difference between the data points and the mean (of the data points). The insight triggers when the variance of
sales across all regions is below a threshold. In other words, when sales are pretty similar across all regions.
Majority (Major factors)
Finds cases where a majority of a total value can be attributed to a single factor when broken down by another
dimension.

Outliers
This insight type uses a clustering model to find outliers in non-time series data. Outliers detects when there are
specific categories with values significantly different than the other categories.
Overall trends in time series
Detects upward or downward trends in time series data.

Seasonality in time series


Finds periodic patterns in time series data, such as weekly, monthly, or yearly seasonality.
Steady share
Highlights cases where there is a parent-child correlation between the share of a child value in relation to the
overall value of the parent across a continuous variable. The steady share insight applies to the context of a
measure, a dimension, and another date/time dimension. This insight triggers when a particular dimension
value, e.g. "the east region", has a steady percentage of overall sales across that date/time dimension.
The steady share insight is similar to the low variance insight, because they both relate to the lack of variance of
a value across time. However, the steady share insight measures the lack of variance of the percentage of
overall across time, while the low variance insight measures the lack of variance of the absolute measure
values across a dimension.

Time series outliers


For data across a time series, detects when there are specific dates or times with values significantly different
than the other date/time values.

Next steps
Power BI insights
More questions? Try the Power BI Community
View data insights on dashboard tiles with Power BI
9/20/2021 • 2 minutes to read • Edit Online

APPLIES TO: Power BI service for business users Power BI service for designers & developers
Power BI Desktop Requires Pro or Premium license
Each visual tile on your dashboard is a doorway into data exploration. When you select a tile, it opens a report
or opens Q&A where you can filter and sort and dig into the dataset behind the report. And when you run
insights, Power BI does the data exploration for you.

Run insights to generate interesting interactive visuals based on your data. Insights can be run on a specific
dashboard tile and you can even run insights on an insight!
The insights feature is built on a growing set of advanced analytical algorithms developed in conjunction with
Microsoft Research that we'll continue to use to allow more people to find insights in their data in new and
intuitive ways.

Run insights on a dashboard tile


When you run insights on a dashboard tile, Power BI searches just the data used to create that single dashboard
tile.
1. Open a dashboard.
2. Hover over a tile. select More options (...), and choose View insights .
3. The tile opens in Focus mode with the insights cards displayed along the right.

4. Does one insight pique your interest? Select that insight card to dig further. The selected insight appears
on the left and new insight cards, based solely on the data in that single insight, display along the right.

Interact with the insight cards


Once you have an insight open, continue exploring.
Filter the visual on the canvas. To display the filters, in the upper right corner, select the arrow to expand
the Filters pane.
Run insights on the insight card itself. This is often referred to as related insights . Select an insight card
to make it active. It will move to the left side of the report canvas, and new cards, based solely on the data
in that single insight,will display along the right.

To return to your report, from the upper left corner, select Exit Focus mode .

Considerations and troubleshooting


View insights doesn't work with all dashboard tile types. For example, it is not available for Power BI
custom visuals.

Next steps
Run insights on report visuals using the Analyze feature
Learn about the types of Insights available
Create a Q&A visual in a report in Power BI
8/9/2021 • 5 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Desktop ✔
️ Power BI service
The Q&A visual allows users to ask natural language questions and get answers in the form of a visual.
Consumers can use it to quickly get answers to their data. Designers can also use it to create visuals quickly. If
you're a report designer, this article is for you. You can double-click anywhere on a report and use natural
language to get started. In this article, you create, format, and customize a Q&A visual. It supports themes and
other default formatting options available inside Power BI. After you create it, it behaves like any other visual,
supporting cross-filtering, cross-highlighting, and bookmarks.
Looking for more background about Q&A in Power BI? Check out Introduction to Q&A.

The Q&A visual consists of four core components:


The question box. This is where users type in their question and are shown suggestions to help them
complete their question.
A pre-populated list of suggested questions.
Icon to convert the Q&A visual into a standard visual.
Icon to open Q&A tooling, which allows designers to configure the underlying natural language engine.

Prerequisites
1. Download Sales & Marketing sample PBIX file to follow along.
2. In the upper left section of the Power BI Desktop, select File > Open .
3. Find your copy of the Sales & Marketing sample PBIX file .

4. Open the file in report view .

5. Select the plus sign to add a new page.


If you see an error when creating a Q&A visual, be sure to check the Q&A limitations article to see if the data
source configuration is supported.

NOTE
Sharing your report with a Power BI colleague requires that either you both have individual Power BI Pro or Premium Per
User (PPU) licenses or you save the report in a Premium capacity workspace. See sharing reports.

Create a Q&A visual using a suggested question


In this exercise, we'll select one of the suggested questions to create our Q&A visual.
1. Start on a blank report page and select the Q&A visual icon from the Visualizations pane.

2. Drag the border to resize the visual.

3. To create the visual, select one of the suggested questions or start typing in the question box. In this
example, we've selected top geo states by sum of revenue . Power BI does its best to select which
visual type to use. In this case, it's a map.
But you can tell Power BI which visual type to use by adding it to your natural language query. Keep in
mind that not all visual types will work or make sense with your data. For example, this data wouldn't
produce a meaningful scatter chart. But it works as a filled map.

Create a Q&A visual using a natural language query


In the example above, we selected one of the suggested questions to create our Q&A visual. In this exercise, we'll
type our own question. As we type our question, Power BI helps us with autocomplete, suggestion, and
feedback.
If you're unsure what type of questions to ask or terminology to use, expand Show all suggestions or look
through the Fields pane along the right side of the canvas. The Fields pane will get you familiar with the terms
and content of the Sales & Marketing dataset.
1. Type a question in the Q&A field. Power BI adds a red underline to words it does not recognize. Whenever
possible, Power BI helps define unrecognized words. In the first example below, selecting either of the
suggestions will work for us.

2. As we type more of the question, Power BI lets us know that it doesn't understand the question, and tries
to help. In the example below, Power BI asks us "Did you mean..." and suggests a different way to word
our question using terminology from our dataset.

3. With Power BI's help, we were able to ask a question with all recognizable terms. Power BI displays the
results as a line chart.

4. Let's change the visual to a column chart.


5. Add more visuals to the report page and see how the Q&A visual interacts with the other visuals on the
page. In this example, the Q&A visual has cross-filtered the line chart and map and cross-highlighted the
bar chart.

Format and customize the Q&A visual


The Q&A visual can be customized using the formatting pane, and by applying a theme.
Apply a theme
When you select a theme, that theme is applied to the entire report page. There are many themes to choose
from, so try them out until you get the look you desire.
1. In the menu bar, select the Home tab and choose Switch theme .
2. In this example, we've selected More themes > Color blind safe .

Format the Q&A visual


Format the Q&A visual, the question field, and the way suggestions are displayed. You can change everything
from the background of a title to the hover color for unrecognized words. Here we've added a grey background
to the question box and changed the underlines to yellow and green. The title is centered and has a yellow
background.
Convert your Q&A visual into a standard visual
We've formatted our color blind safe column chart visual a bit: We added a title and a border. Now we're ready
to convert it to a standard visual in our report and also pin it to a dashboard.

Select the icon to Turn this Q&A result into a standard visual .

This visual is no longer a Q&A visual but is a standard column chart. It can be pinned to a dashboard. In the
report, this visual behaves the same as other standard visuals. Notice that the Visualizations pane shows a
Column chart icon selected instead of the Q&A visual icon.
If you're using the Power BI Ser vice , you can now pin the visual to a dashboard by selecting the pin icon.
Advanced features of the Q&A visual
Selecting the cog icon opens the Q&A visual Tooling pane.

Use the Tooling pane to teach Q&A terms it doesn't recognize, to manage those terms, and to manage the
suggested questions for this dataset and report. In the Tooling pane, you can also review questions that users
have asked in this Q&A visual and see questions that users have flagged. To learn more, see Intro to Q&A
tooling to train Power BI Q&A.

Considerations and troubleshooting


The Q&A visual integrates with Office and Bing to attempt to match unrecognized common words with fields in
your dataset.

Next steps
There are several ways you can integrate natural language. For more information, see the following articles:
Q&A Tooling
Q&A Best Practices
Teach Q&A to understand questions and terms in
Power BI Q&A
7/29/2021 • 3 minutes to read • Edit Online

In the Teach Q&A section of Q&A setup, you train Q&A to understand natural-language questions and terms it
hasn't recognized. To begin, you submit a question that contains a word or words that Q&A didn't recognize.
Q&A then prompts you to define that term. You enter either a filter or a field name that corresponds to what
that word represents. Q&A then reinterprets the original question. If you're happy with the results, you save
them.

NOTE
The Teach Q&A functionality only supports import mode. It also doesn't yet support connecting to an on-premises or
Azure Analysis Services data source. This limitation should be removed in subsequent releases of Power BI.

Start to teach Q&A


1. In Power BI Desktop, on the Modeling ribbon, select Q&A Setup > Teach Q&A .

2. Type a sentence with a term Q&A doesn't recognize and select Submit .
3. Select the red-underlined word.
Q&A offers suggestions and prompts you to provide the correct definition of the term.
4. Under Define the terms Q&A didn't understand , provide a definition.
5. Select Save to preview the updated visual.
6. Enter the next question, or select the X to close.
Your report consumers won't see this change until you publish the report back to the service.

Define nouns and adjectives


You can teach Q&A two types of terms:
Nouns
Adjectives
Define a noun synonym
When working with data, you often may have names of fields that could be referred to with alternative names.
An example could be 'Sales'. Numerous words or phrases could refer to sales, such as 'revenue'. If a column is
named 'Sales', and report consumers type 'revenue', Q&A may fail to pick the correct column to answer the
question appropriately. In that case, you want to tell Q&A that 'Sales' and 'Revenue' refer to the same thing.
Q&A automatically detects when an unrecognized word is a noun using knowledge from Microsoft Office. If
Q&A detects a noun, it prompts you in the following way:
refers to
You fill in the box with the term from your data.

If you provide something other than a field from the data model, you may get undesirable results.
Define an adjective filter condition
Sometimes you may want to define terms that act as a condition on the underlying data. An example could be
'Awesome Publishers'. 'Awesome' could be a condition that only selects publishers that have published X
number of products. Q&A tries to detect adjectives, showing a different prompt:
that have
You fill in the box with the condition.

Some example conditions that you can define are:


Country which is USA
Country which is not USA
Products > 100
Products greater than 100
Products = 100
Products is 100
Products < 100
Products smaller than 100
In these examples, 'Products' could be either a column name or a measure.
You can also specify an aggregation in the Q&A expression itself. For example, if ‘popular products’ are products
with at least 100 units sold, you can define products with ‘sum of units sold > 100’ as popular.

You can only define a single condition in tooling. To define more complex conditions, use DAX to create a
calculated column or measure, and then use the tooling section to create a single condition for that column or
measure.

Manage terms
After you've provided definitions, you can go back to see all the fixes you made and edit or delete them.
1. In Q&A setup , go to the Manage terms section.
2. Delete any terms you no longer want. Currently you can't edit terms. To redefine a term, delete the term
and define it.
Next steps
There are a number of best practices for improving the natural language engine. For more information, Q&A
best practices.
Best practices to optimize Q&A in Power BI
7/29/2021 • 10 minutes to read • Edit Online

Using common phrases and natural language to ask questions of your data is powerful. Even more powerful is
when your data answers, which is what Q&A in Power BI does.
To enable Q&A to successfully interpret the large collection of questions it's capable of responding to, Q&A
must make assumptions about the model. If the structure of your model doesn't meet one or more of these
assumptions, you need to adjust your model. Those adjustments for Q&A are the same best-practice
optimizations for any model in Power BI, regardless whether you use Q&A.
In the following sections, we describe how to adjust your model so it works well with Q&A in Power BI.

Automatic adjustments that Q&A makes


Measure tables
In previous versions of Q&A, measure tables would confuse Q&A as the underlying table was disconnected.
Q&A works just fine with measure tables now.
Table names conflicting with column names
In previous versions of Q&A, if a table and column had the same name, the table would take preference. This
issue has been addressed, so you don't have to fix this issue in your models anymore.

Manual steps to improve Q&A


Use the new Q&A tooling to fix your questions
With the Q&A tooling, you can teach your core business terms to Q&A and fix questions your end users ask.
Sometimes, some questions still can't be addressed because the data is shaped incorrectly or data is missing. In
this case, read the other sections below to help you optimize. Read more about Q&A tooling.

Add missing relationships


If your model is missing relationships between tables, neither Power BI reports nor Q&A can interpret how to
join those tables. Relationships are the cornerstone of a good model. For example, you can't ask for the “total
sales for Seattle customers” if the relationship between the orders table and the customers table is missing. The
following images show a model that needs work, and a model that is ready for Q&A.
Needs work
In the first image, there are no relationships between the Customers, Sales, and Products tables.

Ready for Q&A


In the first image, relationships are defined between the tables.

Rename tables and columns


The choice of tables and columns is important for Q&A. For example, say you have a table named
CustomerSummary that contains a list of your customers. You would need to ask questions like “List the
customer summaries in Chicago” rather than “List the customers in Chicago”.
While Q&A can do some basic word breaking and detecting plurals, Q&A assumes that your table and column
names accurately reflect their content.
Consider another example. Imagine you have a table named Headcount that contains first and last names and
employee numbers. You have another table named Employees that contains employee numbers, job numbers,
and start dates. People familiar with the model might understand this structure. Someone else who asks “count
the employees” is going to get a count of the rows from the “Employees” table. This result is probably not what
they had in mind, because it’s a count of every job every employee has ever had. It would be better to rename
those tables to truly reflect what they contain.
Needs work
Table names like StoreInfo and Product List need work.

Ready for Q&A


Tables named Store and Products work better.

Fix incorrect data types


Imported data can have incorrect data types. In particular, date and number columns that are imported as
strings aren't interpreted by Q&A as dates and numbers. Make sure you select the correct data type in your
Power BI model.
Mark year and identifier columns as Don't Summarize
Power BI aggressively aggregates numeric columns by default, so questions like “total sales by year” can
sometimes result in a grand total of sales alongside a grand total of years. If you have specific columns where
you don't want Power BI to exhibit this behavior, set the Default Summarization property on the column to
Don’t Summarize . Be mindful of year , month , day , and ID columns, as those columns are the most frequent
problems. Other columns that aren’t sensible to sum, such as age, could also benefit from setting Default
Summarization to Don’t Summarize or to Average . You'll find this setting in the Modeling tab.

Choose a Data Category for each date and geography column


The Data Categor y provides additional semantic knowledge about the content of a column beyond its data
type. For example, you can mark an integer column as a zip code, a string column as a City, Country/Region, and
so on. Q&A uses this information in two important ways: For visualization selection and for language biases.
First, Q&A uses the Data Categor y information to help make choices about what kind of visual display to use.
For example, it recognizes that columns with date or time Data Categories are typically a good choice for the
horizontal axis of a line chart or the play axis of a bubble chart. And it assumes that results containing columns
with geographical Data Categories may look good on a map.
Second, Q&A makes some educated guesses about how users are likely to talk about date and geography
columns, to help it understand certain types of questions. For example, the “when” in “When was John Smith
hired?” is almost certain to map to a date column, and the “Brown” in “Count customers in Brown” is more likely
to be a city than a hair color.
Choose a Sort By Column for relevant columns
The Sor t By Column property allows sorting in one column to automatically sort a different column instead.
For example, when you ask “sort customers by shirt size”, you probably want your Shirt Size column to sort by
the underlying size number (XS, S, M, L, XL) rather than alphabetically (L, M, S, XL, XS).

Normalize your model


Rest assured that we’re not suggesting you need to reshape your entire model. However, certain structures are
so difficult that Q&A doesn't handle them well. If you perform some basic normalization of the structure of your
model, the usability of Power BI reports increases significantly, along with the accuracy of Q&A results.
Follow this general rule: Each unique “thing” the user talks about should be represented by exactly one model
object (table or column). So, if your users talk about customers, there should be one customer object. And, if
your users talk about sales, there should be one sales object. Sounds simple, doesn't it? Depending on the shape
of the data you’re starting with, it can be. There are rich data shaping capabilities available in Quer y Editor if
you need them, while many of the more straightforward transformations can happen simply using calculations
in the Power BI model.
The following sections contain some common transformations you might need to perform.
Create new tables for multi-column entities
If you have multiple columns that act as a single distinct unit within a larger table, those columns should be split
out into their own table. For example, say you have a Contact Name, Contact Title, and Contact Phone column
within your Companies table. A better design would be to have a separate Contacts table to contain the Name,
Title, and Phone, and a link back to the Companies table. That makes it easier to ask questions about contacts
independently of questions about companies for which they are the contact, and improves display flexibility.
Needs work

Ready for Q&A


Pivot to eliminate property bags
If you have property bags in your model, they should be restructured to have a single column per property.
Property bags, while convenient for managing large numbers of properties, suffer from a number of inherent
limitations that neither Power BI reports nor Q&A are designed to work around.
For example, consider a CustomerDemographics table with CustomerID, Property, and Value columns, where
each row represents a different property of the customer (for example, age, marital status, city, and so on). By
overloading the meaning of the Value column based on the content of the Property column, it becomes
impossible for Q&A to interpret most queries that reference it. A simple question such as “show the age of each
customer” might happen to work, since it could be interpreted as “show the customers and customer
demographics where property is age”. However, the structure of the model simply doesn’t support slightly more
complex questions like “average age of customers in Chicago.” While users who directly author Power BI reports
can sometimes find clever ways to get the data they are looking for, Q&A only works when each column has
only a single meaning.
Needs work

Ready for Q&A

Union to eliminate partitioning


If you've partitioned your data across multiple tables, or have pivoted values across multiple columns, a number
of common operations are difficult or impossible for your users to achieve. Consider first a typical table
partitioning: a Sales2000-2010 table and a Sales2011-2020 table. If all of your important reports are restricted
to a specific decade, you could probably leave it this way for Power BI reports. However, the flexibility of Q&A
leads your users to expect answers to questions like “total sales by year.” For this query to work, you need to
union the data into a single Power BI model table.
Similarly, consider a typical pivoted value column: a BookTour table containing Author, Book, City1, City2, and
City3 columns. With a structure like this, even simple questions like “count books by city” cannot be interpreted
correctly. For this query to work, create a separate BookTourCities table, which unions the city values into a
single column.
Needs work

Ready for Q&A

Split formatted columns


If the source from which you're importing your data contains formatted columns, Power BI reports (and Q&A)
don't reach inside the column to parse its contents. So if you have, for example, a Full Address column that
contains the address, city, and country, you should also split it into Address, City, and Country columns so your
users can query against them individually.
Needs work

Ready for Q&A

Similarly, if you have any full name columns for a person, add First Name and Last Name columns, just in
case someone wants to ask questions using partial names.
Create new tables for multi-value columns
Also a similar situation, if the source from which you're importing your data contains multi-value columns,
Power BI reports (and Q&A) can't reach inside the column to parse out the contents. So, if you have, for example,
a Composer column that contains the names of multiple composers for a song, you should split it into multiple
rows in a separate Composers table.
Needs work
Ready for Q&A

Denormalize to eliminate inactive relationships


The one exception to the “normalization is better” rule occurs when there is more than one path to get from one
table to another. For example, say you have a Flights table with both SourceCityID and DestinationCityID
columns, each of which are related to the Cities table. One of those relationships has to be marked as inactive.
Since Q&A can only use active relationships, you can't ask questions about either source or destination,
depending on which you chose. If you instead denormalize the city name columns into the Flights table, you can
ask questions like: “list the flights for tomorrow with a source city of Seattle and a destination city of San
Francisco.”
Needs work

Ready for Q&A

Add synonyms to tables and columns


This step applies specifically to Q&A (and not to Power BI reports in general). Users often have a variety of terms
they use to refer to the same thing, such as total sales, net sales, total net sales. You can add these synonyms to
tables and columns in the Power BI model.
This step can be important. Even with straightforward table and column names, users of Q&A ask questions
using the vocabulary that first comes to them. They're not choosing from a predefined list of columns. The more
sensible synonyms you add, the better your users' experience is with your report. To add synonyms, in Power BI
Desktop go to Model view, select the Modeling tab, and select a field or table. The Properties pane shows the
Synonyms box, where you can add synonyms.
Be careful when adding synonyms. Adding the same synonym to more than one column or table introduces
ambiguity. Q&A uses context where possible to choose between ambiguous synonyms, but not all questions
have sufficient context. For example, when your user asks “count the customers”, if you have three things with
the synonym “customer” in your model, the users might not get the answer they're looking for. In these cases,
make sure the primary synonym is unique, as that's what is used in the restatement. It can alert the user to the
ambiguity (for example, a restatement of “show the number of archived customer records”), hinting they might
want to ask it differently.

Next steps
Intro to Power BI Q&A
Use Power BI Q&A to explore your data and create
visuals
9/20/2021 • 5 minutes to read • Edit Online

Sometimes the fastest way to get an answer from your data is to ask a question using natural language. The
Q&A feature in Power BI lets you explore your data in your own words. The first part of this article shows how
you use Q&A in dashboards in the Power BI service. The second part shows what you can do with Q&A when
creating reports in either the Power BI service or Power BI Desktop. For more background, see the Q&A for
consumers article.
Q&A in the Power BI mobile apps and Q&A with Power BI Embedded are covered in separate articles.
Q&A is interactive, even fun. Often, one question leads to others as the visualizations reveal interesting paths to
pursue. Watch Amanda demonstrate using Q&A to create visualizations, dig into those visuals, and pin them to
dashboards.

NOTE
This video might use earlier versions of Power BI Desktop or the Power BI service.

https://www.youtube.com/embed/qMf7OLJfCz8?list=PL1N57mwBHtN0JFoKSR0n-tBkUJHeMP2cP

Part 1: Use Q&A on a dashboard in the Power BI service


In the Power BI service (app.powerbi.com), a dashboard contains tiles pinned from one or more datasets, so you
can ask questions about any of the data contained in any of those datasets. To see what reports and datasets
were used to create the dashboard, select More options (...) from the menu bar, and then select See related
content .

The Q&A question box is located in the upper-left corner of your dashboard, where you type your question
using natural language. Don't see the Q&A box? See Considerations and troubleshooting in the Q&A for
consumers article. Q&A recognizes the words you type and figures out where (in which dataset) to find the
answer. Q&A also helps you form your question with auto-completion, restatement, and other textual and visual
aids.

The answer to your question is displayed as an interactive visualization and updates as you modify the question.
1. Open a dashboard and place your cursor in the question box. Even before you start typing, Q&A displays
a new screen with suggestions to help you form your question. You see phrases and complete questions
containing the names of the tables in the underlying datasets and may even see complete questions
listed if the dataset owner has created featured questions,

You can choose one of these questions as a starting point and continue to refine the question to find a
specific answer. Or use a table name to help you word a new question.
2. Select from the list of questions, or begin typing your own question and select from the dropdown
suggestions.

3. As you type a question, Q&A picks the best visualization to display your answer.
4. The visualization changes dynamically as you modify the question.

5. When you type a question, Power BI looks for the best answer using any dataset that has a tile on that
dashboard. If all the tiles are from datasetA, then your answer will come from datasetA. If there are tiles
from datasetA and datasetB, then Q&A searches for the best answer from those 2 datasets.
TIP
So be careful, if you only have one tile from datasetA and you remove it from your dashboard, Q&A will no longer
have access to datasetA.

6. When you're happy with the result, pin the visualization to a dashboard by selecting the pin icon in the
top right corner. If the dashboard has been shared with you, or is part of an app, you won't be able to pin.

Part 2: Use Q&A in a report in Power BI service or Power BI Desktop


Use Q&A to explore your dataset and to add visualizations to the report and to dashboards. A report is based on
a single dataset and may be completely blank or contain pages full of visualizations. But just because a report is
blank, doesn't mean there isn't any data for you to explore -- the dataset is linked to the report and is waiting for
you to explore and create visualizations. To see which dataset is being used to create a report, open the report in
Power BI service Reading view and select More options (...) > See related content from the menu bar.

To use Q&A in reports, you must have edit permissions for the report and underlying dataset. In the Q&A for
consumers article, we refer to this as a creator scenario. If instead you're consuming a report that has been
shared with you, Q&A isn't available.
1. In Power BI service, open a report in Editing view and select Ask a question from the menu bar. In
Power BI Desktop Report view, select Q&A from the Inser t tab.
Ser vice
Power BI Desktop

2. A Q&A question box displays on your report canvas. In the example below, the question box displays on
top of another visualization. This is fine, but it might be better to add a blank page to the report before
asking a question.

3. Place your cursor in the question box. As you type, Q&A displays suggestions to help you form your
question.

4. As you type a question, Q&A picks the best visualization to display your answer; and the visualization
changes dynamically as you modify the question.
5. When you have the visualization you like, select ENTER. To save the visualization with the report, select
File > Save .
6. Interact with the new visualization. It doesn't matter how you created the visualization -- all the same
interactivity, formatting, and features are available.

If you've created the visualization in Power BI service, you can even pin it to a dashboard.

Tell Q&A which visualization to use


With Q&A, not only can you ask your data to speak for itself, you can tell Power BI how to display the answer.
Just add "as a <visualization type>" to the end of your question. For example, "show inventory volume by plant
as a map" and "show total inventory as a card". Try it for yourself.

Considerations and troubleshooting


If you've connected to a dataset using a live connection or gateway, Q&A needs to be enabled for that
dataset.
You've opened a report and don't see the Q&A option. If you're using Power BI service, make sure the
report is open in Editing view. If you can't open Editing view it means you don't have edit permissions for
that report and you can use Q&A with that specific report.

Next steps
Q&A for consumers
Tips for asking questions in Q&A
Prepare a workbook for Q&A
Prepare an on-premises dataset for Q&A
Pin a tile to the dashboard from Q&A
Create a Q&A visual in a dashboard in Power BI
8/9/2021 • 2 minutes to read • Edit Online

Sometimes the fastest way to get an answer from your data is to ask a question using natural language. In this
article, we look at two different ways of creating the same visualization: first, asking a question with Q&A in a
dashboard, and second, building it in a report. We use the Power BI service to build the visual in the report, but
the process is almost identical using Power BI Desktop.

To follow along, you must use a report that you can edit, so we'll use one of the samples available with Power BI.

Create a Q&A visual in a dashboard


How would we go about creating this line chart using Q&A?
1. From your Power BI workspace, select Get Data > Samples > Retail Analysis Sample > Connect .
2. Open the Retail Analysis Sample dashboard and place your cursor in the Q&A box, Ask a question
about your data .

3. In the Q&A box, type something like this question:


this year sales and last year sales by month as area char t
As you type your question, Q&A picks the best visualization to display your answer; and the visualization
changes dynamically as you modify the question. Also, Q&A helps you format your question with
suggestions, autocomplete, and spelling corrections. Q&A recommends a small wording change: "this
year sales and last year sales by time month as area chart".

4. Select the sentence to accept the suggestion.


When you finish typing your question, the result is the same chart that you see in the dashboard.

5. To pin the chart to your dashboard, select the pin icon in the upper-right corner.

Create a visual in the report editor


1. Navigate back to the Retail Analysis Sample dashboard.
2. The dashboard contains the same area chart tile for "Last Year Sales and This Year Sales." Select this tile.
Don't select the tile you created with Q&A. Selecting it opens Q&A. The original area chart tile was
created in a report, so the report opens to the page that contains this visualization.

3. Open the report in Editing View by selecting Edit . If you aren't the owner of a report, you don't have the
option to open the report in Editing view.
4. Select the area chart and review the settings in the Fields pane. The report creator built this chart by
selecting these three values (Last Year Sales and This Year Sales > Value from the Sales table, and
FiscalMonth from the Time table) and organizing them in the Axis and Values wells.

You see they ended up with the same visual. Creating it this way wasn't too complicated. But creating it
with Q&A was easier!

Next steps
Use Q&A in dashboards and reports
Q&A for consumers
Make your data work well with Q&A in Power BI
More questions? Try the Power BI Community
Make Excel data work well with Q&A in Power BI
7/29/2021 • 2 minutes to read • Edit Online

If you are a person who creates data models or builds Excel workbooks that will be used with Power BI, read on...
In Power BI, Q&A can search structured data and choose the right visualization for your question -- that's what
makes it a compelling tool to use.
Q&A can work on any uploaded Excel file that has tables, ranges, or contains a PowerPivot model, but the more
optimizations and data cleaning you do, the more robust Q&A performance is. If you plan on sharing reports
and dashboards based on your dataset, you'll want your colleagues to have an easy time asking questions and
getting quality answers.

How Q&A works with Excel


Q&A has a set of core natural language understanding abilities that work across your data. It has context-
dependent keyword search for your Excel table, column, and calculated field names. It also has built-in
knowledge for how to filter, sort, aggregate, group, and display data.
For example, in an Excel table named “Sales”, with columns “Product”, “Month”, “Units Sold”, “Gross Sales”, and
“Profit”, you could ask questions about any of those entities. You could ask to show sales, total profit by month,
sort products by units sold, and many others. Read more about using Q&A in dashboards and reports, and
visualization types you can specify in a Q&A query.

Prepare an Excel dataset for Q&A


Q&A relies on the names of tables, columns, and calculated fields to answer data-specific questions, meaning
what you call entities in your workbook is important!
Here are some tips for making the most of Q&A in your workbook.
Make sure your data is in an Excel table. Here's how to create an Excel table.
Make sure the names of your tables, columns, and calculated field make sense in natural speech.
For example, if you have a table with sales data, call the table “Sales”. Column names like “Year”,
“Product”, “Sales Rep”, and “Amount” will work well with Q&A.
If your workbook has a Power Pivot data model, you can do even more optimizations. Read more about
Demystifying Power BI Q&A part 2 from our in-house team of natural language experts.
Open the dataset in Power BI Desktop and create new columns, create measures, concatenate fields to
create unique values, classify data by type (e.g., dates, strings, geography, images, URLs), and more.

Next steps
Q&A for consumers
Use Q&A in dashboards and reports
Prepare on-premises datasets for Q&A
Get data (for Power BI)
More questions? Try the Power BI Community
Create featured questions for Power BI Q&A
7/29/2021 • 2 minutes to read • Edit Online

If you have edit permission for a dataset, you can add your own featured questions to that dataset. Power BI
Q&A will show those questions to colleagues who consume dashboards based on that dataset. Featured
questions give your colleagues ideas about the types of questions they can ask about the dataset. The featured
questions you add are up to you -- add popular questions, questions that display interesting results, or
questions that may be hard to phrase.

NOTE
Q&A featured questions are available for use in the Microsoft Power BI app on iPads, iPhones, and iPod Touch devices,
and in the Power BI service (app.powerbi.com). Creating the questions is only available in the Power BI service.

Create a featured question


This article uses the Retail Analysis Sales sample. Follow these step-by-step instructions to try exploring a
dataset yourself.
1. On the dashboard, select the Ask a question about your data Q&A question box. Notice that Q&A is
already being helpful by displaying some suggested questions.
2. To create a featured question, in the top-right corner of Power BI, select the More options ellipsis, point
to Settings , and select Settings .

3. Select Datasets > Retail Analysis sample > Featured Q&A questions .
4. Select Add a question .
5. Type your question in the text box. For example, type "show last year sales by territory as filled map" and
select Apply . Optionally, add another question by selecting Add a question again.

6. Navigate back to the Power BI dashboard for Retail Analysis Sample, and place your cursor in the Q&A

question box.
7. The Q&A screen appears, with the new featured question, show last year sales by territor y as filled
map showing. Select the featured question.

8. Power BI creates the answer and displays it as a filled map visualization.


Next steps
Q&A for consumers
Use Q&A in dashboards and reports
Basic concepts for designers in the Power BI service
More questions? Try the Power BI Community
Enable Q&A for live connections in Power BI
9/15/2021 • 3 minutes to read • Edit Online

You can import datasets into Power BI, or you can create a live connection to them. Live connection datasets are
often on premises. If so, you manage live connections by using a gateway. Data and inquiries are sent back and
forth using live queries.

NOTE
Live connections also support Azure Analysis Services datasets, which don't require a gateway.

Q&A for on-premises data gateway datasets


If you'd like to use Q&A with datasets you access through a gateway, you'll need to enable them first.
Once enabled, Power BI creates an index of your data source and uploads a subset of that data to Power BI to
enable asking questions. It may take several minutes to create the initial index and Power BI maintains and
updates the index automatically as your data changes. Using Q&A with these datasets behaves the same as with
data published to Power BI. The full set of features available in the Q&A experience is supported in both cases.
As you ask questions in Power BI, Q&A determines the best visual to construct or report sheet to use to answer
your question using an index of your dataset. After determining the best potential answer, Q&A uses
DirectQuery to fetch live data from the data source via the gateway to populate charts and graphs. As a result,
Power BI Q&A always shows the most up-to-date data directly from the underlying data source.
Since Power BI Q&A uses the text and schema values from your data source to determine how to query the
underlying model for answers, searches for specific new or deleted text values (such as asking for a customer
name related to a newly added text record) rely on the index being up-to-date with the latest values. Power BI
automatically keeps the text and schema index up to date within a 60-minute window of changes.
For more information, see:
What is the on-premises data gateway?
Power BI Q&A for consumers

Enable Q&A
Once you have the data gateway set up, connect to your data from Power BI. Either create a dashboard using
your on-premises data, or upload a .pbix file that uses on-premises data. You may also already have on-
premises data in dashboards, reports, and datasets that have been shared with you.

1. In the upper-right corner of Power BI, select the cog icon and choose Settings .
2. Select datasets and choose the dataset to enable for Q&A.

3. Expand Q&A , select the checkbox for Turn on Q&A to ask natural language questions about your
data , and choose Apply .

What data is cached and how is privacy protected?


When you enable Q&A for your on-premises data, a subset of your data is cached in the service. This caching
ensures that Q&A works with a reasonable performance. Power BI excludes values longer than 24 characters
from caching. The cache is deleted within a few hours when you disable Q&A by unchecking Turn on Q&A for
this dataset , or when you delete your dataset.

Considerations and troubleshooting


The feature has some limitations:
Initially the feature is only available for SQL Server 2016 Analysis Services Tabular data sources. The feature
is optimized to work with tabular data. The Q&A experience isn't yet supported for multi-dimensional.
Additional data sources supported by the on-premises data gateway will be rolled out over time.
Full support for row-level security defined in SQL Server Analysis Services isn't available initially. While
asking questions in Q&A, the “autocomplete” of questions while typing can show string values a user doesn't
have access to. However, RLS defined in the model is respected for report and chart visuals so no underlying
numerical data can be exposed. Options to control this behavior will be released in coming updates.
Q&A is not supported for data models with Object level security (OLS). To learn more, see Q&A limitations.
Live connections are only supported with the on-premises data gateway. As a result, this feature can't be
used with the personal gateway.

Next steps
On-premises data gateway
Manage your data source - Analysis Services
Basic concepts for designers in the Power BI service
Power BI Q&A Overview
More questions? Try asking the Power BI Community
Get started with goals in Power BI (preview)
9/21/2021 • 5 minutes to read • Edit Online

Goals in Power BI let customers curate their metrics and track them against key business objectives, in a single
pane. This feature enhances data culture by promoting accountability, alignment, and visibility for teams and
initiatives within organizations.

This article covers the basics of using Goals in the Power BI service. See the other articles about goals for more
detail:
Create scorecards and manual goals in Power BI
Create connected goals in Power BI
Stay on top of your goals in the Power BI service
Keep on top of your goals on the go in the Power BI mobile apps, too

License requirements
Goals is a Premium feature. Users can access various aspects of the experience depending on their license.

P ERM ISSIO N M IN IM UM REQ UIREM EN T S

Authoring scorecards, goals, and performing check-ins Power BI Premium capacity + Power BI Pro license

OR

Power BI Premium Per User license

Viewing scorecards and goals Power BI Premium capacity + Free user

OR

Power BI Premium Per User license


P ERM ISSIO N M IN IM UM REQ UIREM EN T S

Viewing scorecard samples Free user

If you don’t meet the minimum requirements for any of these, contact your Power BI administrator before you
begin.

Explore the Goals hub page


After you sign in to the Power BI service, select Goals from the navigation pane. Power BI displays your Goals
hub page. The layout and content in the Goals page is different for every user. As a new user, your Goals page
will be empty, as shown the following image.

My goals and activity


The top section contains all the goals that matter the most to you. Power BI curates these goals automatically,
based on goals that you're assigned to, you've edited, or you've performed a recent check-in.

A goal must have at least two values to show up in this section.


Recent, Favorites, Shared with me, and All Scorecards
The next section is a tabbed list.
Recent are the scorecards you've visited most recently. Each item has a timestamp.
Favorites are the scorecards you've starred.

Shared with me contains scorecards that your colleagues have shared with you.
All scorecards lists all the scorecards you have access to.
Sample scorecards
The last section contains sample scorecards. As a new user, you can select one the pre-configured scorecards to
check out what scorecards are all about. Selecting a sample opens the scorecard.

Frequently asked questions (FAQ)


Why don’t I see histor y for my goal when I connect to a Power BI data point?
You don’t see a history for a single data point because we only pull history for time series data. To see the
history of your goal when you connect to time series data, select Track all data in this time series when you
connect.
I'm connecting to time series data and still don’t see the histor y of the goal. Why not?
We don't pull in the history of time series if we only have a partial date (day of the week, month, etc.) We can
only pull in the history of a time series when we have a full date to track (day, month, and year).
Why aren't my goals getting updated over time in my scorecard?
There are a few reasons why your goal may not be getting updated:
It’s a manual goal: Manual goals aren't updated automatically as they're not connected to a data source with
regular refreshes. To create a history for a manual goal, do regular check-ins.
You don't have scheduled refresh for the dataset: Goal values are only updated as often as the dataset is
refreshed. If you don’t have a scheduled refresh on your dataset, you won't see any updates in the goal value.
Learn about scheduled refresh.
Goals don’t get updated if they're created from a push dataset.
I'm tr ying to create a goal but I can’t connect to a repor t. Why do I see a yellow warning icon?
To connect your current value or target to data, you need build permissions for that report. Learn about build
permissions.
I shared a scorecard but my users can’t do check-ins and add notes. Why not?
Currently, users need to have edit permissions for the scorecard to add check-ins. Updated scorecard and goal-
level permissions are in the works. They'll allow check-in permissions without edit permissions for the
scorecard.
Why can’t I update the value as par t of my check-in?
You can only update values in manual goals. If a goal value is connected to data, you can't update it manually.
The data is pulled directly from the report and is updated as often as the dataset refreshes.
How often do goals update in the scorecard?
Goals only update as often as the data updates in the dataset. We support connecting via import, live
connection, and DirectQuery. Additionally, we take snapshots of the goals data at a maximum daily cadence, and
always retain the last updated value for a given day. The snapshots are always available in the underlying
dataset we create, which you can then build content on top of.
I changed the tracking cycle of my goal. Why does the data still look the same?
Changing the tracking cycle only changes the trend that you see below your value/target area. Changing this
setting doesn't impact refreshes on the data or when your data is updated in the goals.
Why don’t I see the Power BI Premium workspace I’m looking for when I create a scorecard?
In order to create a scorecard in a Premium workspace, you need a contributor or owner role in that workspace.
Learn about roles in the new workspaces.

Issues and limitations


Goals don't yet support bring your own key (BYOK).
Goals don't yet support row-level security (RLS).
For now, the maximum number of subgoal levels is four.
Goals don't support publish to web or “app-owns data scenarios” for embedded.
Mobile experience isn't currently available.
Business-to-business sharing (sharing across tenants) isn't supported.
Scorecards aren't supported in a Multi-Geo capacity.

Next steps
Create scorecards and manual goals in Power BI
Create connected goals in Power BI
Stay on top of your goals in Power BI
More questions? Try the Power BI Community.
Create scorecards and manual goals in Power BI
(preview)
7/2/2021 • 3 minutes to read • Edit Online

Goals in Power BI let customers curate their metrics and track them against key business objectives, in a single
pane. In this article, you complete the following steps:
Create your first scorecard.
Create a manual goal.
Edit a goal.
Share the scorecard with others.
You can also connect goals to an existing report visual in Power BI. See Create connected goals for details.

Prerequisites
Creating goals is a Power BI Premium feature, so you need either:
A Power BI Pro license and access to a Power BI Premium capacity
A Power BI Premium Per User license.
You also need:
Admin, Member, or Contributor role in a workspace. Read more about roles in the new workspaces.
Build permission for a dataset.

Step 1: Create a scorecard


1. Sign in to the Power BI service (app.powerbi.com) in your browser.
2. Select Goals in the navigation pane to open the Goals hub.

3. In the Goals hub, select New scorecard . The scorecard creation pane opens.
4. Name your scorecard, provide a description, and select a Power BI Premium workspace where you want
to store the scorecard.
If you don’t have a Premium workspace, you can't create a scorecard. You can create a Premium
workspace using this article, Create the new workspaces in Power BI.
5. Select Create . Power BI creates the scorecard and opens it.
Power BI creates these items in the Premium workspace: the scorecard itself, and a dataset associated
with your scorecard that houses all the goals data.

Step 2: Create a manual goal


1. In the scorecard, select New Goal .
2. Decide on a Goal name and an Owner .
Owners can be individuals or distribution groups within your organization’s Azure Active Directory.
3. Set Current and Target values for your goals. In this article, you enter the number manually. You can
also connect it to an existing report visual in Power BI. See Create connected goals for details.
4. Set the format for your values, and choose a Status , Star t date , and End date .

Power BI automatically represents values in numeric notation. For example, 2044 is represented as 2 K.
5. Select Save .
Goal name is the only required field for your goal. You can leave the remaining fields blank and come
back to edit it after defining all your goals.

Step 3 (Optional): Create subgoals


You can also define one or more subgoals for your goal. There are two entry points to create a subgoal.
1. Select the goal you want to create a subgoal for, and select Add subgoal on top of the scorecard.

Or Hover over the goal you want to create a subgoal for, select More options (...) > New subgoal .

2. Repeat the first step as needed to create more subgoals.


Make sure you have the goal selected so you can create subgoals.

Step 4 (Optional): Update the goal tracking cycle


All new goals created within scorecards have a default daily tracking cycle, which means that the data and
progress are calculated on a day-to-day basis. However, many goals and metrics demand to be tracked on a
different cadence. In those cases, you can change the default tracking cycle on the goal through goal settings.
The tracking cycle doesn't impact data refresh.
1. Open a scorecard and select Edit .

2. Select the name of any goal or subgoal. Power BI opens the Details pane.
3. Select the Settings tab.
4. Set the tracking cycle for your goal.
5. Choose a start date and select Track .

Step 5 (Optional): Share your scorecard


Sharing is the easiest way to give people access to your scorecard in the Power BI service. You can share with
people inside or outside your organization.
When you share a scorecard, the people you share it with can view and interact with it. They can also edit it if
they have an Admin, Member, or Contributor role in the workspace. Users that have access to the scorecard see
the same data you see in the scorecard. The coworkers you share with can also share with their coworkers, if
you allow them to. The people outside your organization can view and interact with the scorecard, but can't
share it.
To share, select the Share button in the scorecard action bar and follow the steps outlined in the
experience. It's the same as sharing a dashboard.
When you share scorecards, whether inside or outside your organization, your recipients need Power BI
Premium Per User (PPU) licenses, unless the content is in aPower BI Premium capacity.

Next steps
Get started with goals in Power BI
Create connected goals in Power BI
Stay on top of your goals in Power BI
More questions? Try the Power BI Community.
Create connected goals in Power BI (preview)
5/4/2021 • 3 minutes to read • Edit Online

Goals in Power BI let customers curate their metrics and track them against key business objectives. When
choosing values for your goals, you have a choice of:
Manually entering the current and target values.
Connecting either the current or target value to data in an existing Power BI report.
Connecting both values to data in an existing Power BI report.
This article is about connecting the values to data in an existing Power BI report. Connected values change
whenever the underlying data is updated. To learn about creating manual values, see Create a manual goal in
the article Create scorecards and manual goals .

Connect values to data


You can connect either the current or the target value, or both, to a value in a report.
1. Create a goal or edit an existing goal in a scorecard.
2. In the Current or Target field, select Connect to data .
3. In the dialog, search for the report with the data that you want to track, select it > Next .

This list contains all the reports that you have access to, across all workspaces, in Power BI.
4. In the report that you selected, navigate to the visual that contains the data you want to track.
5. Select the data point or visual. Power BI displays the measure card, summarizing all the filters applied to
the selection.

Currently there are some limitations on the values you can select. See the Limitations section in this
article for details.
6. Select Connect .
Power BI automatically represents values in numeric notation. For example, 2044 is represented as 2 K.
7. Select Save .

Choose measures for connected goals


The Connect to data experience makes it easy for scorecard authors to automate goals. You can select and
calculate measures at the following levels:
Visual
Legend
Data point
Axis value
To break this down further, there are two main types of cases for connecting to data in goals and subgoals:
Categorical data
Time-series data
Categorical data
Categorical data refers to cases where you are connecting a goal or subgoal to data other than time-series data.
For example, connecting to the total sales of the Outdoor product category:
Or connecting to the total number of results in the Family customer segment:

In these cases, depending on what you select, Power BI calculates the measures as follows:
Visual – measure is calculated at the aggregate level.
Legend – measure is filtered to the selected legend.
Data point – measure is filtered to the selected data point.
Axis value – measure is filtered to the category selected in the axis.
Time -series data
The time series refers to cases where you have a Date/Time field in the axis. In these cases, Power BI calculates
the measures as follows:
Visual – measure is calculated at the last data point in time series and history is pulled in.
Legend – measure is calculated at the last data point in time series and history is pulled in.
Data point – measure is calculated at the last data point in time series and history is pulled in.
Axis value – measure is calculated at the last data point in time series and history is pulled in.

Limitations selecting values


Currently there are limitations on the values you can choose in a visual.
In a 100% stacked bar or column chart, Power BI will pull in the measure value rather than the percentage.
In a multi-row card, Power BI will pull in the first measure in the card.
In gauges and KPI tiles, Power BI will pull in the value, but not the target, or the min or max value in the
gauge.
In a table with more than one column of measures, Power BI selects the first measure in the row.

Next steps
Get started with goals in Power BI
Create scorecards and manual goals in Power BI
Stay on top of your goals in Power BI
More questions? Try the Power BI Community.
View and update your goals in Power BI (preview)
8/27/2021 • 2 minutes to read • Edit Online

Goals in Power BI let customers curate their metrics and track them against key business objectives, in a single
pane. In addition to seeing all your goals in one view, scorecards make it easy for you to dig deeper into the
data, update your goals, and make notes on important events. These features are covered in this section.

View goal details


The goals Details pane provides the entire history for the goal from the start date, including check-ins, status
changes, and relevant notes.
To access the details pane, open a scorecard and select the goal name. Power BI automatically shows the
details pane.

Filtering and keyword search


Scorecards can be filtered to goals labeled as a particular status by clicking on the summary cards at the top of
the scorecard, making it easy to see what is on track or at risk.
There is also a keyword search that filters the scorecard down to goal with the keyword match. Select the filter
icon above the first goal, and type the keywords you're looking for. The scorecard filters to show those results
without losing the context of any parent/child goal relationships, making it easy to quickly find a particular goal
and see how it's doing.
Add or update manual values
1. In a scorecard, select the goal name.
2. In the Details pane, select New check-in .
3. Complete the following actions in any order:
Choose a date .
Enter a new or updated value .
Select a status .
Optionally, include a note .
4. Select Save .

Add or update connected values


1. In a scorecard, select the goal name.
2. In the Details pane, select New check-in .
3. Complete the following actions in any order:
Choose a date . Choosing a date auto-populates the value for that day. You can't override a connected
value.
Select a status .
Optionally, include a note .
4. Select Save .

Create automated status rules


You can automate status updates based on rules that govern that goal or subgoal. Rules trigger changes based
on value, percentage of target met, date conditions, or a combination of the three, making the rules as versatile
as possible. For connected goals, these status rules are refreshed every time the data in your scorecard is
refreshed. For manual goals, they're refreshed every time you perform a check-in.

Get started creating automated rules


1. In edit mode, select the goal for which you want to create status rules.
2. In the details pane, select the tab Status rules > New rule .
3. From the first dropdown, select whether you want to base your rule on Value or Date .

4. From the second dropdown, select your qualifier.


5. The last setting(s) is based on your first dropdown. If you chose Value , you can either set the value or the
percent or target met. If you selected Date in the first dropdown, you can select the date you want to
base your rule on.
6. Now set the status that should be shown when the rules are met, and also the Other wise status.

More aspects of status rules


With automated status rules, you can create create multiple conditions to ensure your rules represent
your unique business needs. You can also drag the rules to reorder the priority.
For the mobile experience, automatic refresh on status rules is not supported at this time.
Next steps
Get started with goals in Power BI
Create scorecards and manual goals in Power BI
Create connected goals in Power BI
More questions? Try the Power BI Community.
Introduction to dashboards for Power BI designers
4/2/2021 • 3 minutes to read • Edit Online

A Power BI dashboard is a single page, often called a canvas, that tells a story through visualizations. Because it's
limited to one page, a well-designed dashboard contains only the highlights of that story. Readers can view
related reports for the details.

Dashboards are a feature of the Power BI service only. They're not available in Power BI Desktop. Although you
can't create dashboards on mobile devices, you can view and share them there.

Dashboard basics
The visualizations you see on the dashboard are called tiles. You pin tiles to a dashboard from reports. If you're
new to Power BI, you can get a good foundation by reading Basic concepts for designers in the Power BI service.
The visualizations on a dashboard originate from reports and each report is based on a dataset. One way to
think of a dashboard is as an entryway to the underlying reports and datasets. Selecting a visualization takes
you to the report (and dataset) that it's based on.
Advantages of dashboards
Dashboards are a wonderful way to monitor your business and see all of your most important metrics at a
glance. The visualizations on a dashboard can come from one underlying dataset or many, and from one
underlying report or many. A dashboard combines on-premises and cloud data, providing a consolidated view
regardless of where the data lives.
A dashboard isn't just a pretty picture. It's highly interactive and the tiles update as the underlying data changes.

Who can create a dashboard?


The ability to create a dashboard is considered a creator feature and requires edit permissions on the report.
Edit permissions are available to report creators and to those colleagues the creator grants access. For example,
if David creates a report in workspace ABC and adds you as a member of that workspace, you and David both
have edit permissions. On the other hand, if a report has been shared with you directly or as part of a Power BI
app, you're consuming the report. You may not be able to pin tiles to a dashboard.

IMPORTANT
You need a Power BI Pro or Premium Per User (PPU) license to create dashboards in workspaces. You can create
dashboards in your own My Workspace without a Power BI Pro or Premium Per User (PPU) license.

Dashboards versus reports


Reports and dashboards seem similar because they're both canvases filled with visualizations. But there are
major differences, as you can see in the following table.

C A PA B IL IT Y DA SH B O A RDS REP O RT S

Pages One page One or more pages

Data sources One or more reports and one or more A single dataset per report
datasets per dashboard.

Drilling down in visuals Only if you pin an entire report page Yes
to a dashboard.

Available in Power BI Desktop No Yes. Can build and view reports in


Power BI Desktop.

Filtering No. Can't filter or slice a dashboard. Yes. Many different ways to filter,
Can filter a dashboard tile in focus highlight, and slice.
mode, but can't save the filter.

Featured Yes. Can set one dashboard as your No


featured dashboard.

Favorite Yes. Can set multiple dashboards as Yes. Can set multiple reports as
favorites. favorites.

Natural language queries (Q&A) Yes Yes, provided you have edit
permissions for the report and
underlying dataset.
C A PA B IL IT Y DA SH B O A RDS REP O RT S

Set alerts Yes. Available for dashboard tiles in No


certain circumstances.

Subscribe Yes. Can subscribe to a dashboard. Yes. Can subscribe to a report page.

Can see underlying dataset tables and No. Can export data but can't see Yes
fields tables and fields in the dashboard
itself.

Next steps
Get comfortable with dashboards by taking a tour of one of our sample dashboards.
Learn about dashboard tiles.
Want to track an individual dashboard tile and receive an email when it reaches a certain threshold? Create
an alert on a tile.
Learn how to use Power BI Q&A to ask a question about your data and get the answer in the form of a
visualization.
Intro to dashboard tiles for Power BI designers
9/15/2021 • 4 minutes to read • Edit Online

A tile is a snapshot of your data, pinned to the dashboard. A tile can be created from a report, dataset,
dashboard, the Q&A box, Excel, SQL Server Reporting Services (SSRS) reports, and more. This screenshot shows
many different tiles pinned to a dashboard.

Dashboards and dashboard tiles are a feature of Power BI service, not Power BI Desktop. You can't create
dashboards on mobile devices but you can view and share them there.
Besides pinning tiles, you can create standalone tiles directly on the dashboard by using the Add tile control.
Standalone tiles include: text boxes, images, videos, streaming data, and web content.
Need help with understanding the building blocks that make up Power BI? See Basic concepts for designers in
the Power BI service.

NOTE
If the original visualization used to create the tile changes, the tile doesn't change. For example, if you pinned a line chart
from a report and then you changed the line chart to a bar chart, the dashboard tile continues to show a line chart. The
data refreshes, but the visualization type does not.

Pin a tile
There are many different ways to add (pin) a tile to a dashboard. You can pin tiles from:
Power BI Q&A
A report
Another dashboard
Excel workbook on OneDrive for Business
Quick Insights
An on-premises paginated report in Power BI Report Server or SQL Server Reporting Services
You create standalone tiles for images, text boxes, videos, streaming data, and web content directly on the
dashboard by using the Add tile control.

Interact with tiles on a dashboard


After you've added a tile to a dashboard, you can move and resize it, or change its appearance and behavior.
Move and resize a tile
Grab a tile and move it around on the dashboard. Hover and select the handle to resize the tile.
Hover over a tile to change the appearance and behavior
1. Hover over the tile to display the ellipsis.

2. Select the ellipsis to open the tile action menu.

From here you can:


Add comments to the dashboard.
Open the report that was used to create this tile.
View in focus mode.
Export the data used in the tile.
Edit the title and subtitle and add a hyperlink.
Run insights.
Pin the tile to another dashboard.
Delete the tile.
3. To close the action menu, select a blank area in the dashboard.
Select a tile
When you select a tile, what happens next depends on how you created the tile. Otherwise, selecting the tile
takes you to the report, Excel Online workbook, on-premises Reporting Services report, or Q&A question that
was used to create the tile. Or, if it has a custom link, selecting the tile takes you to that link.

NOTE
An exception is video tiles created directly on the dashboard by using Add tile . Selecting a video tile (that was created
this way) causes the video to play directly on the dashboard.

Considerations and troubleshooting


If the report that was used to create the visualization wasn't saved, selecting the tile produces no action.
If the tile was created from a workbook in Excel Online, you need at least Read permissions for that
workbook. Otherwise, selecting the tile won't open the workbook in Excel Online.
Say you create a tile directly on the dashboard by using Add tile and set a custom hyperlink for it. If so,
when you select the title, subtitle, or tile, it opens that URL. Otherwise, by default, when you select a tile
created directly on the dashboard for an image, web code, or text box, nothing happens.
Tiles can be created from on-premises paginated reports in Power BI Report Server or SQL Server Reporting
Services. If you don't have permission to access the on-premises report, selecting the tile takes you to a page
indicating you don't have access (rsAccessDenied).
Say you select a tile created from an on-premises paginated report in Power BI Report Server or SQL Server
Reporting Services. If you don't have access to the network where the report server is located, selecting a tile
created from that paginated report takes you to a page that indicates it can't locate the server (HTTP 404).
Your device needs network access to the report server to view the report.
If the original visualization that's used to create the tile changes, the tile doesn't change. For example, if you
pin a line chart from a report and then you change the line chart to a bar chart, the dashboard tile continues
to show a line chart. The data refreshes, but the visualization type doesn't.
Some changes you make to a visual in a report aren't reflected in the tile you pin to a dashboard. For
example, background color, width/height, and tooltips. Even if you turn tooltips off completely for a visual in
a Power BI report, when you pin that visual to a dashboard in the Power BI service, the basic tooltip will still
be displayed.

Next steps
Create a card (large number tile) for your dashboard
Introduction to dashboards for Power BI designers
Data refresh in Power BI
Basic concepts for designers in the Power BI service
Integrating Power BI tiles into Office documents
Pin Reporting Services items to Power BI dashboards
More questions? Try the Power BI Community.
Create a Power BI dashboard from a report
9/20/2021 • 3 minutes to read • Edit Online

You've read Introduction to dashboards in Power BI, and now you want to create your own. There are many
different ways to create a dashboard. For example, you can create a dashboard from a report, from scratch, from
a dataset, or by duplicating an existing dashboard.
We start by creating a quick and easy dashboard that pins visualizations from a report that's already been built.
After you complete this article, you'll have a good understanding of:
The relationship between dashboards and reports
How to open Editing view in the report editor
How to pin tiles
How to navigate between a dashboard and a report

NOTE
Dashboards are a feature of the Power BI service, not Power BI Desktop. Although you don't create dashboards in the
Power BI mobile apps, you can view and share there.

Video: Create a dashboard by pinning visuals and images from a


report
Watch Amanda create a new dashboard by pinning visualizations from a report. Then, follow the steps in the
next section, Import a dataset with a report, to try it out yourself using the Procurement Analysis sample.

NOTE
This video might use earlier versions of Power BI Desktop or the Power BI service.

https://www.youtube.com/embed/lJKgWnvl6bQ

Import a dataset with a report


In this step-by-step, we import one of the Power BI sample datasets and use it to create our new dashboard. The
sample we use is an Excel workbook with two PowerView sheets. When Power BI imports the workbook, it adds
a dataset and a report to your workspace. The report is automatically created from the PowerView sheets.
1. Download the Procurement Analysis sample Excel file. We recommend saving it in your OneDrive for
Business.
2. Open the Power BI service in your browser (app.powerbi.com).
3. From the nav pane, select My Workspace and then select Get Data .

4. Under Files , select Get .

5. Navigate to the location where you saved the Procurement Analysis sample Excel file. Select it and choose
Connect .
6. For this exercise, select Impor t .

7. When the success message appears, select the x to dismiss it.

TIP
Did you know? You can narrow the nav pane by selecting the icon with three lines at the top . That gives you more
room for the report itself.

Open the report and pin tiles to your dashboard


1. In the same workspace, select the Procurement Analysis Sample report to open it.

The report opens in Reading view. Notice it has two tabs on the left: Discount Analysis and Spend
Over view . Each tab represents a page of the report.
2. Select More options (...) > Edit to open the report in Editing view.
3. Hover over a visualization to reveal the options available. To add a visualization to a dashboard, select the
pin icon .

4. Because we're creating a new dashboard, select the option for New dashboard and give it a name.

5. When you select Pin , Power BI creates the new dashboard in the current workspace. After the Pinned to
dashboard message appears, select Go to dashboard . If you're prompted to save the report, choose
Save .

Power BI opens the new dashboard. It has one tile: the visualization you just pinned.

6. Select the tile to return to the report. Pin a few more tiles to the new dashboard. When the Pin to
dashboard window displays, select Existing dashboard .

Pin an entire report page to the dashboard


Instead of pinning one visual at a time, you can pin an entire report page as a live tile. Let's do it.
1. In the report editor, select the Spend Over view tab to open the second page of the report.
2. You want all of the visuals in the report on your dashboard. In the upper-right corner of the menubar,
select Pin to a dashboard . On a dashboard, live page tiles update each time the page is refreshed.

3. When the Pin to dashboard window appears, select Existing dashboard .

4. After the Success message appears, select Go to dashboard . There you see the tiles you pinned from
the report. In the example below, we've pinned two tiles from page one of the report and one live tile,
which is page two of the report.
Next steps
Congratulations on creating your first dashboard! Now that you have a dashboard, there's much more you can
do with it. Follow one of the suggested articles below, or start exploring on your own:
Resize and move tiles
All about dashboard tiles
Share your dashboard by creating an app
Power BI - Basic Concepts
Tips for designing a great dashboard
More questions? Try the Power BI Community.
Create a copy of a dashboard in Power BI service
9/13/2021 • 2 minutes to read • Edit Online

There are many different reasons to make a copy of a dashboard. Maybe you want to make changes and test its
performance against the original; or create slightly different versions to distribute by colleague, region, or team.
Perhaps a colleague admires your dashboard design and wants to use it for reporting out to their managers.
Another reason would be if you have a new database with the same data structure and data types and want to
reuse the dashboard you've already created -- this too can be done but would require some work in Power BI
Desktop.
Dashboards are created (and copied) using Power BI service and can be viewed in Power BI mobile and Power BI
Embedded. Dashboards are not available in Power BI Desktop.
To make a copy of a dashboard, you must be the dashboard creator. Dashboards that have been shared with you
as an app cannot be duplicated.
1. Open the dashboard.
2. In the upper-left corner, select File > Save a copy .

3. Give the dashboard a name and select Duplicate .


4. The new dashboard is saved in the same workspace as the original.

5. Open the new dashboard and edit as needed. Here are some things you might want to do next:
a. Move, rename, resize or even delete tiles.
b. Edit tile details and hyperlinks by selecting the tile More options (...) and choosing Edit details .
c. Add new tiles from the dashboard menubar (Add tile )
d. Pin new tiles from Q&A or from reports.
e. Rename the dashboard, turn Q&A on or off, and set the tile flow from the dashboard Settings pane.
(select the dashboard More options (...) dropdown and choose Settings )
f. Share your dashboard directly with colleagues or as part of a Power BI app.

Next steps
Tips for designing a great dashboard
More questions? Try the Power BI Community
Pin a tile to a Power BI dashboard from a report
9/20/2021 • 2 minutes to read • Edit Online

One way to add a dashboard tile is from within a Power BI report. When you select one of these tiles, it opens in
the report.
An entire report page can be pinned to a dashboard, which is called pinning a live tile. It's called a live tile
because you can interact with the tile on the dashboard. Unlike with individual visualization tiles, changes made
in the report are automatically synced with the dashboard. For more information, see Pin an entire report page.
You can't pin tiles from reports that have been shared with you or from Power BI Desktop.

TIP
Because some visualizations use background images, pinning might not work if the background image is too large. Try
reducing the image size or using image compression.

Pin a tile from a report


Watch Amanda create a dashboard by pinning visuals and images from a Power BI report.

NOTE
This video might use earlier versions of Power BI Desktop or the Power BI service.

https://www.youtube.com/embed/lJKgWnvl6bQ
Now create your own dashboard by using one of the Power BI sample reports.

1. In the report, hover over the visualization you want to pin, and select the pin icon . Power BI opens the
Pin to dashboard screen.

2. Select whether to pin to an existing dashboard or new dashboard.


Existing dashboard : Select the name of the dashboard from the dropdown. Dashboards that have
been shared with you won't appear in the dropdown.
New dashboard : Enter the name of the new dashboard.
3. In some cases, the item you're pinning might have a theme already applied. For example, visuals pinned
from an Excel workbook. If so, select which theme to apply to the tile.
4. Select Pin .
A success message (near the top-right corner) informs you the visualization was added, as a tile, to your
dashboard.

5. From the nav pane, select the dashboard with the new tile. Edit the tile display and behavior or select the
tile to return to the report.

Pin an entire report page


Another option is to pin an entire report page to a dashboard, which is an easy way to pin more than one
visualization at a time. When you pin an entire page, the tiles are live. That is, you can interact with them there
on the dashboard. Changes you make to any of the visualizations in the report editor, like adding a filter or
changing the fields used in the chart, are reflected in the dashboard tile as well.
For more information, see Pin an entire report page.

Limitations
Some report formatting options or themes aren't applied to visuals when you pin them to a dashboard.
Border, shadow, and background settings are ignored in the pinned tile.
For card visuals, the text used for the value is shown in dashboards using the 'DIN' font family, with black
text. You can change the text color for all the tiles on a dashboard by creating a custom dashboard theme.
Conditional formatting isn't applied.
Visuals will adjust their size to fit the size of the tile. This can result in differences in layout as if the visual had
been resized on the report.

Next steps
Dashboards for Power BI service consumers
Dashboard tiles in Power BI
Reports in Power BI
Data refresh in Power BI
Basic concepts for designers in the Power BI service
More questions? Try the Power BI Community
Pin a tile from one dashboard to another dashboard
9/15/2021 • 2 minutes to read • Edit Online

One way to add a new dashboard tile is by copying it from another dashboard. Each of these tiles, when clicked,
is a link back to where it was created -- either in Q&A or a report.

NOTE
You cannot pin tiles from shared dashboards.

Pin a tile to another dashboard


1. Get data. This example uses the IT Spend Analysis sample.
2. Open a dashboard.
3. Hover over the tile you want to pin, select More options (...) and choose Pin tile .

4. Pin the tile to an existing dashboard or to a new dashboard.


Existing dashboard : select the name of the dashboard from the dropdown.
New dashboard : type the name of the new dashboard.
5. Select Pin . A Success message (near the top right corner) lets you know the visualization was added, as a
tile, to the selected dashboard.

6. Select Go to dashboard to see the pinned tile. There, you can rename, resize, link, and move the pinned
visualization.

Next steps
Tiles in Power BI
Dashboards in Power BI
More questions? Try the Power BI Community
Pin a tile to a Power BI dashboard from Excel
9/20/2021 • 3 minutes to read • Edit Online

Before you can pin a tile from your Excel workbook, you'll connect that workbook to Power BI service
(app.powerbi.com). Connecting a workbook essentially brings a linked read-only version of that workbook into
Power BI service and allows you to pin ranges to dashboards. You can even pin an entire worksheet to a
dashboard.
If a workbook has been shared with you, you'll have the ability to view the tiles pinned by the owner, but not
create any dashboard tiles yourself.
For in-depth information about how Excel and Power BI work together, see Get data from Excel workbook files.
Watch Will demonstrate several ways to import data from, and connect to, Excel workbooks.

NOTE
This video might use earlier versions of Power BI Desktop or the Power BI service.

https://www.youtube.com/embed/l8JoB7w0zJA

Connect your Excel workbook from OneDrive for Business to Power BI


When you choose Connect , your workbook will appear in Power BI just like it would in Excel Online. But, unlike
Excel Online, you’ll have some great features to help you pin elements from your worksheets right to your
dashboards.
You can’t edit your workbook in Power BI. But if you need to make some changes, you can select the pencil icon
from the Workbooks tab of your workspace, and then choose to edit your workbook in Excel Online or open it
in Excel on your computer. Any changes you make are saved to the workbook on OneDrive.
1. Upload your workbook to your OneDrive for Business.
2. From Power BI, connect to that workbook by selecting Get Data > Files > OneDrive - Business and
navigating to the location where you saved the Excel file. Select the file and choose Connect > Connect .

3. In Power BI, the workbook is added to your workspace. The icon indicates this is an Excel
workbook.
4. Open the workbook in Power BI by selecting the workbook name.
Changes you make to the workbook in Power BI are not saved and do not affect the original workbook on
OneDrive for Business. If you sort, filter, or change values in Power BI, those changes cannot be saved or
pinned. If you need to make changes that will be saved, select Edit from the upper-right corner to open it
for editing in Excel Online or Excel. Changes made this way may take a few minutes to update the tiles on
the dashboards.

Pin a range of cells to a dashboard


One way to add a new dashboard tile is from within an Excel workbook in Power BI. Ranges can be pinned from
Excel workbooks that have been saved in your OneDrive for Business or another group-shared document
library. The ranges can contain data, charts, tables, PivotTables, PivotCharts, and other Excel parts.
1. Highlight the cells that you'd like to pin to a dashboard.
2. Select the pin icon.
3. Pin the tile to an existing dashboard or to a new dashboard.
Existing dashboard: select the name of the dashboard from the dropdown.
New dashboard: type the name of the new dashboard.

4. Select Pin . A Success message (near the top right corner) lets you know the range was added, as a tile, to
your dashboard.

5. Select Go to dashboard . From here you can rename, resize, link, and move the pinned visualization. By
default, selecting the pinned tile opens the workbook in Power BI.

Pin an entire table or PivotTable to a dashboard


Follow the steps above except instead of selecting a range of cells, select an entire table or PivotTable.
To pin a table, select the entire range of the table and be sure to include the headers. To pin a PivotTable, be sure
to include every visible part of the PivotTable, including filters if used.
A tile created from a table or PivotTable will show the entire table. If you add/remove/filter rows or columns in
the original workbook, they will also be added/removed/filtered in the tile.

View the workbook linked to the tile


Selecting a workbook tile opens the linked workbook in Power BI. Since the workbook file is located on the
owner’s OneDrive for Business, viewing the workbook requires you have Read permissions for the workbook. If
you do not have permission, you will receive an error message.

Considerations and troubleshooting


Unsupported features: Power BI uses Excel Services to retrieve the workbook tiles. Therefore, since some
features from Excel are not supported in Excel Services REST API, they will not be seen on tiles in Power BI. For
example: Sparklines, icon set conditional formatting, and time slicers. For a full list of unsupported features see
Unsupported Features in Excel Services REST API

Next steps
Share a dashboard that has links to an Excel workbook
Get data from Excel workbooks
More questions? Try the Power BI Community
Pin a tile to a dashboard from Q&A
9/15/2021 • 2 minutes to read • Edit Online

Q&A is a Power BI tool for exploring your data using natural language. Need to find a particular insight? Ask a
question about your data, and receive an answer in the form of a visualization.
In this how-to article, we open a dashboard in the Power BI service (app.powerbi.com), ask a question using
natural language to create a visualization, and pin that visualization to the dashboard. Dashboards aren't
available in Power BI Desktop. For information on using Q&A with other Power BI tools and content, see the
Power BI Q&A overview.
To follow along, open the Retail Analysis sample dashboard.

How to pin a tile from Q&A


1. Open a dashboard that has at least one tile pinned from a report. When you ask a question, Power BI
looks for the answer in any dataset that has a tile pinned to that dashboard.
2. In the question box at the top of your dashboard, start typing what you want to know about your data.

3. For example, as you type "year over year revenue"...

the question box gives you suggestions.

4. To add the chart to your dashboard as a tile, select the pin on the top-right side of the canvas. If the
dashboard has been shared with you, you won't be able to pin any visualizations.
5. Pin the tile to an existing dashboard or to a new dashboard.
Existing dashboard: select the name of the dashboard from the dropdown. Your choices will be limited
to only those dashboards within the current workspace.
New dashboard: type the name of the new dashboard and it will be added to your current workspace.
6. Select Pin .
A success message (near the top-right corner) lets you know the visualization was added, as a tile, to your
dashboard.

7. Select Go to dashboard to see the new tile. There, you can rename, resize, add a hyperlink, reposition
the tile, and more on your dashboard.

Considerations and troubleshooting


When you start typing a question, Q&A immediately begins searching for the best answer from all
datasets associated with the current dashboard. The "current dashboard" is the dashboard listed in the
top nav pane. For example, this question is being asked in the Retail Analysis Sample dashboard.
How does Q&A know which datasets to use ? Q&A has access to all datasets that have at least one
visualization pinned to that dashboard.
Don't see the question box ? Check with your Power BI administrator. The administrator has the ability
to disable Q&A.

Next steps
Rename, resize, add a hyperlink, reposition the tile, and more
Display your dashboard tile in Focus mode
Overview of Q&A in Power BI
More questions? Try the Power BI Community
Pin an entire report page, as a live tile, to a Power
BI dashboard
9/20/2021 • 2 minutes to read • Edit Online

Another way to add a new dashboard tile is by pinning an entire report page. This is an easy way to pin more
than one visualization at a time. Also, when you pin an entire page, the tiles are live; you can interact with them
right there on the dashboard. And changes you make to any of the visualizations back in the report editor, like
adding a filter or changing the fields used in the chart, are reflected in the dashboard tile as well.
Pinning live tiles from reports to dashboards is only available in Power BI service (app.powerbi.com).

NOTE
You can't pin tiles from reports that are shared with you.

Pin a report page


Watch Amanda pin a live report page to a dashboard and then follow the step-by-step instructions below the
video to try it yourself.

NOTE
This video might use earlier versions of Power BI Desktop or the Power BI service.

https://www.youtube.com/embed/EzhfBpPboPA
1. Open a report in Editing view.
2. With no visualizations selected, from the menu bar, select Pin to a dashboard .

3. Pin the tile to an existing dashboard or to a new dashboard. Notice the highlighted text: Pin live page
enables changes to reports to appear in the dashboard tile when the page is refreshed.
Existing dashboard: select the name of the dashboard from the dropdown. Dashboards that have
been shared with you will not appear in the dropdown.
New dashboard: type the name of the new dashboard.
4. Select Pin live . A Success message (near the top right corner) lets you know the page was added, as a
tile, to your dashboard.

Open the dashboard to see the pinned live tile


1. From the nav pane, select the dashboard with the new live tile. There, you can do things like rename,
resize, link, and move the pinned report page.
2. Interact with the live tile. In the screenshot below, selecting a bar on the column chart has cross-filtered
and cross-highlighted the other visualizations on the tile.

Next steps
Dashboards in Power BI
More questions? Try the Power BI Community
Data alerts in the Power BI service
9/20/2021 • 4 minutes to read • Edit Online

Set alerts to notify you when data in your dashboards changes beyond limits you set.
You can set alerts on tiles in your My Workspace. You can also set alerts if someone shares a dashboard that's in
a Premium capacity. If you have a Power BI Pro license, you can set alerts on tiles in any other workspace, too.
Alerts can only be set on tiles pinned from report visuals, and only on gauges, KPIs, and cards. Alerts can be set
on visuals created from streaming datasets that you pin from a report to a dashboard. Alerts can't be set on
streaming tiles created directly on the dashboard using Add tile > Custom streaming data .
Only you can see the alerts you set, even if you share your dashboard. Even the dashboard owner can't see
alerts you set on your view of their dashboard. Data alerts are fully synchronized across platforms; set and view
data alerts in the Power BI mobile apps and in the Power BI service. They aren't available for Power BI Desktop.
You can even automate and integrate alerts with Power Automate. You can try it yourself in this Power Automate
and Power BI article.

WARNING
Data-driven alert notifications provide information about your data. If you view your Power BI data on a mobile device
and that device is lost or stolen, we recommend using the Power BI service to turn off all data-driven alert rules.

Set data alerts in the Power BI service


Watch Amanda add some alerts to tiles on the dashboard. Then follow the step-by-step instructions below the
video to try it out yourself.

NOTE
This video might use earlier versions of Power BI Desktop or the Power BI service.

https://www.youtube.com/embed/JbL2-HJ8clE
This example uses a card tile from the Retail Analysis sample dashboard. Get the Retail Analysis sample if you
want to follow along.
1. Start on a dashboard. From the Total stores tile, select the ellipses.
2. Select Manage aler ts to add one or more alerts for Total Stores .

3. To start, select + Add aler t rule , ensure the Active slider is set to On , and give your alert a title. Titles
help you easily recognize your alerts.

4. Scroll down and enter the alert details. In this example, you'll create an alert that notifies you once a day if
the number of total stores goes above 100.
Alerts appear in your Notification center . Power BI also sends you an email about the alert, if you select
the check box.
5. Select Save and close .

Receiving alerts
When the tracked data reaches one of the thresholds you've set, several things happen. First, Power BI checks to
see if it's been more than an hour or more than 24 hours (depending on the option you selected) since the last
alert. If the data is past the threshold, you'll get an alert.
Next, Power BI sends an alert to your Notification center and, optionally, an email. Each alert contains a direct
link to your data. Select the link to see the relevant tile where you can explore, share, and learn more.
If you've set the alert to send you an email, you'll find something like this in your Inbox.

Power BI adds a message to your Notification center and adds a new alert icon to the applicable tile.
Your Notification center displays the alert details.

NOTE
Alerts only work on refreshed data. When data refreshes, Power BI looks to see if an alert is set for that data. If
the data has reached an alert threshold, Power BI triggers an alert.

Managing alerts
There are many ways to manage your alerts:
From the dashboard tile.
From the Power BI Settings menu.
On a tile in the Power BI mobile apps.
From the dashboard tile
1. If you need to change or remove an alert for a tile, reopen the Manage aler ts window by selecting
Manage aler ts .
Power BI displays the alert(s) that you've set for that tile.

2. To modify an alert, select the arrow to the left of the alert name.

3. To delete an alert, select the trashcan to the right of the alert name.

From the Power BI settings menu


1. Select the gear icon from the Power BI menu bar and select Settings .
.
2. Under Settings select Aler ts .

3. From here you can turn alerts on and off, open the Manage aler ts window to make changes, or delete
the alert.

Considerations and troubleshooting


Alerts aren't supported for card tiles with date/time measures.
Alerts only work with numeric data types.
Alerts only work on refreshed data. They don't work on static data.
Alerts only work on streaming datasets if you build a KPI, card, or gauge report visual and then pin that
visual to the dashboard.

Next steps
Create a Power Automate that includes a data alert.
Set data alerts on your mobile device.
What is Power BI?
More questions? Try asking the Power BI Community
Add images, videos, and more to your dashboard
9/20/2021 • 6 minutes to read • Edit Online

By adding a tile to your dashboard, you can place an image, text box, video, streaming data, or web code on your
dashboard.
Watch Amanda add tiles to a dashboard.

NOTE
This video might use earlier versions of Power BI Desktop or the Power BI service.

https://www.youtube.com/embed/e2PD8m1Q0vU

Add an image, video, or other tile


You can add an image, text box, video, streaming data, or web code directly to your dashboard.
1. Select the arrow next to Edit on the top menu, and then select Add a tile .

2. Select which type of tile to add:


Web content
Image
Text box
Video
Custom streaming data
Add an image
If you want to add your company logo or some other image to your dashboard, you save the image file online
and link to it. Make sure security credentials aren't required to access the image file. For example, because
OneDrive and SharePoint require authentication, images stored there can't be added to a dashboard this way.
Also, images can't be in .svg format.
1. From the Add tile window, select Image > Next .
2. From the Add image tile window, add the image information:
a. To display a title above the image, select Display title and subtitle and enter a Title and an optional
Subtitle .
b. Enter the image URL .
c. To make the tile a hyperlink, select Set custom link and enter the URL .
When colleagues click the image or title, they'll be taken to this URL.
d. Select Apply .
3. On the dashboard, resize and move the image as needed.

Add a text box or dashboard heading


To add a dashboard heading, type your heading in the text box and increase the font.
1. From the Add tile window, select Text box > Next .
2. Format the text box:
a. To display a title above the text box, select Display title and subtitle and enter a Title and an
optional Subtitle .
b. Enter and format Content for the text box.
c. Optionally, set a custom link for the title. A custom link can be an external site or a dashboard or report
in your workspace. However, in this example we've added hyperlinks within the text box itself, so we'll
leave Set custom link unchecked.
d. Select Apply .

3. On the dashboard, resize and move the text box as needed.

Add a video
When you add a YouTube or Vimeo video tile to your dashboard, the video plays right on your dashboard.
1. From the Add tile window, select Video > Next .
2. Add video information in the Add video tile window:
a. To display a title and subtitle at the top of the video tile, select Display title and subtitle and enter a
Title and an optional Subtitle . In this example, we'll add a Subtitle , and then convert it to a hyperlink to
the entire YouTube playlist.
b. Enter the Video URL for the video.
c. Add a hyperlink for the Title and Subtitle , so that your colleagues can view the entire playlist on
YouTube after they watch the embedded video. To do so, under Functionality , select Set custom link ,
and then enter the URL for the playlist.
d. Select Apply .

3. On the dashboard, resize and move the video tile as needed.

4. Select the video tile to play the video.


5. Select the subtitle to visit the playlist on YouTube.

Add streaming data


You can use PubNub to add streaming data, such as Twitter feeds or sensor data, to a tile in your dashboard.
Power BI has created an integration to get the data from PubNub. Here, Will explains how it works.

NOTE
This video might use earlier versions of Power BI Desktop or the Power BI service.

https://www.youtube.com/embed/kOuINwgkEkQ
1. From the Add tile window, select Custom Streaming Data > Next .
2. Select Add streaming dataset .
3. Create a New streaming dataset using the Power BI API or PubNub.
4. Fill in the fields for Dataset name , Subscription key , and Channel name . If it's a secure connection, it
also has an authorization key. You can use the sample values from PubNub to try it out.
5. Select Next . You see the fields that are available in the dataset, with their data types and JSON format.
6. Select Connect . You have created a streaming dataset.
7. Go back to the dashboard and again select Add tile > Custom Streaming Data > Next .
8. Select the sensor data dataset you created > Next .
9. Select the visual type you want. Often a line chart works well for this data.
10. Select the Axis , Legend , and Values .
11. Decide the amount of time you want to display, either in seconds, minutes, or hours.
12. Select Next .
13. Give it a Title and Subtitle , if you want.
14. Pin it to your dashboard.
15. From the Add tile window, select Custom Streaming Data > Next .
16. Select Add streaming dataset .
17. Create a New streaming dataset using the Power BI API or PubNub.
18. Fill in the fields for Dataset name , Subscription key , and Channel name . If it's a secure connection, it
also has an authorization key. You can use the sample values from PubNub to try it out.
19. Select Next .
You see the fields that are available in the dataset, with their data types and JSON format.
20. Select Connect .
You've created a streaming dataset.
21. Go back to the dashboard and again select Add tile > Custom Streaming Data > Next .
22. Select the sensor data dataset you created > Next .
23. Select the visual type you want. Often a line chart works well for this data.
24. Select the Axis , Legend , and Values .
25. Decide the amount of time you want to display, either in seconds, minutes, or hours.
26. Select Next .
27. Optionally, give it a Title and Subtitle .
28. Pin it to your dashboard.

Add web content


You can paste or type in any HTML content, as a tile, to your report or dashboard. Enter the embed code
manually or copy/paste from sites such as Twitter, YouTube, embed.ly, and so on.
1. From the Add tile window, select Web content > Next .
2. Add information to the Add web content tile window:
a. To display a title above the tile, select Display title and subtitle and enter a Title and an optional
Subtitle .
b. Enter the embed code. In this example, we're copying and pasting a Twitter feed.
c. Select Apply .

3. On the dashboard, resize and move the web content tile as needed.
Tips for embedding web content
For iframes, use a secure source. If you enter your iframe embed code and get a blank tile, verify you're
not using http for the iframe source. If you are, change it to https.

<iframe src="https://xyz.com">

Edit width and height information. The embed code embeds a video and sets the video player to 560 x
315 pixels. This size doesn't change as you resize the tile.

NOTE
This video might use earlier versions of Power BI Desktop or the Power BI service.

<iframe width="560" height="315"


src="https://www.youtube.com/embed/Cle_rKBpZ28" frameborder="0"
allowfullscreen></iframe>

If you'd like the player to resize to fit the tile size, set the width and height to 100%.

NOTE
This video might use earlier versions of Power BI Desktop or the Power BI service.

<iframe width="100%" height="100%"


src="https://www.youtube.com/embed/Cle_rKBpZ28" frameborder="0"
allowfullscreen></iframe>

This code embeds a tweet and retains, as separate links on the dashboard, links for the AFK podcast,
@GuyInACube's Twitter page, Follow, #analytics, reply, retweet, and like. Selecting the tile itself takes you
to the podcast on Twitter.
<blockquote class="twitter-tweet" data-partner="tweetdeck">
<p lang="en" dir="ltr">Listen to
<a href="https://twitter.com/GuyInACube">@GuyInACube</a> talk to
us about making videos about Microsoft Business Intelligence
platform
<a href="https://t.co/TmRgalz7tv">https://t.co/TmRgalz7tv </a>
<a href="https://twitter.com/hashtag/analytics?src=hash">
#analytics</a></p>&mdash; AFTK Podcast (@aftkpodcast) <a
href="https://twitter.com/aftkpodcast/status/693465456531771392">
January 30, 2016</a></blockquote> <script async src="//platform.twitter.com/widgets.js" charset="utf-
8"></script>

Edit a tile
To make changes to an existing tile:
1. Hover over the top-right corner of the tile and select More options (...).

2. Select Edit details to display the Tile details window and make changes.

Considerations and troubleshooting


To make it easier to move the tile on your dashboard, add a title and an optional subtitle.
If you'd like to embed content from a website, but the website doesn't provide embed code to copy and
paste, see embed.ly for help with generating the embed code.
Make sure security credentials aren't required to access the image file. For example, because OneDrive and
SharePoint require authentication, images stored there can't be added to a dashboard this way.
Images can't be in .svg format.

Next steps
Intro to dashboard tiles for Power BI designers
More questions? Try the Power BI Community.
Edit or remove a dashboard tile
9/20/2021 • 3 minutes to read • Edit Online

Dashboard owners versus dashboard consumers


When you create or own a dashboard, you have many options for changing the look and default behavior of the
tiles on that dashboard. Use the settings and strategies below to design the dashboard consuming experience
for your colleagues. Will selecting a tile open the underlying report, a custom URL, or a different dashboard?
Maybe you'll add a tile that displays a video or streaming data? And you might even want to create a tile that
has interactive slicers. As a creator you have many options.

NOTE
This video might use earlier versions of Power BI Desktop or the Power BI service.

https://www.youtube.com/embed/lJKgWnvl6bQ
This article covers the following.
Create a visualization and pin it to a dashboard
Move a tile
Resize a tile
Rename a tile
Add a hyperlink to a tile
Pin a tile to a different dashboard
Delete a tile

TIP
To change the visualization shown on the tile itself, delete the tile and add a new dashboard tile.

Prerequisites
To follow along, open Power BI service (not Power BI Desktop) and download the IT Spend Analysis sample.
When the "Success" message appears, select Go to dashboard

Create a new visualization and pin it to the dashboard


1. From the IT Spend Analysis dashboard, select the "Amount" tile to open the report.
2. Open the report in Editing view by selecting Edit from the top menu bar.
3. Add a new report page by selecting the plus sign (+) at the bottom of the report.

4. From the Fields pane, select Fact > Amount and Business Area > Business Area .
5. From the Visualizations pane, select the Donut chart icon to convert the visualization to a Donut chart.

6. Select the pin icon and pin the Donut chart to the IT Spend Analysis sample dashboard.

7. When the Pinned to dashboard message appears, select Go to dashboard . You will be prompted to
save your changes. Select Save .

Move the tile


On the dashboard, locate the new tile. Select and hold the tile to drag it to a new location on the dashboard
canvas.

Resize the tile


You can make tiles many different sizes -- from 1x1 tile units up to 5x5. Select and drag the handle (in the
bottom right corner) to resize the tile.

More options (...) menu


1. Select More options (...) in the upper-right corner of the tile.

2. Hover over the "Account" tile and select the ellipses to display the options. The options available will vary
by tile type. For example, the options available for a live tile are different from options available for a
standard visualization tile. Also, if a dashboard has been shared with you (you are not the owner), you will
have fewer options.
3. Select Edit details to open the "Tile details" window.
Change the title and default behavior of the tile. For example, you may decide that when a consumer
selects a tile, instead of opening the report that was used to create that tile, a new dashboard displays
instead.

Rename the tile


At the top of the "Tile details" window, change Title to Amount spent .

Change the default hyperlink


By default, selecting a tile usually takes you to the report where the tile was created or to Q&A (if the tile was
created in Q&A). To link to a webpage, another dashboard or report (in the same workspace), an SSRS report, or
other online content - add a custom link.
1. Under the Functionality heading, select Set custom link .
2. Select Link to a dashboard or repor t in the current workspace and then select from the
dropdown. In this example I've selected the Human Resources sample dashboard. If you don't have this
sample already in your workspace, you can add it and come back to this step, or you can select a different
dashboard.
3. Select Apply .
4. The new title displays on the tile. And, when you select the tile, Power BI opens the Human Resources
dashboard.

Pin the tile to a different dashboard


1. From the ellipses dropdown menu, select Pin tile .
2. Decide whether to pin a duplicate of this tile to an existing dashboard or to a new dashboard.

3. Select Pin .

Delete the tile


1. To permanently remove a tile from a dashboard, select Delete tile from the ellipses dropdown menu.
2. Deleting a tile does not delete the underlying visualization. Open the underlying report by selecting the
"Amount" tile. Open the last page in your report to see that the original visualization has not been deleted
from the report.

Next steps
Dashboard tiles in Power BI
Dashboards in Power BI
Basic concepts for designers in the Power BI service
More questions? Try the Power BI Community
Tips for designing a great Power BI dashboard
9/15/2021 • 4 minutes to read • Edit Online

Now that you've created a dashboard and added some tiles, think about how to make your dashboard not just
pretty, but also functional. In general, it means making the most important information stand out and making it
clean and uncluttered.

TIP
Like this dashboard? You can download it and related reports from AppSource. Go to Get data > Ser vices . Search for
Microsoft Sample - Sales & Marketing > Get it now .

Here are a few tips for dashboards.

Dashboard design best practices video


Watch this video, Dashboard design best practices in Power BI, for design tips from Marco Russo of SQLBI.com.

Consider your audience


What are the key metrics that will help them make decisions? How will the dashboard be used? What learned or
cultural assumptions may affect design choices? What information does your audience need to be successful?
Keep in mind that the dashboard is an overview, a single place to monitor the current state of the data. The
dashboard is based on underlying reports and datasets, and those items often contain loads of details. Your
readers can drill into the reports from your dashboard. So, don't put the detail on the dashboard unless that's
what your readers need to monitor.
Where is the dashboard going to be displayed? If it's on a large monitor, you can put more content on it. But if
readers view it on their tablets, a dashboard with fewer tiles is more readable.

Tell a story on one screen


Because dashboards are meant to show important information at a glance, having all the tiles on one screen is
best. Can you avoid scroll bars on your dashboard?
Is the dashboard too cluttered? Remove all but essential information that's easily read and interpreted.

Make use of full screen mode


When presenting a dashboard, display it in full screen mode, without distractions.

Accent the most important information


If the text and visualizations on your dashboard are all the same size, your readers will have a hard time
focusing on what's most important. For example, card visualizations are a good way to display an important
number prominently:

But be sure to provide context.


Read about creating a tile with just a number.

Place the most important information


Most people read from top to bottom. So, put the highest level of data at the top left corner, and show more
detail as you move in the direction the audience uses for reading (left-to-right, top-to-bottom).

Use the right visualization for the data


Avoid visualization variety for the sake of variety. Visualizations should paint a picture and be easy to "read" and
interpret. For some data and visualizations, a simple graphic visualization is enough. But other data may call for
a more-complex visualization - be sure to make use of titles and labels and other customization to help the
reader.
Be careful using visuals that look pretty but are hard to read, such as 3-D charts.
It may be a disappointment to learn that pie charts, donut charts, gauges, and other circular chart types
aren't a data visualization best practice. Pie charts are best if they have fewer than eight categories. Because
humans can't compare values side by side, it’s harder to compare values in a pie chart than in bar and
column charts. Pie charts can be good for viewing part-to-whole relationships rather than for comparing the
parts. And gauge charts are great for displaying the current status in the context of a goal.
Be consistent with chart scales on axes, chart dimension ordering, and also the colors used for dimension
values within charts.
Be sure to encode quantitative data nicely. Don’t exceed three or four numerals when displaying numbers.
Display measures to one or two numerals left of the decimal point and scale for thousands or millions, that
is, 3.4 million not 3,400,000.
Don’t mix levels of precision and time. Make sure that time frames are well understood. Don’t have one chart
that has last month next to filtered charts from a specific month of the year.
Don’t mix large and small measures on the same scale, such as on a line or bar chart. For example, one
measure can be in the millions and the other measure in the thousands. With such a large scale, it would be
difficult to see the differences of the measure that's in the thousands. If you need to mix, choose a
visualization that allows the use of a second axis.
Don’t clutter your charts with data labels that aren't needed. The values in bar charts are usually understood
without displaying the actual number.
Pay attention to how charts are sorted. If you want to draw attention to the highest or lowest number, sort by
the measure. If you want people to quickly find a particular category within many other categories, sort by
the axis.
For more visualization-specific guidance, see Visualization types in Power BI.

Learn more about dashboard design


To master the art of excellent dashboard design, consider learning basic Gestalt Principles of visual perception
and how to clearly communicate actionable information in context. Luckily, there's a plethora of resources
already widely available and sprinkled within our blogs. A few of our favorite books include:
Information Dashboard Design by Stephen Few
Show Me the Numbers by Stephen Few
Now You See It by Stephen Few
Envisioning Information by Edward Tufte
Advanced Presentations by Design by Andrew Abela

Next steps
Create a dashboard from a report
Basic concepts for designers in the Power BI service
More questions? Try the Power BI Community
Optimize a dashboard for mobile phones - Power
BI
9/13/2021 • 2 minutes to read • Edit Online

When you view dashboards in portrait mode on a phone, you notice the dashboard tiles are laid out one after
another, all the same size. In the Power BI service, you can create a customized view of a dashboard, specifically
for portrait mode on phones. Even if you create a phone view, when you turn the phone sideways, you see the
dashboard as it's laid out in the service.
Are you looking for information about viewing dashboards on a mobile device? Try this quickstart Explore
dashboards and reports in the Power BI mobile apps instead.

NOTE
As you edit the phone view, anyone viewing the dashboard on a phone can see the changes you make in real time. For
example, if you unpin all tiles on the dashboard phone view, the dashboard on the phone will suddenly have no tiles.

Create a phone view of a dashboard


1. In the Power BI service, open a dashboard.
2. Select the arrow next to Edit on the top menu, and then select Mobile layout .

If you aren't the dashboard owner, you won't see this option.
The phone dashboard edit view opens. Here you can unpin, resize, and rearrange tiles to fit the phone
view. The web version of the dashboard doesn't change.
3. Select a tile to drag, resize, or unpin it. You notice the other tiles move out of the way as you drag a tile.
The unpinned tiles go in the Unpinned tiles pane, where they stay unless you add them back.
4. If you change your mind, select Reset tiles to put them back in the size and order they were before.

Just opening Mobile layout view in the Power BI service slightly changes the size and shape of the tiles
on a phone. So to return the dashboard to its exact state before you opened it in Mobile layout view,
select Reset tiles .
5. When you're satisfied with the phone dashboard layout, switch back to web view by selecting Web
layout in the top menu.
Power BI saves the phone layout automatically.

Next steps
Create reports optimized for the Power BI phone apps
Create responsive visuals optimized for any size
More questions? Try asking the Power BI Community
Create a QR code for a tile in Power BI to use in the
mobile apps
7/2/2021 • 2 minutes to read • Edit Online

QR codes in Power BI can connect anything in the real world directly to related BI information - no navigation or
search needed.
You can create a QR code in the Power BI service for tiles in any dashboard, even in dashboards you can't edit.
Then place the QR code in a key location. For example, you could paste it in an email, or print it out and paste it
in a specific location.
Colleagues you've shared the dashboard with can scan the QR code for access to the tile, right from their mobile
device. They can use either the QR code scanner located in the Power BI app, or any other QR scanner installed
on their device.

Create a QR code for a tile


1. Open a dashboard in the Power BI service.
2. Select the dropdown caret next to File , and select Generate a QR code from the menu.

3. A dialog box with the QR code appears.


4. From here you can scan the QR code or download and save it so you can:
Add it to an email or other document, or
Print it and place it in a specific location.

Print the QR code


Power BI generates the QR code as a JPG file, ready to print.
1. Select Download , then open the JPG file on a computer connected to a printer.

TIP
The JPG file has the same name as the tile. For example, "Opportunity Count - by Month, Sales Stage.jpg".

2. Print the file at 100% or “actual size”.


3. Cut out the QR code and glue it to a place relevant to the tile.

Next steps
Connect to Power BI data from the real world with the mobile apps
Scan a Power BI QR code from your mobile device
Create a QR code for a report
Questions? Try asking the Power BI Community
Dashboard data classification
4/16/2021 • 2 minutes to read • Edit Online

Every dashboard is different, and depending on the data source you are connecting to, you will likely find that
you and the colleagues you share with will need to take different precautions depending on the sensitivity of the
data. Some dashboards should never be shared with those outside your company or printed out, while others
can be shared freely. By using dashboard data classification, you will be able to raise awareness with those
viewing your dashboards about what level of security should be used. You can tag your dashboards with
classifications defined by your company’s IT department, so everyone viewing the content will have the same
level of understanding around the sensitivity of the data.

Setting a dashboard’s classification


If data classification is turned on for your company, all dashboards start out with a default classification type, but
as a dashboard owner, you can change the classification to match your dashboards security level.
To change the classification type, do the following:
1. Go to the dashboard settings by selecting the ellipsis next to the dashboard name and select Settings .

2. Under Dashboard settings, you will be able to see the current classification for your dashboard and use
the drop down to change the classification type.
3. Select Apply when finished.
After you apply the change, anyone you shared with will see the update the next time they reload the dashboard.

Working with data classification tags as an admin


Data classification is set up by the global admin for your organization. To turn data classification on, do the
following:
1. Select the Settings gear and select Admin por tal .

2. Under Tenant settings > Dashboard settings , switch Data classification for dashboards to
Enabled .
Once turned on, you will be presented with a form to create the various classifications in your organization.

Each classification has a name and a shor thand tag. You can optionally add a URL that contains more
information about your organization’s classification guidelines and usage requirements. The owner will be able
to see the type by checking the dashboard settings.
The last thing you need to decide is which classification type will be the default.
Once you fill in the form with your classification types, select Apply to save the changes.
At this point, all dashboards will be assigned the default classification. Dashboard owners can now update the
classification type to the one appropriate for their content. You can return here in the future to add or remove
classification types or change the default.

NOTE
There are a few important things to remember when you come back to make changes:
If you turn data classification off, none of the tags are remembered. You will need to start over if you decide to turn it
back on later.
If you remove a classification type, any dashboards assigned the removed classification type will be assigned back to
the default until the owner goes and sets it again.
If you change the default, all dashboards that weren’t already assigned a classification type by the owner will change to
the new default.
Use dashboard themes in the Power BI service
9/15/2021 • 3 minutes to read • Edit Online

With dashboard themes you can apply a color theme to your entire dashboard, such as corporate colors,
seasonal coloring, or any other color theme you might want to apply. When you apply a dashboard theme, all
visuals on your dashboard use the colors from your selected theme. A few exceptions apply, described in the
Considerations and limitations section of this article.

Changing the colors of the report visuals on a dashboard doesn't affect the visuals in the associated report. Also,
when you pin tiles from a report that already has a report theme applied, you can choose to keep the current
theme or use the dashboard theme.

Prerequisites
To follow along, open the Sales and Marketing sample dashboard.

How dashboard themes work


To get started, open a dashboard that you created, or can edit. Select Edit > Dashboard theme .

In the dashboard pane that appears, select one of the pre-built themes. In the example below, we've selected
Dark .
Create a custom theme
The default theme for Power BI dashboards is Light . If you want to customize the colors or create your own
theme, select Custom in the drop-down.
Use the custom options to create your own dashboard theme. If adding a background image, we recommend
that your image be at least 1920x1080 resolution. To use an image as a background, upload the image to a
public website, copy the URL, and paste it into the Image URL field.

Use a JSON theme


Another way to create a custom theme is to upload a JSON file that has settings for all the colors you'd like to
use for your dashboard. In Power BI Desktop, report creators use JSON files to create themes for reports. You
can upload these same JSON files for dashboards, or find and upload JSON files from the Theme gallery page in
the Power BI Community.

You can also save your custom theme as a JSON file and then share it with other dashboard creators.
Use a theme from the Theme Gallery
As with the built-in and custom options, when you upload a theme, the colors are automatically applied to all
tiles on the dashboard.
1. Hover over a theme and choose View repor t .

2. Scroll down and find the link to the JSON file. Select the download icon and save the file.

3. Back in Power BI service, in the Custom Dashboard theme window, select Upload JSON theme .

4. Navigate to the location where you saved the JSON theme file and select Open .
5. On the Dashboard theme page, select Save . The new theme is applied to your dashboard.
Reports and dashboards with different themes
If your report uses a different theme from the dashboard theme, in most cases you can control whether the
visual retains the current report theme or uses the dashboard theme. However, card visuals in dashboards use
the 'DIN' font family, with black text. You can change the text color for all the tiles on a dashboard, including the
cards, by creating a custom dashboard theme.
When pinning a tile to a dashboard, to keep the report theme, select Keep current theme . The visual, on
the dashboard, will retain the report theme, including transparency settings.
The only time you see Tile Theming options is if you created the report in Power BI Desktop, added a
report theme, and then published the report to Power BI service.

Try re-pinning the tile and selecting Use dashboard theme .

Dashboard theme JSON file format


At its most basic level, the theme JSON file has only one required line: name .

{
"name": "Custom Theme"
}

Other than name , everything else is optional. You're free to add only the properties you specifically want to
format to the theme file, and continue to use the Power BI defaults for the rest.
The JSON file for dashboard theming includes:
name: The theme name (only required field).
foreground and background: Colors for the dashboard.
dataColors: A list of hex code to use for data in charts. You can include as few or as many colors as you want.
tiles: Background and color configurations for dashboards.
visualStyles: Granular formatting for visuals.
Here is a sample theme JSON for the default Light theme:

"name":"Light",

"foreground":"#000000",

"background":"#EAEAEA",

"dataColors":["#01B8AA","#374649","#FD625E","#F2C80F","#5F6B6D","#8AD4EB","#FE9666","#A66999"],

"tiles":{"background":"#FFFFFF","color":"#000000"},

"visualStyles":{"*":{"*":{"*":[{"color":{"solid":{"color":"#000000"}}}]}}}

Considerations and limitations


You can't apply dashboard themes to pinned live report pages, iframe tiles, SSRS tiles, workbook tiles, or
images.
You see dashboard themes on mobile devices, but you can only create a dashboard theme in Power BI
service.
Dashboard custom themes only work with tiles pinned from reports.

Next steps
Apply themes to reports
Enter data directly in a paginated report in Report
Builder - Power BI
8/4/2021 • 4 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Report Builder ✔
️ Power BI service ❌ Power BI Desktop
In this article, you learn about a feature in the new version of Microsoft Power BI Report Builder that lets you
enter data directly into an RDL report as an embedded dataset. This feature is similar to Power BI Desktop. You
can type the data directly in a dataset in your report, or paste it from another program like Microsoft Excel. After
you've created a dataset by entering data, you can use it just like you would any other embedded dataset you've
created. Plus you can add more than one table and use one as a filter for the other. This feature is especially
useful for small, static datasets you might need to use in your report, like report parameters.

Prerequisites
To enter data directly in a paginated report, download and install Power BI Report Builder.
To save your paginated report to the Power BI service, you need a Power BI Pro account or Premium Per User
(PPU) license, and write access to a workspace in a Power BI Premium capacity.
To save your paginated report to a report server, you need permissions to edit the RsReportServer.config file.

Create a data source and dataset


After you’ve downloaded and installed Report Builder, you follow the same workflow you use to add an
embedded data source and dataset to your report. In the following procedure, under Data Sources you see a
new option: Enter Data . You only need to set up this data source once in a report. After that, you can create
multiple tables of entered data as separate datasets, all using that single data source.
1. In the Repor t Data pane, select New > Dataset .

2. In the Dataset Proper ties dialog box, select Use a dataset embedded in my repor t .
3. Next to Data source , select New .
4. In the Data Source Proper ties dialog box, select Use a connection embedded in my repor t .
5. In the Select connection type box, select ENTER DATA > OK .

6. Back in the Dataset Proper ties dialog box, select Quer y Designer .
7. In the Quer y Designer pane, right-click and paste your data in the table.
8. To set the column names, double-click each NewColumn and type the column name.

9. If the first row contains column headings from the original data, right-click and delete it.
10. By default, the data type for each column is String. To change the data type, right-click the column header
> Change Type , and set it to another data type, such as Date or Float.

11. When you’ve finished creating the table, select OK .


The query that’s generated is the same as you’d see with an XML data source. Under the covers, we’re
using XML as the data provider. We’ve repurposed it to enable this scenario as well.
12. In the Dataset Proper ties dialog box, select OK .
13. You see your data source and dataset in the Repor t Data pane.

You can use your dataset as the basis for data visualizations in your report. You can also add another dataset and
use the same data source for it.

Design the report


Now that you have a data source and dataset, you're ready to create your report. The following procedure
creates a simple report based on the data in the previous section.
1. On the Inser t menu, select Table > Table Wizard .
2. Select the dataset you just created > Next .

3. In the Arrange fields page, drag fields you want to group by from the Available fields box to the Row
groups box. In this example:
CountryRegion
SalesYear
4. Drag the fields you want to aggregate from the Available fields box to the Values box. In this example:
SalesAmount
By default, Report Builder sums the fields in the Values box, but you can choose another aggregation.
5. Select Next .
6. In the Choose the layout page, keep all the default settings, but clear Expand/collapse groups . In
general, expanding and collapsing groups is great, but this time we want to see all the data.
7. Select Next > Finish . The table is displayed on the design surface.
Run the report
To see the actual values and preview the report, you run it.
1. Select Run in the Home ribbon.

Now you see the values. The matrix has more rows than you saw in Design view! You can either format
the page or decide to use the default settings before saving to your local computer or publishing to the
service.
2. To see how your report will look when you print it, select Print Layout .

Now you see it as it will look on a printed page.


Upload the paginated report to the Power BI service
Now that paginated reports are supported in the Power BI service, you can upload your paginated report to a
Premium capacity. See Upload a paginated report for details.

Upload the paginated report to a report server


You can also upload your paginated report to a Power BI Report Server or SQL Server Reporting Services 2016
or 2017 report server. Before you do, you need to add the following item to your RsReportServer.config as an
additional data extension. Back up your RsReportServer.config file before you make the change, in case you run
into any issues.

<Extension Name="ENTERDATA"
Type="Microsoft.ReportingServices.DataExtensions.XmlDPConnection,Microsoft.ReportingServices.DataExtensions"
>
<Configuration>
<ConfigName>ENTERDATA</ConfigName>
</Configuration>
</Extension>

After you've edited it, here's what the list of data providers in the config file should look like:
That’s it – you can now publish reports that use this new functionality to your report server.

Next steps
What are paginated reports in Power BI Premium?
What is Power BI Report Server?
Edit a paginated report in Power BI Report Builder
from the service
8/4/2021 • 2 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Report Builder ✔
️ Power BI service ❌ Power BI Desktop
In this article, you learn how to quickly edit a paginated report in Power BI Report Builder directly from a
workspace in the Power BI service.

Prerequisites
Make sure you install Power BI Report Builder from the Microsoft Download Center before getting started.
You need access to a workspace in an a Premium capacity.

Edit a paginated report from the Power BI service


1. Go to list view in your workspace where you saved your paginated report.
2. There are two different ways you can open a paginated report in Power BI Report Builder from the Power
BI service:
In list view, select More Options (…) for a paginated report, then select Edit in Power BI Repor t
Builder .

Or open your paginated report, then from the File menu select Edit in Power BI Repor t Builder .
3. Your paginated report opens in Power BI Report Builder with the data source and dataset automatically
configured. From here, you can make your edits.

After you edit your paginated report in Power BI Report Builder, you can publish it back to the Power BI
service.
4. In Power BI Report Builder, select Publish .
5. The workspace where it is already saved is automatically selected. You have the option to change the file
name.

Next steps
What are paginated reports in Power BI Premium?
Tutorial: Create a paginated report and upload it to the Power BI service
Edit a paginated report in Power BI Report Builder from the service
Create an embedded data source for paginated
reports in the Power BI service
8/4/2021 • 3 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Report Builder ✔
️ Power BI service ❌ Power BI Desktop
In this article, you learn how to create and modify an embedded data source for a paginated report in the Power
BI service. You define an embedded data source in a single report, and use it only in that report. Currently,
paginated reports published to the Power BI service need embedded datasets and embedded data sources, and
can connect to these data sources:
Power BI Datasets
Azure Analysis Services
Azure SQL Database and Azure SQL Managed Instance
Azure Synapse
SQL Server
SQL Server Analysis Services
Oracle
Teradata
Dataverse
For the following data sources, use the SQL Server Analysis Services connection option:
Power BI Premium datasets via the XMLA endpoint
Paginated reports connect to on-premises data sources by way of a Power BI gateway. You set up the gateway
after you publish the report to the Power BI service.
See Report Data in Power BI Report Builder for more detailed information.

Prerequisites
To publish a Power BI paginated report to the Power BI service, you need a Power BI Pro license, or Premium
Per User (PPU) license, and write access to a workspace in aPower BI Premium capacity.

Create an embedded data source


1. Open Power BI Report Builder.
2. On the toolbar in the Report Data pane, select New > Data Source . The Data Source Proper ties
dialog box opens.
3. In the Name text box, type a name for the data source or accept the default.
4. Select Use a connection embedded in my repor t .
5. From the Select connection type list, select a data source type.
6. Specify a connection string by using one of these methods:
Type the connection string directly in the Connection string text box.
Select Build to open the Connection Proper ties dialog box for the data source you chose in
step 2.
Fill in the fields in the Connection Proper ties dialog box as appropriate for the data source type.
Connection properties include the type of data source, the name of the data source, and the
credentials to use. After you specify values in this dialog box, select Test Connection to verify that
the data source is available and that the credentials you specified are correct.
7. Select Credentials .
Specify the credentials to use for this data source. The owner of the data source chooses the type of
credentials that are supported. For more information, see Specify Credential and Connection Information
for Report Data Sources.
8. Select OK .
The data source appears in the Report Data pane.

Limitations and Considerations


Paginated reports connecting to Power BI datasets follow the rules for shared datasets in Power BI with some
minor changes. For users to properly view paginated reports using Power BI datasets, and to ensure row-level
security (RLS) is enabled and enforced for your viewers, make sure you follow these rules:
Classic apps and workspaces
.rdl in same workspace as dataset (same owner): Supported
.rdl in different workspace as dataset (same owner): Supported
Shared .rdl: You need Read permission assigned for each user viewing the report at the dataset level
Shared app: You need Read permission assigned for each user viewing the report at the dataset level
.rdl in same workspace as dataset (different user): Supported
.rdl in different workspace as dataset (different user):You need Read permission assigned for each user
viewing the report at the dataset level
Role-level security: You need Read permission assigned for each user viewing the report at the dataset level
to have it enforced.
New experience apps and workspaces
.rdl in same workspace as dataset: Supported
.rdl in different workspace as dataset (same owner): Supported
Shared .rdl: You need Read permission assigned for each user viewing the report at the dataset level
Shared app: You need Read permission assigned for each user viewing the report at the dataset level
.rdl in same workspace as dataset (different user) - Supported
.rdl in different workspace as dataset (different user): You need Read permission assigned for each user
viewing the report at the dataset level
Role-level security: You need Read permission assigned for each user viewing the report at the dataset level
to have it enforced

Next steps
Create an embedded dataset for a paginated report in the Power BI service
What are paginated reports in Power BI Premium?
Create an embedded dataset for a paginated report
in the Power BI service
8/4/2021 • 2 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Report Builder ✔
️ Power BI service ❌ Power BI Desktop
In this article, you learn how to create an embedded dataset, based on an embedded data source, for a
paginated report in the Power BI service. Embedded datasets are contained in a single paginated report, for use
in that report. Currently, paginated reports published to the Power BI service need embedded datasets and
embedded data sources. You create the embedded data source and dataset in Power BI Report Builder, while
you're creating your report.
Before you can create the dataset, you need to create a data source. See Embedded data sources for paginated
reports in the Power BI service to learn how.

Prerequisites
To publish a Power BI paginated report to the Power BI service, you need a Power BI Pro license, or Premium
Per User (PPU) license, and write access to a workspace in aPower BI Premium capacity.

Create an embedded dataset


1. In the Report Data pane in Power BI Report Builder, select New > Dataset .
2. In the Quer y tab of the Dataset Proper ties dialog box, give the dataset a name. The embedded data
source is already in the Data source box, or you can select New to create a different embedded data
source.

3. Under Quer y type , select the type of command or query to use for the dataset.
Text runs a query to retrieve data from the database. It's the default and is used for most queries. Type
a query or import a pre-existing query by selecting Impor t . To build the query graphically, select
Quer y Designer . If you use the query designer to build a query, the text of the query will appear in
this box. Select the Expression (fx ) button to use an expression to dynamically generate the query.
Table selects all the fields within a table. Enter the name of the table that you want to use as a dataset.
Stored Procedure runs a stored procedure by name.
4. In the Query Designer, you can see and interact with the tables and fields in the dataset, import a query,
or edit as text. You can also add filters and parameters here.

5. In the Query Designer, select Run Quer y to test it, then select OK .
6. Back in the Dataset Properties dialog box, in the Time out (in seconds) box, type the number of
seconds until the query times out. The default is 30 seconds. The value for Time out must be empty or
greater than zero. If it is empty, the query does not time out.
7. You can set other properties for the dataset on the other tabs:
Create calculated fields on the Fields tab.
Set advanced options on the Options tab.
Add or update Filters and Parameters on their respective tabs.
8. Select OK
The report opens in Report Design View. The data source, dataset, and dataset field collection appear in
the Report Data pane, and you can continue designing your paginated report.
Next steps
What are paginated reports in Power BI Premium?
Tutorial: Create a paginated report and upload it to the Power BI service
Publish a paginated report to the Power BI service
Create a paginated report based on a Power BI
shared dataset
9/20/2021 • 7 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Report Builder ✔
️ Power BI service ✔
️ Power BI Desktop
You can use a dataset that you create in Power BI Desktop as a data source for Power BI Report Builder
paginated reports. Picture this scenario: You've created a Power BI report in Power BI Desktop. You spent a lot of
time designing the data model, then created a beautiful Power BI report with all sorts of great visuals. Your
report has a matrix with many rows, so you have to scroll to see them all. Your report readers want a report they
can print out, that will show all the rows in that matrix. A Power BI paginated report can do that: print a table or
matrix that runs to multiple pages, with page headers and footers and a perfect page layout that you design. It
will complement the Power BI Desktop report. You want them to be based on the exact same data, no
discrepancies, so you use the same dataset.

What you need


Here's a list of what you need and don't need to use a shared dataset in Power BI Report Builder.
Power BI Report Builder. Download and install Power BI Report Builder.
The dataset doesn't have to be in a workspace in a Premium capacity, and you don't need to be a member
of that workspace.
To access a Power BI dataset, you need to have Build permission for the dataset. Read about Build
permission.
You don't need a Power BI Pro or Premium Per User (PPU) license to create a paginated report in Report
Builder.
You do need a Power BI Pro or Premium Per User (PPU) license to publish your paginated report. You also
need at least a Contributor role for a workspace in a Premium capacity.
Optional: If you want to follow along with this article, download the Power BI Desktop Retail Analysis
sample .pbix file, open it in Power BI Desktop and add a table with a lot of columns. In the Format pane,
turn off Totals . Then publish it to a workspace in the Power BI service.

Connect to the Power BI dataset


1. Open Power BI Report Builder.
2. Select Sign in in the upper-right corner of Report Builder to sign in to your Power BI account.
3. In the Report Data pane, select New > Power BI Dataset Connection .
NOTE
You can't create the data source or dataset for a Power BI dataset by using the Report Builder Table, Matrix, or
Chart wizards. After you've created them, you can use the wizards to create tables, matrixes, or charts based on
them.

4. Search or browse for the dataset or the workspace where it resides > Select . Report Builder fills in the
dataset name.

5. The dataset is listed under Data Sources in the Report Data pane.

Remember, you can connect to multiple Power BI datasets and other data sources in the same paginated
report.

Get the DAX query for the dataset


When you want the data in your Power BI report and in your Report Builder report to be the same, it's not
enough to connect to the dataset. You also need the query that's built on that dataset.
Video: Get the DAX query
In the following video, Chris Finlan demonstrates how to get the DAX you need for your paginated report.
NOTE
This video might use earlier versions of Power BI Report Builder or the Power BI service.

https://www.youtube.com/embed/NfoOK4QRkhI
Steps to get the DAX query
Now here are the steps to get the query.
1. Open the Power BI report (.pbix) in Power BI Desktop.
2. Make sure you have a table in your report that contains all the data you want in your paginated report.
The table needs to meet these two requirements:
It needs to be a flat table, not a matrix or other visual. If it's not a table, convert it to a table now, go
through the Performance Analyzer steps that follow, then convert it back to the visual you want.
For your numeric fields, you need to use predefined measures. They have a calculator symbol next
to them. Read about creating measures.

3. On the View ribbon, select Performance Analyzer .

4. In the Performance Analyzer pane, select Star t recording , then select Refresh visuals .
5. Expand the plus sign (+ ) next to the table name, and select Copy quer y . The query is the DAX formula
you need for the dataset in Power BI Report Builder.

Create the dataset with the query


1. Go back to Power BI Report Builder.
2. Right-click the dataset under Data Sources and select Add Dataset .

3. In Dataset Properties, give it a name, and select Quer y Designer .


4. Make sure DAX is selected, and deselect the Design Mode icon.
5. In the upper box, paste the query you copied from Power BI Desktop.

NOTE
If your query includes the TOPN function, delete it from your query.

6. Select Execute Quer y (the red exclamation mark, !) to be sure your query works.

You see the results of the query in the lower box.


7. Select OK .
You see your query in the Quer y window of the Dataset Proper ties dialog box.
8. Select OK .
Now you see your new dataset with a list of its fields in the Report Data pane.
Create a table in the report
One quick way to create a table is to use the Table Wizard.
1. On the Inser t ribbon, select Table > Table Wizard .

2. Choose the dataset you created with the DAX query > Next .

3. To make a flat table, select the fields you want in Available fields . You can select multiple fields at a time
by selecting the first one you want, holding the Shift key, and selecting the last one.
4. Drag the fields to the Values box > Next .

5. Choose the layout options you want > Next .


6. Select Finish . You see your table in Design View.
7. Select Click to add title and add a title.
8. Select Run to preview your report.

9. Select Print Layout to see how your report will look printed.
This report layout needs some work. It has 54 pages because the columns and margins make the table
two pages wide.
Format the report
You have several formatting options to make your table fit on one page.
1. You can narrow the page margins in the Properties pane. If you don't see the Properties pane, on the
View ribbon, select the Proper ties check box.
2. Select the report, not the table or title.
3. In the Repor t Proper ties pane, under Page , expand Margins and change each one to 0.75in .
4. You can also make columns narrower. Select the column border and drag the right side to the left.

5. Another option is to make sure the number values are formatted well. Select a cell with a number value.

TIP
You can format more than cell at a time by holding down the Shift key while you select the other cells.

6. On the Home ribbon, in the Number section, change the Default format to a numeric format such as
Currency .
7. Change the Placeholder style to Sample Values so you can see the formatting in the cell.

8. If appropriate, in the Number section decrease the decimals to save more space.
Getting rid of blank pages
Even if you've made the margins and the table columns narrower, you may still end up with every other page
being blank. Why? Because of the math.
When you add up the page margins you set, plus the width of the body of the report, it has to be less than the
width of the report format.
For example, say your report has an 8.5" X 11" format and you've set the side margins to 0.75 each. The two
margins together make 1.5", so the body has to be less than 7" wide.
1. Select the right edge of the report design surface, and drag it so it's less than the desired number on the
ruler.

TIP
You can set it more accurately in the Body properties. Under Size , set the Width property.
2. Select Run to preview your report and make sure you've gotten rid of the blank pages. This report now
has only 26 pages, instead of the original 54. Success!
Limitations and considerations
For datasets that use a Live Connection to Analysis Services, you can connect directly by using the underlying
Analysis Services connection instead of a shared dataset.
If you want to use a Power BI dataset that uses DirectQuery in Power BI Report Builder, the dataset has to
include a measure, even if you don't plan to surface the measure in your report. Without the measure, the
dataset won't return proper data results.
Datasets with Promoted or Certified endorsements appear in the list of available datasets, but they aren't
marked as such.
You can't embed paginated reports that are based on Power BI shared datasets in the "App Owns Data"
scenario.

Next steps
What are paginated reports in Power BI Premium?
Create a paginated report from a Power BI report
or dataset
8/4/2021 • 2 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Report Builder ✔
️ Power BI service ❌ Power BI Desktop
In this article, you learn how to create a paginated report from a Power BI report or a shared dataset in the
Power BI service.

Prerequisites
To create a Power BI paginated report in the Power BI service, you need a Power BI Pro license, or Premium
Per User (PPU) license, and write access to a workspace in aPower BI Premium capacity.

Create the paginated report


1. Go to list view for any workspace, including My Workspace.
2. There are three different ways you can create a paginated report from the Power BI service:
In list view, select More options (...) for a Power BI report, then select Create paginated repor t .
Or in list view, select More options (...) for a dataset, then select Create paginated repor t .
Or from the navigation pane, select More options (...) for a dataset, then select Create paginated
repor t .
3. You see a message that you need some Power BI Report Builder updates. Select Download .
If you know you have the most recent version of Power BI Report Builder, select I've already installed
these updates .
4. Go through the Power BI Report Builder installation process:
a. Select Download .
b. Select Open file and go through the steps in the Power BI Report Builder Setup Wizard.
5. When the Report Builder installation is finished, go back to the Power BI service and select Create
paginated repor t .

6. Select Open in the browser window.


7. Power BI Report Builder opens with an automatically generated title, and the Power BI dataset .pbix file in
the Data Sources folder. The data source has the same name as the Power BI dataset.

The design surface also features a link to the Power BI Paginated Reports in a Day video-based course. If
you're new to paginated report creation, the course is a good way to get up to speed. You can delete it
when you start designing your report.
You're ready to start designing your paginated report.

Next steps
What are paginated reports in Power BI Premium?
Tutorial: Create a paginated report and upload it to the Power BI service
Publish a paginated report to the Power BI service
Create parameters for paginated reports in the
Power BI service
8/4/2021 • 2 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Report Builder ✔
️ Power BI service ❌ Power BI Desktop
In this article, you learn how to create parameters for paginated reports in the Power BI service. A report
parameter provides a way to choose report data and vary the report presentation. You can provide a default
value and a list of available values. Your report readers can change the selection. They can also type in the
parameter text boxes to search for values. See View parameters for paginated reports to see how your business
users interact with parameters in the Power BI service.
The following illustration shows Design view in Power BI Report Builder for a report with the parameters
@BuyingGroup, @Customer, @FromDate, and @ToDate.

1. The report parameters in the Report Data pane.


2. The table with one of the parameters in the dataset.
3. The Parameters pane. You can customize the layout of parameters in the parameters pane.
4. The parameters @FromDate and @ToDate have the data type DateTime . When viewing the report, you
can either type a date in the text box or choose a date in the calendar control.
5. One of the parameters in the Dataset Proper ties dialog box.

Prerequisites
To publish a Power BI paginated report to the Power BI service, you need a Power BI Pro license, or Premium
Per User (PPU) license, and write access to a workspace in aPower BI Premium capacity.

Create or edit a report parameter


1. Open your paginated report in Power BI Report Builder.
2. In the Repor t Data pane, right-click the Parameters node > Add Parameter . The Repor t Parameter
Proper ties dialog box opens.
3. In Name , type a name for the parameter or accept the default name.
4. In Prompt , type text to appear next to the parameter text box when the user runs the report.
5. In Data type , select the data type for the parameter value.
6. If the parameter can contain a blank value, select Allow blank value .
7. If the parameter can contain a null value, select Allow null value .
8. To allow a user to select more than one value for the parameter, select Allow multiple values .
9. Set the visibility option.
To show the parameter on the toolbar at the top of the report, select Visible .
To hide the parameter so that it doesn't display on the toolbar, select Hidden .
To hide the parameter and protect it from being modified on the report server after the report is
published, select Internal . The report parameter can then only be viewed in the report definition.
For this option, you must set a default value or allow the parameter to accept a null value.
10. Select OK .

Next steps
See View parameters for paginated reports to see how the parameters look in the Power BI service.
For in-depth information about parameters in paginated reports, see Report parameters in Power BI Report
Builder.
Set report views for paginated reports in the Power
BI service
8/4/2021 • 2 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Report Builder ✔
️ Power BI service ❌ Power BI Desktop
When you render a paginated report in the Power BI service, the default view is HTML based and interactive.
Another report view, for fixed page formats like PDF, is the new Page View option.

Prerequisites
To publish a Power BI paginated report to the Power BI service, you need a Power BI Pro license, or Premium
Per User (PPU) license, and write access to a workspace in aPower BI Premium capacity.

Report views
Default interactive view

Page View
In Page View, the rendered report looks different compared to the default view. Some properties and concepts in
paginated reports only apply to fixed pages. The view is similar to when the report is printed or exported. You
can still change some elements, like parameter values, but it doesn't have other interactive features such as
column sorting and toggles.
Page View supports all the features the browser's PDF Viewer supports, such as Zoom in, Zoom out, and Fit to
page.

Switch to Page View


When you open a paginated report, it renders in interactive view by default. If the report has parameters, select
parameters, then view the report.
1. Select View on the toolbar > Page View .

2. You can change the settings of the page view by selecting the Page Settings in View menu on the
toolbar.
The Page Settings dialog box has options to set Page Size and Orientation for the Page View. After
you apply page settings, the same options apply when you print the page later.

3. To switch back to the interactive view, select Default in the View dropdown box.

Browser support
Page View is supported in Google Chrome and Microsoft Edge browsers. Make sure that viewing PDFs in the
browser is enabled. It's the default setting for these browsers.
Page View isn't supported in Internet Explorer and Safari, so the option is disabled. It also isn't supported in
browsers on mobile devices, or in the native Power BI mobile apps.

Next steps
View a paginated report in the Power BI service
What are paginated reports in Power BI Premium?
Subreports in Power BI paginated reports
8/4/2021 • 5 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Report Builder ✔
️ Power BI service ❌ Power BI Desktop
A subreport is a paginated report item that displays another paginated report inside the body of a main
paginated report. Conceptually, a subreport in a report is similar to a frame in a Web page. You use it to embed
a report within a report. You can use any report as a subreport. You store the report that is displayed as the
subreport in the same Premium workspace as the parent report. You can design the parent report to pass
parameters to the subreport. A subreport can repeat within data regions, using a parameter to filter data in each
instance of the subreport.

In this illustration, the contact information displayed in the main Sales Order report actually comes from a
Contacts subreport.
You create and modify paginated report definition (.rdl) files in Power BI Report Builder. You can upload
subreports stored in SQL Server Reporting Services to a Premium workspace in the Power BI service. The main
reports and the subreports need to be published to the same workspace. Install Power BI Report Builder.

Prerequisites
To publish a Power BI paginated report to the Power BI service, you need a Power BI Pro license, or Premium
Per User (PPU) license, and write access to a workspace in aPower BI Premium capacity.

Work with Report Builder and the Power BI service


Power BI Report Builder can work with paginated reports on your computer (known as local reports) or with
reports on the Power BI service. When you open Report Builder for the first time, you're asked to sign into your
Power BI account. If not, select Sign In in the upper-right corner.
After signing in, you see a Power BI Ser vice option in Power BI Report Builder for the Open and Save As
options on the File menu. When you select the Power BI Ser vice option to save a report, you create a live
connection between Power BI Report Builder and the Power BI service.

Save a local report to the Power BI service


Before you can add a subreport to a main report, first create the two reports and save them to the same Power
BI Premium workspace.
1. To open an existing local report, on the File menu, select Open > This PC and select an .rdl file.
2. On the File menu, select Save As > Power BI Ser vice . See Publish a paginated report to the Power BI
service for details.

NOTE
You can also upload a report by starting in the Power BI service. The same article, Publish a paginated report to
the Power BI service, has details.

3. In the Save As dialog box, select a Power BI Premium workspace where you can store your paginated
reports. Premium workspaces have a diamond icon next to their name.
4. Select Save .

Add a subreport to a report


Now that you've saved both reports to the same Premium workspace, you can add one to the other as a
subreport. There are two ways to add a subreport.
1. On the Inser t ribbon, select the Subrepor t button, or right-click on the report canvas and select Inser t
> Subrepor t .

The Subrepor t Proper ties dialog box opens.


2. Select the Browse button > navigate to the report you want to use as the subreport > specify the name
of the subreport in the Name text box.
3. Configure other properties as needed, including parameters.

Use parameters in subreports


To pass parameters from the parent report to the subreport, define a report parameter in the report that you
use as the subreport. When you place the subreport in the parent report, you can select the report parameter
and a value to pass from the parent report to the report parameter in the subreport.
NOTE
The parameter that you select from the subreport is a report parameter, not a query parameter.

You can place a subreport in the main body of the report or in a data region. If you place a subreport in a data
region, the subreport repeats with each instance of the group or row in the data region. You can pass a value
from the group or row to the subreport. In the subreport value property, use a field expression for the field
containing the value you want to pass to the subreport parameter.
For more about working with parameters and subreports, see Add a subreport and parameters in the SQL
Server Reporting Services documentation.

Preview paginated reports in Report Builder


You can preview your reports in Report Builder.
On the Home ribbon, select Run .
Because Report Builder is a design tool, previewing the report may look different from rendering the report in
the Power BI service.
Notes about previewing
Report Builder doesn’t store credentials for data sources used in reports. Report Builder asks you for each set
of credentials during preview.
If the report data sources are on premises, you need to configure a gateway after saving the report to the
Power BI workspace.
If Report Builder encounters an error during preview, it returns a generic message. If the error is hard to
debug, consider rendering the report in the Power BI service.

Considerations
Maintaining the connection
Report Builder doesn’t persist the connection to Power BI when you close the file. It's possible to work with a
local main report with subreports stored in the Power BI workspace. Be sure to save the main report to the
Power BI workspace before closing the report. If you don't, you may get a ‘not found’ message during preview,
because there's no live connection to the Power BI service. In that case, go to a subreport and select its
properties. Open the subreport again from the Power BI service. This re-establishes the connection, and all other
subreports should be fine.
Renaming a subreport
If you rename a subreport in the workspace, you need to fix the name reference in the main report. Otherwise,
the subreport won't render. The main report still renders with an error message inside the subreport item.

Migrate large reports


If you're migrating large reports to Power BI, consider using the RdlMigration tool. The RdlMigration tool has
been updated to handle duplicate subreport names. Duplicate subreport names can occur when two or more
reports share the same name but reside in different subdirectories. If the names aren't uniquely resolved, only
the first subreport is recognized.
If you want to use Report Builder to migrate large reports, we recommend working with the subreports first.
Save each one to the Power BI workspace to prevent any duplicate report names.
Share reports with subreports
As we've stated, the main report and subreports must be in the same workspace. Otherwise, the subreport
doesn't render. When sharing the main report, you also need to share the subreports. If you share the main
report in an app, make sure you also include the subreports in that app. If you share the main report with users
or user groups directly, make sure you also share each subreport with the same set of users or user groups.

Next steps
Troubleshoot subreports in Power BI paginated reports
View a paginated report in the Power BI service
More questions? Try the Power BI Community
Troubleshoot subreports in Power BI paginated
reports
8/4/2021 • 3 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Report Builder ✔
️ Power BI service ❌ Power BI Desktop
Sometimes when using subreports in paginated reports, you may get an unexpected result, or the feature
doesn't work as you expected. This article provides solutions for common issues when using subreports. A
subreport is a report item that displays another report inside the body of a main paginated report. See
Subreports in Power BI paginated reports for more background.

Subreport couldn't be found


Description: Subreport doesn't render. Instead an error message appears.
Message
"The subreport 'Subreport1' could not be found at the specified location 'CustomerDetails'. Verify that the
subreport has been published and that the name is correct."
Possible reasons
A subreport with the specified name doesn't exist in the same workspace or app as the main report.
The user doesn't have access to the subreport.
The number of subreports in the main report has reached the subreport limit (50 subreports).
Troubleshooting steps
In a workspace
Verify that the report with the name in the error message exists. The name is case insensitive.
In an app
Verify that the report with the name in the error message exits in the app. Contact the author of the app for
further assistance.
If the repor t is shared
1. Verify that the report with the name in the error message is shared with you.
2. If the report exists, verify that the owner name is the same for the main report and the subreport. Then
contact the owner of the main report with that information.

Subreport renders with unexpected content


Possible reason
Power BI allows users to have multiple reports with the same name in the same workspace
Troubleshooting steps (for report authors)
1. Open the main report in Power BI Report Builder and determine the name of the subreport.
2. Look for reports with the same name in the workspace.
3. Locate the expected report and rename the rest.
For non-authors: Contact the author.
Data retrieval fails
Description: Data retrieval fails while rendering the subreport. Subreport doesn't render. Instead an error
message appears.
Message
"Data retrieval failed for the subreport, 'Subreport1', located at: 'InvoiceDetails'. Check the log files for more
information."
Troubleshooting steps
Same as the general troubleshooting steps for reports with data access issues.

Rendering fails: Unspecified parameters


Description: Subreport rendering fails because of unspecified parameters. The subreport has mandatory
parameters but the main report doesn't set all of them.
Message
"One or more parameters were not specified for the subreport, 'Subreport1', located at: 'SubreportAWithDS'."
Troubleshooting steps (for the report author)
1. Open the main report in Power BI Report Builder.
2. Open the subreport in Power BI Report Builder.
3. Verify that the set of parameters passed inside the subreport report item in the main report matches the set
of parameters in the subreport.
For non-authors: Contact the author.

Rendering fails: Recursion limit


Description: Subreport rendering fails because of the recursion limit. Subreports can't be nested deeper than
20 levels.
Message
"The report or subreport has a recursive subreport, 'Subreport1', that exceeded the maximum recursion limit
allowed."
Troubleshooting steps (for report authors)
Reduce nesting.
Redesign the report structure.

Other errors
Description: Errors that don't fall into any of the previous categories.
Message
"Error: Subreport could not be shown."
Possible reasons
Multiple errors during subreport rendering, for example, parameter mismatch with data retrieval issues.
Unexpected errors.
Troubleshooting steps (for report authors)
1. Verify that the subreport can render directly.
2. If the subreport can render, check the parameters in both the subreport and main report.
3. Make sure the main report doesn't have more than 50 unique subreports, and the subreport isn't nested
deeper than 20 levels.
4. If you can't resolve the issue, contact Power BI support.
For non-authors: Contact the author.

Next steps
Subreports in Power BI paginated reports
View a paginated report in the Power BI service
More questions? Try the Power BI Community
Pass a report parameter in a URL for a paginated
report in Power BI
8/27/2021 • 2 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI service ✔
️ Power BI Mobile ✔
️ Power BI Report Builder ✔
️ Power BI Premium
❌ Power BI Desktop
You can pass report parameters to a report by including them in a paginated report URL. All query parameters
can have corresponding report parameters. Therefore, you pass a query parameter to a report by passing the
corresponding report parameter. You need to prefix the parameter name with rp: for Power BI to recognize it
in the URL.
Report parameters are case-sensitive and use these special characters:
A space in the parameter portion of the URL is replaced with a plus sign (+). For example:
rp:Holiday=Christmas+Day

A semicolon in any portion of the string is replaced with the characters %3A .
Browsers should automatically perform the proper URL encoding. You don't have to encode any of the
characters manually.

Prerequisites
To publish a Power BI paginated report to the Power BI service, you need a Power BI Pro license, or Premium
Per User (PPU) license, and write access to a workspace in aPower BI Premium capacity.

Parameter examples
To set a report parameter within a URL, use the following syntax:

rp:parameter=value

For example, to specify two parameters, "Salesperson" and "State", defined in a report in your My
Workspace,you'd use the following URL:

https://app.powerbi.com/groups/me/rdlreports/xxxxxxx-abc7-40f0-b456-febzf9cdda4d?
rp:Salesperson=Tie+Bear&rp:State=Utah

To specify the same two parameters defined in a report in an app, you'd use the following URL:

https://app.powerbi.com/groups/me/apps/xxxxxxx-c4c4-4217-afd9-3920a0d1e2b0/rdlreports/b1d5e659-639e-41d0-
b733-05d2bca9853c?rp:Salesperson=Tiggee&rp:State=Utah

To pass a null value for a parameter, use the following syntax:

parameter:isnull=true
For example:

rp:SalesOrderNumber:isnull=true

To pass a Boolean value, use 0 for false and 1 for true. To pass a Float value, include the decimal separator of the
server locale.

NOTE
If your report contains a report parameter that has a default value, and the value of the Prompt property is false (that
is, the Prompt User property isn't selected in Report Manager), then you can't pass a value for that report parameter
within a URL. This provides administrators the option of preventing end users from adding or modifying the values of
certain report parameters.
Power BI doesn't support a query string of more than 2,000 characters. You may inadvertently exceed this value if you
use URL parameters to view your paginated report, especially if your query string contains multiple parameter values. To
properly load the report, reduce the number of characters to under 2,000.

Additional examples
The following URL example includes a multi-value parameter "Salesperson”. The format for a multi-value
parameter is to repeat the parameter name for each value.

https://app.powerbi.com/groups/me/rdlreports/xxxxxxx-abc7-40f0-b456-febzf9cdda4d?
rp:Salesperson=Tie+Bear&rp:Salesperson=Mickey

The following URL example passes a single parameter of SellStartDate with a value of "7/1/2005", for a native
mode report server.

https://app.powerbi.com/groups/me/rdlreports/xxxxxxx-abc7-40f0-b456-febzf9cdda4d?rp:SellStartDate=7/1/2005

Next steps
URL parameters in paginated reports in Power BI
What are paginated reports in Power BI Premium?
Publish a paginated report to the Power BI service
9/29/2021 • 3 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Report Builder ✔
️ Power BI service ❌ Power BI Desktop
In this article, you learn about publishing a paginated report to the Power BI service by uploading it from your
local computer. You can upload paginated reports to your My Workspace or any other workspace, as long as the
workspace is in a Premium capacity or you have a Premium Per User (PPU) license. Look for the diamond icon
next to the workspace name.

Requirements
A Power BI Pro license, or Premium Per User (PPU) license, and write access to a workspace in aPower BI
Premium capacity.
If your report data source is on premises, you need to install a gateway. Read more about on-premises
gateways. After you upload the report, you connect to the on-premises data source by using the gateway.

Add a workspace to a Premium capacity


If the workspace doesn't have the diamond icon next to the name, you need to add the workspace to a
Premium capacity.
1. Select Workspaces , select the ellipsis (...) next to the workspace name, then select Edit workspace .

2. In the Edit workspace dialog box, expand Advanced , then slide Dedicated capacity to On .
You may not be able to change it. If not, then contact your Power BI Premium capacity admin to give you
assignment rights to add your workspace to a Premium capacity.

From Report Builder, publish a paginated report to the Power BI


Service
1. Create a new paginated report or open an existing paginated report from the Power BI Service in Report
Builder. If you open an existing paginated report from the service, the Save option is disabled because
you're updating a report that's live in the Power BI Service.
2. On the Report Builder File menu, select Publish .
If you aren't signed in to Power BI yet, you need to sign in or create an account now. In the upper-right
corner of Report Builder, select Sign in and complete the steps.

3. In the list of workspaces on the left, select a workspace with the diamond icon next to its name. Type
a File name in the box > Save .

4. Open the Power BI service in a browser and browse to the Premium workspace where you published the
paginated report. On the Repor ts tab, you see your report.
5. Select the paginated report to open it in the Power BI service. If it has parameters, you need to select
them before you can view the report.

6. If your report data source is on premises, read about how to connect to a gateway in this article to access
the data source.

From the Power BI service, upload a paginated report


You can also start from the Power BI service and upload a paginated report.
1. Create your paginated report in Report Builder and save it to your local computer.
2. Open the Power BI service in a browser and browse to the Premium workspace where you want to
publish the report. Note the diamond icon next to the name.
3. Select Get data at the bottom of the nav pane.

4. In the Files box, select Get .


5. Select Local file > browse to the paginated report > Open .

6. Select Continue > Edit credentials .

7. Configure your credentials > Sign in .


On the Repor ts tab, you see your report.

8. Select it to open it in the Power BI service. If it has parameters, you need to select them before you can
view the report.
9. If your report data source is on premises, read about how to connect to a gateway in this article to access
the data source.

Connect to a gateway
As with any other Power BI report, if the paginated report data source is on premises, then you need to create or
connect to a gateway to access the data.
1. Next to the report name, select Manage .

2. See the Power BI service article What is an on-premises data gateway for details and next steps.

Next steps
View a paginated report in the Power BI service
What are paginated reports in Power BI Premium?
Embed Power BI paginated reports
PDF Rendering Extension conformance to ISO
14289-1 - paginated reports
8/4/2021 • 7 minutes to read • Edit Online

APPLIES TO: ✔
️ Power BI Report Server ✔
️ SQL Server Reporting Services paginated reports
️ Power BI Report Builder

This document describes paginated report PDF Rendering Extension conformance to ISO 14289-1 (PDF/UA)
specifications for paginated reports in the Power BI service, Power BI Report Server, and SQL Server Reporting
Services.

NOTE
You can save or print this whitepaper by selecting Print from your browser, then selecting Save as PDF .

Prerequisites
For Power BI paginated reports in the Power BI service, you need a Power BI Pro license, or Premium Per User
(PPU) license, and write access to a workspace in aPower BI Premium capacity.

1. Scope
Not applicable

2. Normative references
Not applicable

3. Terms and definitions


Not applicable

4. Notation
Not applicable

5. Version Identification
The PDF Rendering Extension provides support for PDF/UA as described in this document. In some instances,
noted below, it's incumbent on the user to take steps to ensure that a PDF is in full compliance with PDF/UA. We
expect the user will add the appropriate PDF/UA version and conformance identifiers as the last step in this
process, indicating that the necessary work has been done to make the PDF entirely PDF/UA compliant.
Everything listed in this document is based on rendering a PDF document with the device info setting
AccessiblePdf set to true . In some cases, compliance limitations are due to limitations in the Report Definition
Language (RDL).

6. Conformance requirements
C RIT ERIA SUP P O RT IN G F EAT URE REM A RK S

6.1 General Supported PDF Rendering Extension creates PDF


version 1.7.

6.2 Conforming files Supported with Exceptions See remarks in section 7 – File format
requirements.

6.3 Conforming reader Not Applicable

6.4 Conforming assistive technology Not Applicable

7. File format requirements


C RIT ERIA SUP P O RT IN G F EAT URE REM A RK S

7.1 General Supported with Exceptions All real content shall be tagged as
defined in ISO 32000-1:2008, 14.8.
Artifacts (ISO 32000-1:2008,
14.8.2.2.2) shall not be tagged in the
structure tree.
PDF Rendering Extension doesn't
offer the flexibility to explicitly mark
individual items as artifacts, so it will
instead artifact everything that maps
to the criteria in ISO 32000-1:2008,
14.8.2.2.2.
Content shall be marked in the
structure tree with semantically
appropriate tags in a logical reading
order.
Note 4 WCAG 2.0, Guideline 1.4
explains issues regarding contrast,
color, and other formatting for
accessibility.
The user would need to ensure that
their document isn't subject to these
issues.
Standard tags defined in ISO 32000-
1:2008, 14.8.4, shall not be remapped.
PDF Rendering Extension doesn't
remap the standard tags. Documents
begin with the Document root
element.
Files claiming conformance with this
International Standard shall have a
Suspects value of false (ISO 32000-
1:2008, Table 321).
PDF Rendering Extension doesn't
have the Suspects entry. This property
is optional.
C RIT ERIA SUP P O RT IN G F EAT URE REM A RK S

7.2 Text Supported with Exceptions Content shall be tagged in logical


reading order. The most semantically
appropriate tag shall be used for each
logical element in the document
content.
PDF Rendering Extension tags
content in logical reading order as
much as is feasible.
Character codes shall map to Unicode
as described in ISO 32000-1:2008,
14.8.2.4.2. Characters not included in
the Unicode specification may use the
Unicode private use area or declare
another character encoding.
Natural language shall be declared as
discussed in ISO 32000-1:2008, 14.9.2
and/or as described in ISO 32000-
1:2008, 7.9.2. Changes in natural
language shall be declared. Changes in
natural language inside text strings
(e.g. inside alternate descriptions) shall
be declared using a language identifier
as described in ISO 32000-1:2008,
14.9.2.2.
PDF Rendering extension only
declares natural language at the
document level
C RIT ERIA SUP P O RT IN G F EAT URE REM A RK S

7.3 Graphics Supported with Exceptions Graphics objects, other than text
objects, shall be tagged with a Figure
tag as described in ISO 32000-1:2008,
14.8.4.5, Table 340. If any of the
following exceptions are true, then the
graphic shall be tagged as an artifact:
the graphic doesn't represent
meaningful content, or
the graphic appears as a
background to a link annotation, in
which case, the alternative text on the
link shall describe both the graphic and
the link.
PDF Rendering Extension tags
graphics objects with the Figure tag.
A caption accompanying a figure shall
be tagged with a Caption tag.
PDF Rendering Extension does not
currently tag captions on figures with a
Caption tag.
Figure tags shall include an alternative
representation or replacement text
that represents the contents marked
with the Figure tag as noted in ISO
32000-1:2008, 14.7.2, Table 323.
Note 1 See also WCAG 2.0, Guideline
1.1.
If text represented in a graphic is not
text in a natural language that's meant
to be read by a human reader,
alternative text describing the nature
or purpose of the graphic shall be
provided.
Note 2 Text that's a type sample or a
sample of the writing system used by a
language are examples of text that isn't
in a natural language. PDF Rendering
Extension supports alt text on figures,
though it's up to the user to add the
alt text.
Additional note regarding the BBox
attribute:
PDF Rendering Extension doesn't
currently write the BBox attribute.
A workaround is to manually retag
illustrations as new Figures or as
Artifacts.

7.4 Headings Not Applicable RDL doesn't support mark up of


headings in any way. It's up to the user
to tag them as appropriate.
C RIT ERIA SUP P O RT IN G F EAT URE REM A RK S

7.5 Tables Supported with Exceptions Tables should include headers. Table
headers shall be tagged according to
ISO 32000-1:2008, Table 337 and
Table 349.
Note 1 Tables can contain column
headers, row headers or both.
Note 2 As much information as
possible about the structure of tables
needs to be available when assistive
technology is relied upon. Headers
play a key role in providing structural
information.
It's up to the user to include headers
in their tables. RDL and the PDF
Rendering Extension provide support
for row headers.
Structure elements of type TH shall
have a Scope attribute.
PDF Rendering Extension does
include a Scope attribute on TH
elements for Column and Row
Members, but not for Corner cells.
Table tagging structures shall only be
used to tag content presented within
logical row and/or column
relationships.
This is dependent upon how the
user has chosen to use tables in their
RDL.

7.6 Lists Not Applicable RDL does not support mark up of lists.
In RDL, they are structurally a table
with a single table cell.
It's up to the user to retag them as
appropriate.

7.7 Mathematical expressions Supported with Exceptions All mathematical expressions shall be
enclosed within a Formula tag as
detailed in ISO 32000-1:2008, 14.8.4.5
and shall have an Alt attribute.
PDF Rendering Extension doesn't
currently enclose math expressions
within a Formula tag.
The requirements regarding mapping
of characters to Unicode shall apply to
mathematical expressions as set forth
in ISO 32000-1:2008, 9.10.2 and
14.8.2.4.
This is supported by PDF Rendering
Extension.

7.8 Page headers and footers Supported Running headers and footers shall be
identified as Pagination artifacts and
shall be classified as either Header or
Footer subtypes as per ISO 32000-
1:2008, 14.8.2.2.2, Table 330.
Headers or Footers are treated and
tagged as artifacts.
C RIT ERIA SUP P O RT IN G F EAT URE REM A RK S

7.9 Notes and references Not Applicable PDF Rendering Extension doesn't
support mark up of notes and
references.
It's up to the user to tag them as
appropriate.

7.10 Optional content Not Applicable

7.11 Embedded files Not Applicable

7.12 Article threads Not Applicable

7.13 Digital signatures Not Applicable

7.14 Non-interactive forms Not Applicable

7.15 XFA Not Applicable

7.16 Security Not Applicable

7.17 Navigation Supported A document should include a


document outline that matches the
reading order and level of navigational
targets (ISO 32000-1:2008, 12.3.3).
RDL supports bookmarks for a
report item, but the user must select
this option. Those bookmarks are then
rendered as a document outline by the
PDF Rendering Extension.
If present, the entries in the
PageLabels number tree (ISO 32000-
1:2008, 7.7.2, Table 28) should be
semantically appropriate.
The PDF Rendering Extension does
not include a PageLabels number tree.

7.18 Annotations Not Applicable RDL doesn't support annotations

7.21 Fonts Supported

7.21.1 General Supported

7.21.2 Font types Supported

7.21.3 Composite fonts Supported

7.21.3.1 General Supported

7.21 3.2 CIDFonts Supported

7.21.3.3 CMaps Supported

7.21.4 Embedding Supported


C RIT ERIA SUP P O RT IN G F EAT URE REM A RK S

7.21.4.1 General Supported

7.21.4.2 Subset embedding Supported

7.21.5 Font metrics Supported

7.21.6 Character encodings Supported

7.21.7 Unicode character maps Supported

7.21.8 Use of .notdef glyph Supported

8. Conforming reader requirements


Not applicable

9. AT requirements
Not applicable

Disclaimer
© 2017 Microsoft Corporation. All rights reserved. The names of actual companies and products mentioned
herein may be the trademarks of their respective owners. The information contained in this document
represents the current view of Microsoft Corporation on the issues discussed as of the date of publication.
Microsoft cannot guarantee the accuracy of any information presented after the date of publication. Microsoft
regularly updates its websites with new information about the accessibility of products as that information
becomes available.
Customization of the product voids this conformance statement from Microsoft. Please consult with Assistive
Technology (AT) vendors for compatibility specifications of specific AT products.
This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED,
IN THIS DOCUMENT.

Next steps
Administrator overview
More questions? Try asking the Power BI Community
Get started with deployment pipelines
9/21/2021 • 11 minutes to read • Edit Online

This article walks you through the basic settings required for using deployment pipelines in Power BI service. It's
recommended to read the deployment pipelines introduction, before you proceed.
In a deployment pipeline, one workspace is assigned to each stage. Before you start working with your pipeline
in production, review the capacity requirements for the pipeline's workspaces.

Accessing deployment pipelines


You'll be able to access the deployment pipelines feature, if the following conditions are met:
You have one of the following Premium licenses:
You're a Power BI Pro user, and you belong to an organization that has Premium capacity.
Premium Per User (PPU).
You're an admin of a new workspace experience.

NOTE
You'll also be able to see the deployment pipelines button, if you previously created a pipeline, or if a pipeline was shared
with you.

Step 1 - Create a deployment pipeline


You can create a pipeline from the deployment pipelines tab, or from a workspace.
After the pipeline is created, you can share it with other users or delete it. When you share a pipeline with others,
the users you share the pipeline with will be given access to the pipeline. Pipeline access enables users to view,
share, edit, and delete the pipeline.
Create a pipeline from the deployment pipelines tab
To create a pipeline from the deployment pipelines tab, do the following:
1. In Power BI service, from the navigation pane, select Deployment pipelines and then select Create
pipeline .
2. In the Create a deployment pipeline dialog box, enter a name and description for the pipeline, and select
Create .
Create a pipeline from a workspace
You can create a pipeline from an existing workspace, providing you're the admin of a new workspace
experience.
1. From the workspace, select Create a pipeline .

2. In the Create a deployment pipeline dialog box, enter a name and description for the pipeline, and select
Create .

NOTE
If the workspace isn't assigned to your organization's Premium capacity, or to your PPU capacity, you'll get a notification to
assign it to a capacity.

Step 2 - Assign a workspace to a deployment pipeline


After creating a pipeline, you need to add the content you want to manage to the pipeline. Adding content to the
pipeline is done by assigning a workspace to the pipeline stage. You can assign a workspace to any stage.
You can only assign one workspace to a deployment pipeline. Deployment pipelines will create clones of the
workspace content, to be used in different stages of the pipeline.
Follow these steps to assign a workspace in a deployment pipeline:
1. In the newly created deployment pipeline, select Assign a workspace .
2. In the Choose the workspace drop-down menu, select the workspace you want to assign to the pipeline.

NOTE
If you're creating a pipeline from a workspace, you can skip this stage as the workspace is already selected.
3. Select the stage you want to assign the workspace to.
Workspace assignment limitations
The workspace must be a new workspace experience.
You must be an admin of the workspace.
The workspace is not assigned to any other pipeline.
The workspace must reside on aPremium capacity.
You cannot assign a workspace with Power BI samples to a pipeline stage.
You cannot assign a template app workspace.
You can only assign one workspace to each deployment pipeline.

NOTE
Only workspaces that can be used with deployment pipelines, will show in the list of workspaces you can select from.

Step 3 - Deploy to an empty stage


Any Pro user that's a member or admin in the source workspace, can deploy content to an empty stage (a stage
that doesn't contain content). The workspace must reside on a capacity for the deployment to be completed.
You can also use the deployment pipelines REST APIs to programmatically perform deployments. For more
information, see Automate your deployment pipeline using APIs and DevOps.

NOTE
To deploy a paginated report, you'll need a capacity that supports paginated reports.

When deploying content to an empty stage, the relationships between the items are kept. For example, a report
that is bound to a dataset in the source stage, will be cloned alongside its dataset, and the clones will be similarly
bound in the target workspace.
Once the deployment is complete, refresh the dataset. For more information, see deploying content to an empty
stage.
Deploying all content
Select the stage to deploy from and then select the deployment button. The deployment process creates a
duplicate workspace in the target stage. This workspace includes all the content existing in the current stage.

Selective deployment
To deploy only specific items, select the Show more link, and then select the items you wish to deploy. When
clicking the deploy button, only the selected items are deployed to the next stage.
Since dashboards, reports, datasets and dataflows are related and have dependencies, you can use the select
related button to check all items that those items are dependent on. For example, if you want to deploy a report
to the next stage, clicking the select related button will mark the dataset that the report is connected to, so that
both will be deployed at once and the report will not break.

NOTE
You can't deploy a Power BI item to the next stage, if the items it's dependent on doesn't exist in the stage you are
deploying to. For example, deploying a report without a dataset will fail, unless the dataset already exists in the target
stage.
You might get unexpected results if you choose to deploy a Power BI item without the item it's dependent on. This can
happen when a dataset or a dataflow in the target stage, has changed and is no longer identical to the one in the
stage you're deploying from.

Backwards deployment
You can choose to deploy to a previous stage, for example in a scenario where you assign an existing workspace
to a production stage and then deploy it backwards, first to the test stage, and then to the development one.
Deploying to a previous stage works only if the previous stage is empty. When deploying to a previous stage,
you can't select specific items. All content in the stage will be deployed.

Step 4 - Create deployment rules


When working in a deployment pipeline, different stages may have different configurations. For example, each
stage can have different databases or different query parameters. The development stage might query sample
data from the database, while the test and production stages query the entire database.
When you deploy content between pipeline stages, configuring deployment rules enables you to allow changes
to content, while keeping some settings intact. For example, if you want a dataset in a production stage to point
to a production database, you can define a rule for this. The rule is defined in the production stage, under the
appropriate dataset. Once the rule is defined, content deployed from test to production, will inherit the value as
defined in the deployment rule, and will always apply as long as the rule is unchanged and valid.
You can configure rules fo data source rules and parameter rules. The following table lists the type of Power BI
items you can configure rules for, and the type of rule you can configure for each one.

DATA SO URC E RUL E PA RA M ET ER RUL E DETA IL S

Dataflow Use to determine the values


of the data sources or
parameters for a specific
dataflow.

Dataset Use to determine the values


of the data sources or
parameters for a specific
dataset.

Paginated repor t Defined for the data


sources of each paginated
report. You can use these
rules to determine the data
sources of the paginated
report.

NOTE
Data source rules only work when you change data sources from the same type.

Create a deployment rule


To create a deployment rule, follow the steps in this section. After you create all the deployment rules you need,
deploy the datasets with the newly created rules from the source stage to the target stage where the rules were
created. Your rules will not apply until you deploy the datasets from the source to the target stage.
1. In the pipeline stage you want to create a deployment rule for, select Deployment settings .
2. You can set rules to dataflows , datasets and paginated repor ts . In the Deployment settings pane,
select the type of rule you want to set.

3. Select the dataflow, dataset or paginated report you want to create a rule for.
4. Select the type of rule you want to create, expand the list, and then select Add rule . There are two types
of rules you can create:
Data source rules
From the data source list, select a data source name to be updated. Use one of the following
methods to select a value to replace the one from the source stage:
Select from a list.
Select Other and manually add the new data source. You can only change to a data source
from the same type.

NOTE
Data source rules will be grayed out if you're not the owner of the Power BI item you're creating a rule
for, or if your Power BI item doesn't contain any data sources.
For dataflows, datasets and paginated reports, the data source list is taken from the source pipeline
stage.

Parameter rules - Select a parameter from the list of parameters; the current value is shown. Edit
the value to the value you want to take effect after each deployment.
Deployment rule limitations
This section lists the limitations for the deployment rules.
To create a deployment rule, you must be the owner of the dataflow, dataset or paginated report you're
creating a rule for.
Deployment rules cannot be created in the development stage.
When an item is removed or deleted, its rules are deleted too. These rules cannot be restored.
Rules for dataflows that have other dataflows as sources, are not supported.
Data source rules for common data model (CDM) folders in a dataflow, are not supported.
Rules for datasets that use dataflows as their source, are not supported.
If the data source defined in a rule is changed or removed from the item it points to in the source stage,
the rule will not be valid and the deployment will fail.
If the parameter defined in a rule is changed or removed from the item it points to in the source stage,
the rule will not be valid and the deployment will fail.

NOTE
Parameter rules are not supported for paginated reports.

Supported data sources for dataflow and dataset rules


Data source rules can only be defined for the following data sources:
Azure Analysis Services
Azure Synapse
SQL Server Analysis Services (SSAS)
Azure SQL Server
SQL server
Odata Feed
Oracle
SapHana (only supported for import mode; not direct query mode)
SharePoint
Teradata
For other data sources, we recommend using parameters to configure your data source.

Step 5 - Deploy content from one stage to another


Once you have content in a pipeline stage, you can deploy it to the next stage. Deploying content to another
stage is usually done after you've performed some actions in the pipeline. For example, made development
changes to your content in the development stage, or tested your content in the test stage. A typical workflow
for moving content from stage to stage, is development to test, and then test to production. You can learn more
about this process, in the deploy content to an existing workspace section.
To deploy content to the next stage in the deployment pipeline, select the deploy button at the bottom of the
stage.
When reviewing the test and production stage cards, you can see the last deployment time. This indicates the
last time content was deployed to the stage.
Deployment time is useful for establishing when a stage was last updated. It can also be helpful if you want to
track time between test and production deployments.

Comparing stages
When two sequential stages have content, the content is compared based on the content items metadata. This
comparison doesn't include comparing data or refresh time between stages.

To allow a quick visual insight into the differences between two sequential stages, a comparison icon indicator
appears between them. The comparison indicator has two states:
Green indicator – The metadata for each content item in both stages, is the same.
Orange indicator - Appears if one of these conditions is met:
Some of the content items in each stage, were changed or updated (have different metadata).
There is a difference in the number of items between the stages.
When two sequential stages aren't the same, a compare link appears underneath the orange comparison icon.
Clicking the link opens the content item list in both stages in Compare view. Compare view helps you track
changes or differences between items, in each pipeline stage. Changed items get one of the following labels:
New – A new item in the source stage. This is an item that doesn't exist in the target stage. After
deployment, this item will be cloned to the target stage.
Different – An item that exists both in the source and the target stage, were one of the versions was
changed after the last deployment. After deployment, the item in the source stage will overwrite the item
in the target stage, regardless of where the change was made.
Datasets with configured deployment rules that haven't been deployed, are also marked as different. This
is because deployment rules are not applied until the datasets are deployed from the source stage to the
target stage, which includes the configured rules.
Missing from – This label indicates that an item appears in the target stage, but not in the source stage.

NOTE
Deployment will not impact missing from items.
Overriding content
When you deploy after making changes to content in the source stage, the content you changed in the target
stage is overwritten. After clicking deploy, you'll get a warning listing the number of items that will be
overwritten.

You can learn more about which items are copied to the next stage, and which items are not copied, in
Understand the deployment process.

Next steps
Introduction to deployment pipelines
Understand the deployment pipelines process
Automate your deployment pipeline using APIs and DevOps
Deployment pipelines troubleshooting
Deployment pipelines best practices
Design Power BI reports for accessibility
8/5/2021 • 14 minutes to read • Edit Online

You can design and create compelling reports while also designing for accessibility. Whenever building a report,
no matter who your audience is, you should create your reports to be usable by as many people as possible,
without the need to be adapted for a sort of special design.

This article describes the accessibility features and tools for creating accessible reports in Power BI.
In general, when using Power BI with a screen reader, we recommend turning scan mode or browse mode off.
To improve the process of creating reports with screen readers, a context menu is available. The menu allows
moving fields in the well up or down in the Fields list. The menu also allows moving the field to other wells,
such as Legend or Value or others.
Types of accessibility features
Power BI provides capability to create accessible reports, but as the report author, it's up to you to incorporate
them in your reports. There are three categories of accessibility features described in this article:
Built-in accessibility features (no configuration required)
Built-in accessibility features (requiring configuration)
Other tips and considerations
We discuss each of these categories in the following sections.

Built-in accessibility features


Power BI has accessibility features built into the product, which don't require any configuration from the report
author. These features are the following:
Keyboard navigation
Screen-reader compatibility
High contrast colors view
Focus mode
Show data table
There are also features that help with the report consumption experience. Articles describing those features can
be found in the Next steps section, at the end of this article.
Let's take a look at each of these built-in accessibility features, in turn.
Keyboard navigation
As a report author, you don't have to worry whether your consumers can use their keyboard to navigate
through a report. Power BI visuals are all keyboard navigable and your report consumer can walk through the
data points in visuals, switch between page tabs, and have access to interactive capabilities including cross-
highlighting, filtering, and slicing.
As a report consumer navigates around a report, focus shows up to indicate where the user is in the report.
Depending on the browser being used, focus mode may appear differently.

To access the most frequently used keyboard shortcuts, you can press ? to display a keyboard shortcut dialog. To
learn more, see these articles on accessible consumption experiences and keyboard shortcuts in the Next steps
section at the end of this article.
Screen reader compatibility
In general, every object in Power BI that has keyboard navigation is also compatible for screen readers. When a
report consumer navigates to a visual, the screen reader will read out the title, visual type, and any alt text if that
has been set.
High contrast color view
Power BI has high contrast support for reports. If you're using a high contrast mode in Windows, Power BI
Desktop automatically detects which high contrast theme is being used in Windows and applies those settings
to your reports. Those high contrast colors follow the report when published to the Power BI service or
elsewhere.

The Power BI service also attempts to detect the high contrast settings selected for Windows, but how effective
and accurate that detection is depends on the browser being used for the Power BI service. If you want to set the
theme manually in the Power BI service, in the top-right corner you can select View > High contrast colors
and then select the theme you would like to apply to the report.
Focus mode
If a report consumer is looking at a visual in a dashboard, they can expand the visual to fill up more of their
screen by selecting the Focus mode icon in the context menu of the visual.

Show data table


Report consumers can also view the data in a visual in a tabular format by pressing Alt+Shift+F11 . This table
is similar to pressing Show Data in the visual context menu, but it shows a table that is screen reader friendly.
Built-in accessibility features requiring configuration
Power BI has accessibility features that are built into the product and require configuration from the report
author. These features include:
Alt text
Tab order
Titles & labels
Markers
Report themes

Alt text
Alt text (alternative text descriptions) are used to describe the appearance and function of visuals and images on
the report page to screen reader users. Report authors should add alt text to every object that conveys
meaningful information on a report. Providing alt text ensures that consumers of your report understand what
you are trying to communicate with a visual, even if they cannot see the visual, image, shape, or textbox. You can
provide alt text for any object on a Power BI Desktop report by selecting the object (such as a visual, shape, and
so on) and in the Visualizations pane, select the Format section, expand General , scroll to the bottom, and fill
in the Alt Text textbox. The Alt Text textbox has a limit of 250 characters.
Alt text should include information about the insight that you'd like the report consumer to take away from a
visual. Because a screen reader reads out the title and type of a visual, you only need to fill in a description. An
example of alt text for the following visual could be: Net user satisfaction by color of product sold, further
broken down by product class.
Keep in mind that calling out an insight or specific data points may not be the best thing to put in static alt text,
because data in Power BI is dynamic. If you'd like to use dynamic alt text, see the next section that describes
conditional formatting for alt text.

NOTE
When you export a report to PowerPoint, PowerPoint adds alt text for each item on the page. If you don't specify alt text
for each item, the default alt text in PowerPoint is "No alt text provided."

Conditional formatting for alt text


One feature that makes Power BI so compelling is that its data is dynamic. You can use DAX measures and
conditional formatting to create dynamic alt text. Screen readers are then able to call out values specific to the
data that a report consumer is viewing.

Tab order
Setting the tab order helps keyboard users navigate your report in an order that matches the way users visually
process the report visuals. If you're including decorative shapes and images in your report, you should remove
those from the tab order.
To set the tab order, select the View tab in the ribbon and under Show panes , select Selection to display the
Selection pane.

In the Selection pane , selecting Tab order displays the current tab order for your report. You can select an
object, then use the up and down arrow buttons to move the object in the hierarchy, or you can select an object
with your mouse and drag it into the position you'd like it the list. Clicking on the number next to an object hides
the object from the tab order.

Titles and labels


Visual and report page titles are important accessibility features that orient the report consumer. Avoid using
acronyms or jargon in your report titles; if you share the report to a new user or someone who is external to
your organization, they may not know what your terms or acronyms mean. The following image shows a visual
with an acronym in the title (on the left), and a clearer title for the visual on the right.
Within a visual, make sure that any titles, axis labels, legend values, and data labels are easy to read and
understand. Compare the following images, where the first image has few numbers or descriptions of the data,
and the second has many.
With data labels, you can even choose to turn on or off the labels for each series in your visual or position them
above or below a series. While Power BI does its best to place data labels above or below a line, sometimes it is
not very clear. In the following visual, the data labels are jumbled and not easy to read.

Positioning your data labels above or below your series can help, especially if you're using a line chart with
multiple lines. With a few adjustments, the data labels now look much better.

Markers
It's a best practice to avoid using color (including features conditional formatting) as the only way of conveying
information. Instead, you can use markers to convey different series.
For Line, Area, and Combo visuals, as well as for Scatter and Bubble visuals, you can turn markers on, and use a
different Marker shape for each line.
To turn Markers on, select the Format section in the Visualizations pane, expand the Shapes section, then scroll
down to find the Show Markers toggle and turn it to On , as shown in the following image.
You can also use Customize Series to select the name of each line (or area, if using an Area chart) from the
drop-down box in that Shapes section. Below the drop-down, you can then adjust many aspects of the marker
used for the selected line, including its shape, color, and size.
While we suggest report authors to turn on data labels and markers, turning them all on for every visual may be
distracting and make your report less accessible. In the following image, you can compare a visual that has data
labels and markers both on, and then a more understandable version with data labels off.

If you're not sure whether your visual or report is too busy, test that by doing a squint test. If your eyes are
drawn more to the data labels than the data points, turn off your data labels.
Themes, contrast and colorblind-friendly colors
You should ensure that your reports have enough contrast between text and any background colors. WCAG 2.1
success criterion 1.4.3 delineates that text and background color should have a contrast ratio of at least 4.5:1.
There are several tools such as Color Contrast Analyzer, WebAIM, and Accessible Colors you can use to check
your report colors.
You should also consider that some report viewers may have color vision deficiencies. Tools like Coblis and
Vischeck simulate what report viewers with different color deficiencies see. Using fewer colors or a
monochrome palette in your report can help mitigate creating reports that are inaccessible.
Certain color combinations are particularly difficult for users with color vision deficiencies to distinguish. These
include the following combinations:
green and red
green and brown
blue and purple
green and blue
light green and yellow
blue and grey
green and grey
green and black
Avoid using these colors together in a chart, or on the same report page. Power BI has some built-in themes to
help make your report more accessible, but it's best practice to check your report with some of the additional
tools suggested in this article.

Tips and considerations


This section provides some guidance, tips, and considerations to keep in mind when creating reports with
accessibility in mind.
Understand what your audience wants
Creating a report is an iterative process. Before you begin placing visuals on the page, speak to some of your
report consumers to have a better understanding of what information they want to get from your report and
how they want to see it.
Building in accessibility should be part of this process. You might find out that your vision is not what your
report consumers have in mind. Once you have prepared an initial draft of your report, show it to a report
consumer and gather more feedback. As a report author, gathering feedback can help mitigate a future deluge
of requests for changes from unhappy report consumers.
Keep your report simple and consistent
Keep your report as simple as possible. People often try to put too much into a single visual. Often breaking it
out into multiple visuals makes it simpler and easy to understand. Consider using multiple visuals if they show
different facets of the data and use filters or visual interactions to create a rich experience. At the same time,
keep the number of visuals on a page to a minimum. Try to avoid unnecessary redundancy and page clutter. You
don't need two visuals to show the same thing. Report consumers may get overwhelmed from all the
information being given from too many visuals, or they may have a limited attention span and get distracted.
Not only does this make your report easier to consume, but also having too many visuals on a page can slow
down the performance of your report.
Keep your report consistent by using the same font color and style for the visual elements across your report.
Use the same font size for all visual titles, just as you should for data labels and axis titles. If you're using slicers
on multiple report pages, keep them in the same location on every page of your report.
Test for low vision
A quick way to test what a report would look like for consumers with low vision would be to turn down the
brightness of your screen or mobile device. There are browser add-ons you can use that can help you perform a
squint test.

Report accessibility checklist


In addition to providing accessibility tools and functionality, Power BI provides the following checklist you can
use when creating reports. This checklist helps ensure your reports are accessible, and available to the largest
audience, before you publish it.
All visuals
Ensure color contrast between title, axis label, and data label text and the background are at least 4.5:1.
Avoid using color as the only means of conveying information. Use text or icons to supplement or replace the
color.
Replace unnecessary jargon or acronyms.
Ensure alt text is added to all non-decorative visuals on the page.
Check that your report page works for users with color vision deficiency.
Slicers
If you have a collection of several slicers on your report pages, ensure your design is consistent across pages.
Use the same font, colors, and spatial position as much as possible.
Textbox
Ensure color contrast between font and background are at least 4.5:1.
Make sure to put text contents in the alt text box so screen readers can read them.
Visual interactions
Is key information only accessible through an interaction? If so, rearrange your visuals so they are pre-
filtered to make the important conclusion more obvious.
Are you using bookmarks for navigation? Try navigating your report with a keyboard to ensure the
experience is acceptable for keyboard-only users.
Sort order
Have you purposefully set the sort order of each visual on the page? The accessible Show Data table shows
the data in the sort order you have set on the visual.
Tooltips
Don't use tooltips to convey important information. Users with motor issues and users who do not use a
mouse will have difficulties accessing them.
Do add tooltips to charts as ancillary information. It is included in the accessible Show Data table for each
visual.
Video
Avoid video that automatically starts when the page is rendered.
Ensure your video has captions or provide a transcript.
Audio
Avoid audio that automatically starts when the page is rendered.
Provide a transcript for any audio.
Shapes
Make sure any decorative shapes are marked as hidden in tab order, so they aren't announced by a screen
reader.
Avoid using too many decorative shapes to the point where they are distracting.
When using shapes to call out data points, use alt text to explain what is being called out.
Images
When using images to call out data points, use alt text to explain what is being called out.
Make sure any decorative images are marked as hidden in tab order, so they aren't announced by a screen
reader.
Avoid using too many decorative images, to the point where they are distracting.
Power BI visuals
Check the accessible Show Data table for Power BI visuals. If the information shown is not enough, look for
another visual.
If using the Play Axis custom visual, ensure it does not auto play. Make it obvious that the user must press the
play/pause button to start/stop the changing values.
Across visuals on the page
Set tab order and turn off tab order (mark the item as hidden) on any decorative items.

Considerations and limitations


There are a few known issues and limitations with the accessibility features. Descriptions of those issues and
limitations are in the following list:
When using screen readers with Power BI Desktop , you'll have the best experience if you open your screen
reader before opening any files in Power BI Desktop .

Next steps
The collection of articles for Power BI accessibility are the following:
Overview of accessibility in Power BI
Consuming Power BI reports with accessibility tools
Creating Power BI reports with accessibility tools
Accessibility keyboard shortcuts for Power BI reports
Report accessibility checklist
Creating reports in Power BI using accessibility tools
4/12/2021 • 6 minutes to read • Edit Online

For report creators who use accessibility tools to create reports, Power BI has many built-in capabilities that can
help in the process.

This article describes the many types of accessibility tools available for report creators in Power BI Desktop.

App-level navigation
When navigating in Power BI Desktop, you can move focus to the main areas of the app by pressing Ctrl + F6 .
Shifting focus in the main area of Power BI Desktop progresses in the following order:
1. Objects on canvas
2. Page tabs
3. Panes (each one separately, left to right for whatever ones are open)
4. View navigator
5. Footer
6. Sign in
7. Yellow warning / error / updates bar
In most cases, using Enter to select, or enter an area, and then using Esc to exit are common procedures in
Power BI.

Ribbon navigation
Press Alt to see the little boxes called KeyTips over each command available in the current view of the ribbon.
Then you can press the letter shown in the KeyTip that hovers over the command you want to use.
For example, in the following image the Alt key has been pressed to display KeyTips, which contain the letters
for available accessible commands. Then pressing M would open the Modeling tab on the ribbon.
Depending on which letter you press, you might see additional KeyTips. For example, if the Home tab is active
and you press W , the View tab is displayed along with the KeyTips for the groups in that View ribbon tab. You
can continue pressing letters displayed in KeyTips until you press the letter of the specific command you want to
use. To move to the previous set of KeyTips, press Esc . To cancel the action you’re taking and hide the KeyTips,
press the Alt key.

Visual pane navigation


To navigate the Visualizations pane, you first must make sure your focus is on the pane, by pressing Ctrl + F6
until you reach that pane. When a user navigates through the visualizations pane, the focus first lands on the
header. Starting from the top, the tab order is the following, and is shown in the following image:
1. The header title
2. The expand / collapse carat
3. The first visual icon

When you get to the visuals, you can use arrow keys to navigate to a particular visual, and press Enter to select
it. If you’re using a screen reader, it calls out if you’ve created a new chart and tell you what type it is, or it tells
you that you’ve changed a chart of a particular type to another type of chart.
After the visuals section of the pane, the focus order then shifts to the pane pivots, as shown in the following
image.

When focus is on the pane pivots, tabbing lands only on the icon for the pane that is selected. To switch to other
panes, use arrow keys.

Field well
When focus is on the pane pivots, as described in the previous section, pressing tab again advances focus to the
Field Well .
In the Field well , focus order moves to:
1. Each well's title (first)
2. Followed by a given field in each well (next)
3. The dropdown button to open the field menu (after that)
4. Then the removal button (last)
The following image shows this focus progression ordering.

A screen reader will read out the well’s name and its tooltip. For each field in a well, a screen reader reads the
field name and its tooltip. If a well is empty, the focus should move to the entire empty well. The screen reader
should read the well name, tooltip, and that it is empty.
When the field menu is open, you can move through it by using Tab or Shift + Tab or Up / Down arrow keys.
A screen reader will call out the option names.
If you’d like to move a field from one bucket in the field well to another bucket, you can use your keyboard, and
use the Move to option in the field well menu, as shown in the following image.

Formatting pane
The focus order for the Formatting pane moves from the top, then down, in card order. The focus goes around
the card name, followed by its On / Off toggle button, if it exists. When the focus is on the card name, a screen
reader reads out the name of the card, and whether the card is expanded or collapsed. You can press Enter to
expand or collapse the card. The Enter key also works to switch On or Off the toggle button.

If a card is open, Tab moves through the controls in the card before going on to the next card. For the controls in
a card, a screen reader calls out the title, the current value, and the control type.
Fields list navigation
You can press Tab to navigate around the Fields list. Similar to the formatting pane, if tables are collapsed the
focus order cycles through in the following order:
1. The Fields list header
2. The search bar
3. Each table name

To expand all the tables in the Fields well, press Alt + Shift + 9 . To collapse all the tables press Alt + Shift +
1 . To expand a single table, press the Right arrow key. To collapse a single table, press the Left arrow key.
Similar to the formatting pane, if a table is expanded, then tabbing and navigating through the fields list includes
the fields that are being shown. A screen reader calls out whether you have expanded or collapsed a table.

You can checkmark a field by navigating to the desired field and pressing Enter . A screen reader calls out the
field the focus is on, and whether the field is checked or unchecked.
Mouse users typically drag-and-drop fields to the canvas, or to the relevant filter buckets they desire. If you’d
like to use your keyboard, you can add a field to a filter bucket by entering a field’s context menu by pressing
Shift + F10 , using arrow keys to navigate to Add to filters , and then pressing Enter on the type of filter to
which you’d like to add the field.

Selection pane navigation


The Selection pane has the following focus order progression:
1. Header title
2. Exit button
3. Layer / tab order switcher
4. Move up in layer button
5. Move down in layer button
6. Show button
7. Hide button
8. Objects

You can tab through the focus order and press Enter to select the element you're interested in.
When you get to the layer / tab order switcher, use the left and right arrow keys to switch between the layer
order and tab order.
When you get to the objects in the Selection pane, press F6 to activate the Selection pane. After activating the
Selection pane, you can use the up / down arrow keys to navigate to the different objects in the Selection
pane. Once you’ve navigated to an object of interest, there are a few different actions you can take:
Press Ctrl + Shift + S to hide / show an object
Press Ctrl + Shift + F to move an object up in the layer order
Press Ctrl + Shift + B to move an object down in the layer order
Press Ctrl + Space to multi-select objects

Power BI Desktop dialogs


All dialogs in Power BI Desktop are accessible through keyboard navigation and work with screen readers.
Dialogs in Power BI Desktop include the following:
Quick Measures dialog
Conditional Formatting & data bars dialog
Q&A Explorer dialog
Getting Started dialog
File menu and About dialog
Warning bar
File Restore dialog
Frowns dialog

High contrast support


When you use high contrast modes in Windows, those settings and the palette you select are also applied to
reports in Power BI Desktop.
Power BI Desktop automatically detects which high contrast theme Windows is using and applies those settings
to your reports. Those high contrast colors follow the report when published to the Power BI service, or
elsewhere.

Next steps
The collection of articles for Power BI accessibility are the following:
Overview of accessibility in Power BI
Creating accessible Power BI reports
Consuming reports in Power BI with accessibility tools
Accessibility keyboard shortcuts for Power BI reports
Report accessibility checklist
Consume Power BI reports by using accessibility
features
4/16/2021 • 6 minutes to read • Edit Online

Power BI has many built-in features to help people with disabilities more easily consume and interact with
Power BI reports. These tools help users get the same information from a report as those who don’t use
assistive technology.

There are a couple terms to know as you read through this article:
Focus is where your mouse is on the page. Focus is usually indicated by a blue border surrounding an
object.
Canvas is the page area of your report.
The following sections describe the accessibility tools available for consuming Power BI reports.

Keyboard navigation
When you launch Power BI Desktop or the Power BI service, as soon as you press Tab , a tooltip appears in the
upper-right hand corner. The link titled Tips for using Power BI with a screen reader directs you to this
article, providing information on how to consume a report with accessibility tools. Clicking on the Skip to main
content link takes you to the report canvas.

Pressing ? opens a dialog with the most frequently used keyboard shortcuts in Power BI. To see a full list of
keyboard shortcuts available in Power BI, you can navigate to the link at the bottom of the dialog, which takes
you to the Power BI documentation on keyboard shortcuts.
You can switch focus between the report page tabs, or objects on a given report page using Ctrl + F6 . When
focus is on a loaded report page, use the Tab key to shift focus to each object on the page, which includes all
textboxes, images, shapes, and charts.
In general, using Enter to select or enter, and using Esc to exit are common commands in Power BI.
Keyboard navigation for visuals
Many Power BI report creators are building reports that contain a lot of data. As you move through a visual, it
can be annoying to tab through every element in a visual. Keyboard navigation for visuals has been designed as
a hierarchy, with three levels. Those three levels are described in the following paragraphs.
To navigate through the first level, when you navigate to a visual press Ctrl + right arrow to enter that visual.
Once you enter that visual, you can press Tab to cycle through the main areas of the visual. Those main areas
you can cycle through are the data plot area, the axis categories (if applicable to the visual), and the legend (if
the visual has one).
The following .gif shows how a user cycles through the first level of a visual:
The second level of the hierarchy is entering one of the main areas (data plot area, x-axis categories, legend) of
the visual. As you consume a report, you can move into one of these main areas and cycle through the data
points or categories in that section of the visual. Once you decide which area you’d like to explore further, you
can press Enter to cycle through that specific area.
If you’d like to select all the data points in a series, navigate to the legend and press Enter . Once in the legend,
you can press Tab to navigate through the different categories in the legend. Press Enter to select a specific
series.
If you’d like to select specific data points, navigate to the data plot area and press Enter . Once in the data plot
area you can press Tab to navigate through the data points. If your visual has multiple series, you can press the
Up arrow or Down arrow to jump to the data points in a different series.
If you’d like to select all the data points in a categorical axis, navigate to the axis labels and press Enter . Once in
the axis labels, you can press Tab to navigate through the label names. Press Enter to select a label name.
If you’ve navigated into a layer, you can press Esc to come out of that layer. The following .gif shows how a user
can enter and exit the levels of a visual and select data points, x-axis category labels, jump to a different series,
and select all the data points in a series.
If you find yourself unable to navigate to an object or visual while using a keyboard, it may be because the
report author has decided to hide that object from the tab order. Report authors commonly hide decorative
objects from the tab order. If you find that you cannot tab through a report in a logical manner, you should
contact the report author. Report authors can set the tab order for objects and visuals.
Keyboard navigation for slicers
Slicers also have accessibility functionality built in. When you select a slicer, to adjust the value of a slicer use
Ctrl + Right arrow to move through the various controls within the slicer. For example, when you initially
press Ctrl + Right arrow , the focus is on the eraser. Then, pressing the spacebar is equivalent to clicking the
eraser button, which erases all values on the slicer.
You can move through the controls in a slicer by pressing Tab . Pressing Tab when on the eraser moves to the
drop-down button. Another Tab then moves to the first slicer value (if there are multiple values for the slicer,
such as a range).

Switching pages
When focus is on report page tabs, use the Tab or Arrow keys to move focus from one report page to the next.
The screen reader reads out the title of the report page, and whether it's currently selected. To load the report
page currently under focus, use the Enter key or spacebar .
Accessing the visual header
As you navigate between visuals, you can press Alt + Shift + F10 to move focus to the visual header. The
visual header contains various options including sorting, exporting the data behind the chart, and Focus mode.
The icons you see in the visual header will depend on the options the report author has decided to show.

Screen reader
When viewing a report it's best to leave scan mode off. Power BI should be treated more like an application and
less like a document, so it’s been set up with custom navigation to make it easier to navigate. When using a
screen reader with Power BI Desktop, you should also make sure your screen reader is open before you open
Power BI Desktop.
When navigating around objects, the screen reader reads the type of object and the object's title (if it has one).
The screen reader also reads a description of that object (alt text) if it's provided by the report author.
Show data
You can press Alt + Shift + F11 to present an accessible version of the Show data window. This window lets
you explore the data used in the visual in an HTML table, using the same keyboard shortcuts you normally use
with your screen reader.
The Show data feature is an HTML table that is only accessible to a screen reader through this keyboard
shortcut. If you open Show data from the option in the visual header, a table that is not screen reader
compatible is displayed. When using Show data through keyboard shortcuts, turn on scan mode to take
advantage of all the hot keys your screen reader provides.
To exit the Show Data view and return to a report, press Esc .

High contrast modes


The Power BI service attempts to detect the high contrast settings selected for Windows. The effectiveness and
accuracy of that detection depends on the browser showing the Power BI service. If you want to set the theme
manually in the Power BI service, you can select View > High contrast colors and then select the theme you
would like to apply to the report.
Next steps
The collection of articles for Power BI accessibility are the following:
Overview of accessibility in Power BI
Creating accessible Power BI reports
Creating Power BI reports with accessibility tools
Accessibility keyboard shortcuts for Power BI reports
Report accessibility checklist
Keyboard shortcuts in Power BI Desktop
8/10/2021 • 4 minutes to read • Edit Online

Keyboard shortcuts are helpful for moving around in Power BI reports using a keyboard. The tables in this
article describe the shortcuts available in a Power BI report.
When using Power BI Desktop, you can press Shift + ? to show keyboard shortcuts, as shown in the following
image.

In addition to using these keyboard shortcuts in Power BI Desktop , these shortcuts work in the following
experiences as well:
Q&A Explorer dialog
Getting Star ted dialog
File menu and About dialog
Warning bar
File Restore dialog
Frowns dialog
In our continued effort to improve accessibility, the previous list of experiences also support screen readers and
high contrast settings.
Frequently used shortcuts
TO DO T H IS A C T IO N P RESS

Move focus between sections Ctrl + F6

Move focus forward in section Tab

Move focus backward in section Shift + Tab

Select or clear selection of an object Enter or spacebar

Multi-select objects Ctrl + spacebar

On visual
TO DO T H IS A C T IO N P RESS

Move focus to visual menu Alt + Shift + F10

Show data Alt + Shift + F11

Enter a visual Ctrl + Right arrow

Enter a layer Enter

Exit a layer or visual Esc

Select or clear selection of a data point Enter or spacebar

Multi-select Ctrl + Enter or Ctrl + spacebar

Right-click Windows keyboard: Windows context key + F10 .


The Windows context key is between the Left Alt key
and the Left Arrow Key
Other keyboard: Shift + F10

Clear selection Ctrl + Shift + C

Show or hide tooltip Ctrl + H

Move a visual on the canvas (small moves)* Arrow keys (up, down, right, left )

Move a visual on the canvas (bigger moves)* Shift + arrow keys

Resize a visual* Arrow keys

Maintain aspect ratio* Shift + drag the resize handles

Group Visuals* Select visuals + Ctrl + G


* Must be in editing mode

Table and matrix navigation


TO DO T H IS A C T IO N P RESS

Move focus up / down one cell (across all cells in all areas) Up arrow key / Down arrow key

Move focus left / right one cell (across all cells in all areas) Left arrow key / Right arrow key

Pane navigation
TO DO T H IS A C T IO N P RESS

Multi-select Ctrl + spacebar

Collapse a single table Left arrow key

Expand a single table Right arrow key

Collapse all tables Alt + Shift + 1

Expand all tables Alt + Shift + 9

Open a context menu Windows keyboard: Windows context key + F10 .


The Windows context key is between the Left Alt key
and the Left Arrow Key
Other keyboard: Shift + F10

Slicer
TO DO T H IS A C T IO N P RESS

Interact with a slicer Ctrl + Right arrow key

Selection pane
TO DO T H IS A C T IO N P RESS

Activate selection pane F6

Move an object up in the layering Ctrl + Shift + F

Move an object down in the layering Ctrl + Shift + B

Hide / show (toggle) an object Ctrl + Shift + S

DAX editor
TO DO T H IS A C T IO N P RESS

Go to line number Ctrl + G

Move line up / down Alt + Up arrow key / Down arrow key

Copy line up / down Shift + Alt + Up arrow key / Down arrow key

Insert line below Shift + Enter

Insert line above Ctrl + Shift + Enter

Delete selected word Ctrl + Del

Delete all selected lines Ctrl + Shift + K

Jump to matching bracket Ctrl + Shift + \

Jump to start of a line of code Ctrl + Home

Jump to the end of a line of code Ctrl + End

Indent line / Extend line into the margin Ctrl + ] / [

Insert cursor Alt + Click

Select current line Ctrl + I

Select all occurrences of current selection Ctrl + Shift + L

Select all occurrences of current word Ctrl + F2

Select next occurrences of current selection Ctrl + D

Select the line above Shift + Up arrow key

Select the line below Shift + Down arrow key

Enter multiple lines of code up / down Ctrl + Alt + Up arrow key / Down arrow key

Comment a line Ctrl + / or Ctrl + K + C

Uncomment a line Ctrl + / or Ctrl + K + U

Increase font size Ctrl + + Or Scroll Up

Decrease font size Ctrl + - Or Scroll Down

Enter data
TO DO T H IS A C T IO N P RESS

Exit editable grid Ctrl + Tab

Considerations and limitations


There are a few known issues and limitations with the accessibility features. Descriptions of those issues and
limitations are in the following list:
When using screen readers with Power BI Desktop , you'll have the best experience if you open your screen
reader before opening any files in Power BI Desktop .
If you're using Narrator, there are some limitations around navigating Show data as an HTML table.

Next steps
The collection of articles for Power BI accessibility are the following:
Overview of accessibility in Power BI
Creating accessible Power BI reports
Consuming reports in Power BI with accessibility tools
Creating Power BI reports with accessibility tools
Report accessibility checklist
You might also be interested in the following:
Use Report Themes in Power BI Desktop
Rename almost anything in Power BI service
9/15/2021 • 2 minutes to read • Edit Online

This article teaches you how to rename a dashboard, report, report page, workbook, dataset, app, and
workspace in Power BI service.
Can I change the name?

C O N T EN T T Y P E I'M T H E A UT H O R O R C REATO R SH A RED W IT H M E

Dashboard in a workspace Yes No

Report in a workspace Yes No

Workbook in a workspace Yes No

Dataset in a workspace Yes No

workspace Yes, if you are the owner or have No


Admin permissions

Published apps Not from the App screen, but the app No
name can be changed from the
workspace and re-published with a
new name if you have Admin
permissions

App content (dashboard, report, Not from the App screen, but the app's No
workbook, dataset) content can be renamed from the
workspace and re-published with a
new name if you have Admin
permissions

Content in Shared with me No No

Rename a dashboard, report, or workbook


1. In a workspace, hover over the item to rename, select More options (...), and then select Settings .
2. On the Settings page, type the new name and select Save .
Rename a dataset
1. Start in a workspace and select the Datasets + dataflows tab.
2. Hover over the item to rename, select More options (...), and choose Rename .
NOTE
The options in the dropdown will vary.

3. On the Rename page, type a new name and select Save .

Rename a workspace
Anyone with Admin permissions can rename a workspace.
1. Start in the list of workspaces.
2. Next to the workspace you'd like to rename, select More options (...), and select Workspace settings . If
you don't see this option, then you don't have permissions to rename the workspace.

3. Type a new workspace name and select Save .


Rename a page in a report
Don't like the name of a page in your Power BI report? A new name is just a click away. Pages can be renamed in
report Editing view .
1. Open the report in Editing View.
2. Locate the report page tabs at the bottom of the Power BI window.
3. Open the report page that you'd like to rename by selecting the tab.
4. Double-click the name on the tab to highlight it.

5. Type a new report page name and select ENTER.

Considerations and troubleshooting


If the item to be renamed has been shared with you, or is part of an app, you won't see the gear icon and you
won't have access to Settings.
On the Datasets tab, if you don't see More options (...), expand your browser window.
More questions? Try the Power BI Community
Set contact information for reports and dashboards
in the Power BI service
5/21/2021 • 2 minutes to read • Edit Online

This article shows how to set contact information for a dashboard or report in the Power BI service. You can set
contact information for items in a classic or new workspace, but not for items in your My Workspace. The
contact information is in the card you see when you select the name of a report or dashboard in the black
header bar.
You can add multiple users or groups to the contact for an item. They can be:
A person
A Microsoft 365 group
An email enabled security group
A distribution list
However, we recommend adding just one person or group. See the Limitations and considerations section in the
article for details.
The contact list information is also used in other places. For example, it is shown in some error scenarios in the
error dialog box. Automated email messages related to the item, like access requests, are sent to the contact list.

Send email to the contact for a report or dashboard


To see the report or dashboard contact information, select the item name in the black header bar at the top.

When you select the contact, Power BI creates an email so you can ask questions or get help.
Set contact information for a report or dashboard
By default the person who creates a report or dashboard is the contact for it. If you set a value, it overrides that
default. You can of course remove all the people or groups from the contact list. When you do this, for classic
workspaces, the Microsoft 365 group for the workspace will be shown. For new workspaces, the workspace
contact list is shown. If the workspace contact list isn't set, then workspace admins are shown.
1. In a workspace, select the All tab.
2. Locate the desired item, select More options (...) > Settings .

3. Locate the Contact input field and set a value.


Limitations and considerations
You can set any user or group in the contact list, but they're not automatically granted permission to the item.
Use sharing or give users who need it access to the workspace through a role.
The report or dashboard contact information doesn’t get pushed into apps when you publish an app. By
default, the contact name for dashboards and reports in an app is the workspace name, which is not a mailto
link. The new app navigation experience provides a support URL you configure to help manage feedback
from app users.
Why do we recommend listing only one contact? If a dashboard or report has multiple contacts, when
someone opens the report header and selects the link to email the contacts, some email clients separate the
names with commas instead of semicolons. The resulting email address won't work.

Next steps
More questions? Try the Power BI Community
Delete almost anything in the Power BI service
9/15/2021 • 4 minutes to read • Edit Online

This article shows you how to delete a dashboard, report, workbook, dataset, app, visualization, or a workspace
in the Power BI service. You can delete almost anything in the Power BI service, with some exceptions.

Delete a dashboard, report, dataset, or workbook


1. In your workspace, select the All tab.
2. Select More options (...) next to the asset you want to delete, and select Delete .

3. Select Delete to confirm the deletion.

Remove an app from your app list page


You can easily remove apps from your apps list page. Removing an app doesn't delete the app for other
members. Only an admin or member or a workspace can permanently delete the app from that workspace.
1. In the nav pane, select Apps to open the apps list page.
2. Hover over the app to delete, select More options (...) , and then select Delete .
If you remove an app accidentally, you have several options for getting it back. You can ask the app
creator to resend it, you can find the original email with the link to the app, you can check your
Notifications center to see if the notification for that app is still listed, or you can check your
organization's AppSource.

Remove or delete a workspace


Power BI has two different kinds of workspaces: the original, or classic workspaces, and the new workspaces. The
processes for removing or deleting them are different. Read more about new and classic workspaces.
Remove members from a new workspace
Only workspace admins can remove people from a new workspace. If you're an admin, you can remove yourself
or anyone else. However, if you're the only admin for a workspace, Power BI won't let you remove yourself.
1. In the workspace list view, select Access in the upper-right corner.

2. In the Access pane, select More options (...) next to the name of the person you want to remove, and
select Remove .
Delete a new workspace
When you create one of the new workspaces, you don't create an associated Microsoft 365 group. If you're a
workspace admin, you can delete a new workspace with no effect on any Microsoft 365 groups. Read more
about new and classic workspaces.
As admin for a workspace, you can delete it, or remove others from it. When you delete it, the associated app is
also deleted for all group members, and the app is removed from AppSource.
1. From the nav pane, select Workspaces
2. Select More options (...) to the right of the workspace to be deleted and choose Workspace settings .
3. In the Workspace settings pane, select Delete workspace > Delete .
Remove a classic workspace from your list
If you no longer want to be a member of a classic workspace, you can leave it and it will be removed from your
list. Leaving a workspace leaves it in place for all other workspace members.

NOTE
If you are the only admin for the workspace, Power BI won't allow you to leave.

1. Start in the workspace you'd like to remove.


2. In the top-right corner, select More options (...) and choose Leave workspace > Leave .

NOTE
The options you see in the dropdown depend on whether you are an Admin or Member of that workspace.

Delete a classic workspace


WARNING
When you create a classic workspace, you create a Microsoft 365 group. When you delete a classic workspace, you delete
that Microsoft 365 group. The group is also deleted from other Microsoft 365 products like SharePoint and Microsoft
Teams.

Deleting a workspace is different from leaving a workspace. You have to be a workspace admin to delete it.
When you delete it, the associated app is also deleted for all group members and removed from AppSource.
However, if you're the only admin for a workspace, Power BI won't let you leave.
1. From the nav pane, select Workspaces .
2. Next to the workspace to be deleted, select More options (...) > Workspace settings .

3. In the settings pane, select Delete workspace , then confirm Delete .


Considerations and limitations
Removing a dashboard doesn't delete the underlying dataset or any reports associated with that dashboard.
If you're the owner of a dashboard or report, you can remove it. If you've shared it with colleagues, removing
it from your Power BI workspace removes it from their Power BI workspaces, too.
If a dashboard or report is shared with you, you can't remove it.
Deleting a report doesn't delete the dataset that the report is based on. Any visualizations that you pinned to
a dashboard from the report are also safe. They remain on the dashboard until you delete them individually.
You can delete a dataset. However, deleting a dataset also deletes all reports and dashboard tiles that contain
data from that dataset.
You can remove workbooks. However, removing a workbook also removes all reports and dashboard tiles
that contain data from this workbook. If a workbook is stored on OneDrive for Business, deleting it from
Power BI doesn't delete it from OneDrive.
If a dashboard or report is part of an organizational content pack. See Remove your connection to an
organizational content pack.
If a dataset is part of one or more organizational content packs, the only way to delete it is to remove it from
the content packs where it's being used, wait for it to be processed, and then try deleting it again.

Next steps
This article covered how to delete the major building blocks of the Power BI service. Here are a few other things
you can also delete.
Remove your Featured dashboard
Remove (unfavorite) a dashboard
Delete a dashboard tile
More questions? Try the Power BI Community

You might also like