Dashboards & Reports
Building individual visuals is only part of the story. This chapter focuses on assembling those visuals into polished, professional reports and dashboards. You will learn layout design, theming, tooltips, mobile optimization, and the full publishing and sharing workflow in Power BI Service.
Reports vs Dashboards
Power BI uses the terms "report" and "dashboard" to mean very specific things. Understanding the distinction is critical.
Key Differences
| Feature | Report | Dashboard |
|---|---|---|
| Created in | Power BI Desktop (or Service) | Power BI Service only |
| Pages | Multiple pages | Single page (single canvas) |
| Content source | One dataset | Tiles pinned from multiple reports and datasets |
| Interactivity | Full: slicers, drillthrough, drill down, cross-filter | Limited: click a tile to navigate to the source report |
| Editing | Rich editing in Desktop | Tile arrangement only in Service |
| Filtering | Filters pane, slicers, visual interactions | No Filters pane; limited tile-level filters |
| Underlying data | Connected to one data model | Aggregates tiles from various sources |
| Primary purpose | Detailed analysis and exploration | At-a-glance monitoring of KPIs across sources |
| Sharing | Share the report directly or via an app | Share the dashboard directly or via an app |
| Alerts | Not available | Set data-driven alerts on tiles (e.g., "alert me if revenue drops below $1M") |
| Q&A | Available in reports (insert Q&A visual) | Available from the dashboard top bar |
| Natural language query | Ask questions inside the report | Ask questions from the dashboard |
When to Use Each
| Scenario | Use |
|---|---|
| Detailed analysis for analysts | Report — multiple pages, full interactivity |
| Executive overview across business areas | Dashboard — pin KPI tiles from sales, finance, and HR reports |
| Interactive data exploration | Report — slicers, drillthrough, bookmarks |
| Quick status check on a phone | Dashboard — single page, large tiles |
| Scheduled alerts on thresholds | Dashboard — set alerts on number tiles |
| Storytelling with guided navigation | Report — bookmarks and page navigation |
The Typical Workflow
- Build a report in Power BI Desktop (data model, visuals, formatting).
- Publish the report to Power BI Service.
- In Service, pin key visuals from the report to a dashboard.
- Optionally pin tiles from other reports to the same dashboard.
- Share the dashboard and/or report with stakeholders.
Report Design Principles
Layout Planning
Before placing visuals, plan your report layout on paper or a whiteboard:
- Identify the audience. Executives need summaries; analysts need detail.
- Define key questions. What questions should this page answer?
- Sketch the layout. Draw boxes representing visuals and their approximate size and position.
- Plan the page count. Each page should have a focused purpose (overview, detail, regional breakdown, etc.).
- Define the navigation. How will users move between pages?
Eye Flow Patterns
Research on how people scan pages reveals two dominant patterns:
Z-Pattern (for summary pages):
| Left | Right | |
|---|---|---|
| Top | KPI cards, title | Key chart |
| Bottom | Supporting chart | Table or secondary chart |
The eye moves: top-left > top-right > bottom-left > bottom-right, forming a Z.
F-Pattern (for data-dense pages):
| Left | Center | Right | |
|---|---|---|---|
| Top | Title bar and filters | — | — |
| Middle | Primary visual (wide) | — | — |
| Bottom | Secondary visuals (shorter, stacked) | — | — |
The eye scans the top row fully, then moves down the left side with shorter scans to the right.
Best Practices for Layout
| Practice | Description |
|---|---|
| Lead with the most important insight | Place the key metric or chart in the top-left area |
| Group related visuals | Place sales-related charts together, separate from cost charts |
| Use whitespace | Leave gaps between visual groups to reduce cognitive load |
| Align edges | Use alignment tools to create clean visual lines |
| Consistent sizing | Related visuals should be the same height or width |
| Limit visuals per page | Aim for 5-8 visuals maximum; more creates clutter |
| Include a title or header | A text box or image at the top identifies the page purpose |
| Add context | Include a "last refreshed" timestamp and data source note |
Page Layout Settings
Page Size
Power BI offers several preset page sizes and allows custom dimensions:
| Preset | Dimensions (px) | Aspect Ratio | Use Case |
|---|---|---|---|
| 16:9 (default) | 1280 x 720 | Widescreen | Most reports; presentations on modern screens |
| 4:3 | 960 x 720 | Standard | Older screens; printed reports |
| Letter | 816 x 1056 | 8.5 x 11 | Print-optimized reports (portrait) |
| Tooltip | 320 x 240 | Small | Custom tooltip pages |
| Custom | User-defined | User-defined | Special layouts (e.g., vertical scroll, poster) |
How to change page size:
- Click the canvas background (no visual selected).
- In the Visualizations pane, click the Format icon (paint roller).
- Expand Canvas settings (or Page size in older versions).
- Select a preset or enter custom dimensions.
Page Background
Add a background color or image to the page:
- In Format > Canvas background (or Page background):
- Color — Select a fill color.
- Transparency — Adjust opacity (0% = fully opaque, 100% = fully transparent).
- Image — Upload an image file as the background.
- Image fit — Choose Fit, Fill, or Normal.
Wallpaper
Wallpaper fills the area around the canvas (visible when the report is smaller than the browser window):
- In Format > Wallpaper:
- Color — Typically set to match or complement the page background.
- Image — Optional wallpaper image.
Canvas Settings Best Practices
| Practice | Rationale |
|---|---|
| Stick to 16:9 for most reports | Matches modern screens and presentation formats |
| Use light backgrounds (white or light gray) | High contrast for readability; looks professional |
| Avoid busy background images | They compete with data visuals for attention |
| Match wallpaper to page background | Seamless appearance when the report does not fill the entire browser window |
Themes
Themes control the default colors, fonts, and visual styles throughout a report. They are the single most impactful way to create a professional, branded appearance.
Built-In Themes
Power BI includes several built-in themes:
| Theme | Style |
|---|---|
| Default | Power BI standard blue and gray palette |
| City park | Earthy greens and browns |
| Classroom | Warm reds and yellows |
| Color blind safe | Palette designed for color vision deficiency |
| Electric | Bright, high-contrast colors |
| High contrast | Black and white with accent colors for accessibility |
| Sunset | Warm oranges and reds |
| Twilight | Cool blues and purples |
Applying a built-in theme:
- Go to View > Themes.
- Hover over theme thumbnails to preview.
- Click to apply.
Importing a Custom JSON Theme
Custom themes are defined in JSON files that specify colors, fonts, and visual-level formatting defaults.
Steps:
- Go to View > Themes > Browse for themes.
- Select a
.jsontheme file. - The theme is applied immediately.
Theme JSON Structure
A theme file contains the following key sections:
| Section | Controls | Example |
|---|---|---|
name | Theme name | "Corporate Theme" |
dataColors | Array of hex color codes used for data series | ["#1F77B4", "#FF7F0E", "#2CA02C", ...] |
background | Default visual background color | "#FFFFFF" |
foreground | Default text color | "#333333" |
tableAccent | Accent color for tables and matrices | "#1F77B4" |
textClasses | Font settings for title, header, label, callout | Font family, size, color |
visualStyles | Default formatting for each visual type | Axis color, gridline style, legend position |
Creating a Brand-Consistent Theme
Step-by-step process:
- Gather brand assets: Obtain your organization's brand colors (primary, secondary, accent), approved fonts, and logo.
- Map colors to data colors: Choose 6-10 colors that work well together and follow your brand.
- Create the JSON file: Start with a template and customize the sections.
- Test accessibility: Ensure sufficient contrast between colors and that the palette works for color-blind users.
- Import and test: Apply the theme to your report and review every visual type.
- Distribute: Share the JSON file with your team so all reports use the same theme.
Example Theme Configuration
| Property | Corporate Value | Purpose |
|---|---|---|
| Primary color | #003366 (dark blue) | Main data series, titles |
| Secondary color | #0066CC (medium blue) | Second data series |
| Accent 1 | #FF6600 (orange) | Highlights, callouts |
| Accent 2 | #339933 (green) | Positive indicators |
| Accent 3 | #CC3333 (red) | Negative indicators |
| Background | #F5F5F5 (light gray) | Visual backgrounds |
| Text color | #333333 (dark gray) | Body text |
| Font family | Segoe UI | All text elements |
Theme Gallery Resources
| Resource | Description |
|---|---|
| Power BI Theme Gallery (community) | Free community-submitted themes |
| Microsoft Theme Generator | Browser tool for creating themes visually |
| GitHub repositories | Open-source theme collections |
| Your organization's design team | Custom themes aligned with brand guidelines |
Report Pages
Adding and Managing Pages
| Action | How |
|---|---|
| Add a new page | Click the + icon at the bottom of the canvas next to existing page tabs |
| Rename a page | Double-click the page tab and type a new name |
| Reorder pages | Drag page tabs left or right |
| Duplicate a page | Right-click the page tab > Duplicate page |
| Delete a page | Right-click the page tab > Delete page |
| Hide a page | Right-click the page tab > Hide page (hidden pages are still accessible via drillthrough or bookmarks) |
Page Tooltips (Custom Tooltips on Hover)
Page tooltips replace the default tooltip that appears when hovering over a data point with a custom mini-report page.
Creating a tooltip page:
- Add a new page.
- Rename it (e.g., "Product Tooltip").
- In the Format pane for the page, set Page information > Page type to Tooltip.
- The page size automatically changes to 320 x 240 (you can adjust).
- Design the tooltip page with small visuals (e.g., a mini chart, a few cards).
Assigning a tooltip to a visual:
- Select a visual on your main page.
- In the Format pane, go to Tooltip.
- Set Type to Report page.
- Select the tooltip page from the Page dropdown.
- Now, hovering over data points in that visual shows the custom tooltip page.
Hidden Pages for Drillthrough
Some pages should only be accessible via drillthrough, not from the page tabs:
- Create the drillthrough page and set up the drillthrough fields.
- Right-click the page tab > Hide page.
- The page tab shows a hidden icon, and users cannot navigate to it directly.
- Users access the page only through right-click drillthrough from other visuals.
Page Navigation Strategies
| Strategy | Implementation |
|---|---|
| Tab-based (default) | Users click page tabs at the bottom |
| Button-based | Create navigation buttons that link to specific pages |
| Bookmark-based | Use bookmarks to simulate multi-view pages |
| Drillthrough-based | Right-click navigation for detail pages |
| Hybrid | Use tabs for main sections, buttons for sub-navigation, drillthrough for detail |
Custom Tooltips
Custom tooltips are one of the most underused features in Power BI. They add a layer of detail on hover without requiring the user to navigate away from the current page.
Creating a Tooltip Page — Detailed Steps
- Add a new page and name it descriptively (e.g., "Sales Tooltip").
- Set page type:
- Click the canvas background.
- Format > Page information > Page type = Tooltip.
- Set page size:
- The default tooltip size is 320 x 240 pixels.
- You can increase this, but keep it small — tooltips should be quick to scan.
- Recommended maximum: 400 x 300 pixels.
- Design the tooltip:
- Add 2-4 small visuals (e.g., a KPI card, a sparkline, a mini bar chart).
- Include the relevant dimension as a text box or card (e.g., "Product Name: [ProductName]").
- Keep fonts small (8-10pt) to fit within the tooltip size.
- Hide the page (right-click tab > Hide page) so it does not appear in navigation.
Assigning Tooltips to Visuals
- Select the visual that should show the custom tooltip (e.g., a bar chart).
- Open the Format pane.
- Navigate to Tooltip.
- Set Type to Report page.
- In the Page dropdown, select your tooltip page.
- Hover over data points in the visual to see the custom tooltip.
Dynamic Tooltips
Tooltip pages are filtered by the data point being hovered:
- If you hover over "Electronics" in a bar chart, the tooltip page filters to Electronics.
- This means your tooltip visuals automatically show data for the hovered item.
- You do not need to set up any special filtering — the filter context passes automatically.
Tooltip Design Tips
| Tip | Rationale |
|---|---|
| Keep it small | Tooltips should be glanceable — 2-4 visuals maximum |
| Show complementary data | Do not repeat what the visual already shows; add new context |
| Use cards and sparklines | These work well at small sizes |
| Avoid slicers | Tooltips are not interactive — users cannot click elements within them |
| Test on different screen sizes | Tooltips should not extend beyond the report canvas |
Grouping and Layering
Grouping Visuals
Grouping lets you treat multiple visuals as a single unit for moving, resizing, and formatting.
How to group:
- Select multiple visuals (hold Ctrl and click each one, or drag a selection box).
- Right-click > Group > Group.
- The visuals are now grouped — moving one moves all.
Ungrouping:
- Right-click the group > Group > Ungroup.
Nested groups:
- You can group existing groups into larger groups for complex layouts.
The Selection Pane
The Selection pane (View > Selection pane) is essential for managing complex report pages.
| Feature | Description |
|---|---|
| Layer order | Visuals are listed in z-order. Drag to reorder (top of list = front). |
| Show/Hide | Click the eye icon to show or hide a visual. Hidden visuals are invisible in reading view. |
| Rename | Double-click a visual's name to rename it for clarity (e.g., "Revenue Bar Chart" instead of "BarChart1"). |
| Lock | Click the lock icon to prevent accidental repositioning. |
| Tab order | In the Tab order view, set the order in which keyboard users tab through visuals (important for accessibility). |
Layer Management Best Practices
| Practice | Rationale |
|---|---|
| Name every visual descriptively | Makes the Selection pane usable for complex pages |
| Lock background shapes | Prevents accidentally moving decorative elements |
| Use z-order intentionally | Place background shapes at the bottom, interactive visuals on top |
| Set tab order for accessibility | Keyboard users should tab through visuals in a logical reading order |
Buttons and Images
Action Buttons
Power BI supports several button types for interactivity:
| Button Type | Action | Common Use |
|---|---|---|
| Bookmark | Apply a saved bookmark | Toggle between views, reset filters |
| Page navigation | Navigate to a specific page | Custom navigation menus |
| Drillthrough | Trigger drillthrough to a detail page | Alternative to right-click drillthrough |
| Web URL | Open a URL in a new browser tab | Link to documentation, external tools |
| Back | Return to the previous page | Back button on drillthrough pages |
| Q&A | Open the Q&A dialog | Natural language queries |
| Blank | No default action | Assign via conditional formatting or measures |
Creating a Button
- Go to Insert > Buttons.
- Select the button type.
- Position and resize the button on the canvas.
- In the Format pane:
- Button > Style: Choose a preset style or customize.
- Button > Text: Enter the button label.
- Button > Action: Configure what happens on click.
- Button > Fill: Set background color for default, hover, and pressed states.
- Button > Outline: Set border color and width.
Button State Formatting
Buttons can look different in three states:
| State | When Active | Customizable Properties |
|---|---|---|
| Default | Normal appearance | Fill, outline, text color, icon |
| Hover | Mouse is over the button | Fill, outline, text color, icon |
| Pressed | Mouse button is held down | Fill, outline, text color, icon |
| Disabled | Button action is unavailable | Fill, outline, text color, icon |
Differentiating hover and default states gives users visual feedback that the button is interactive.
Images as Backgrounds
You can use images to create branded report backgrounds:
- Go to Insert > Image.
- Select an image file (PNG, JPG, SVG).
- Position and resize the image.
- In the Selection pane, move the image to the bottom of the z-order (behind all visuals).
- Lock the image to prevent accidental repositioning.
Shapes for Containers
Use shapes to create visual groupings and containers:
- Go to Insert > Shapes.
- Select a rectangle.
- Format it: light fill color (e.g., white with slight transparency), subtle border, rounded corners.
- Position it behind a group of related visuals.
- Move it to the bottom of the z-order (but above the background image).
This creates a card-like container effect that visually groups related visuals.
Text Boxes
Add text boxes for titles, descriptions, and annotations:
- Go to Insert > Text box.
- Type your text.
- Format: font, size, color, bold/italic, alignment.
- Text boxes support hyperlinks: select text > click the link icon > enter a URL.
Bookmarks and Storytelling
Bookmark Types
| Type | Scope | Purpose |
|---|---|---|
| Report bookmarks | Created by the report author | Available to all viewers; used for navigation, view toggling, guided stories |
| Personal bookmarks | Created by individual viewers in Service | Each user can save their own preferred view; not visible to others |
Creating a Report Bookmark
- Set the page to the desired state (slicer selections, visual visibility, etc.).
- Go to View > Bookmarks pane.
- Click Add.
- Rename the bookmark (e.g., "Q3 2025 Overview").
- Optionally right-click to configure properties (Data, Display, Current page, Selected visuals).
Bookmark Navigator
A bookmark navigator creates a button strip from your bookmarks:
- Create several bookmarks (e.g., one per region: "North", "South", "East", "West").
- Select all these bookmarks in the Bookmarks pane.
- Go to Insert > Buttons > Navigator > Bookmark navigator.
- A row of buttons appears, one per bookmark.
- Clicking a button applies that bookmark's state.
Creating a Slideshow Experience
Use bookmarks to guide users through a story:
- Create the first state (overview with all data).
- Add a bookmark: "1. Overview".
- Apply a slicer for Region = "West" and highlight key insights.
- Add a bookmark: "2. West Region Deep Dive".
- Navigate to a product detail page.
- Add a bookmark: "3. Product Analysis".
- Create navigation buttons ("Previous" / "Next") that move between bookmarks.
This creates a guided, presentation-like experience within the report.
Toggle Between Views
A common pattern is letting users switch between a chart view and a table view:
| Step | Action |
|---|---|
| 1 | Place a bar chart and a table in the same position on the canvas |
| 2 | Select both visuals and check the Selection pane |
| 3 | Hide the table in the Selection pane |
| 4 | Create a bookmark "Chart View" (capture Display only) |
| 5 | Hide the chart, show the table |
| 6 | Create a bookmark "Table View" (capture Display only) |
| 7 | Add two buttons: "Show Chart" (action = Chart View bookmark) and "Show Table" (action = Table View bookmark) |
| 8 | Test the toggle behavior |
Reset Slicers Bookmark
Create a bookmark that resets all slicers to their default (no selection) state:
- Clear all slicer selections on the page.
- Create a bookmark called "Reset Filters" with the Data property enabled.
- Add a button labeled "Reset" with the action set to this bookmark.
- Users click "Reset" to clear all filters and start fresh.
Mobile Layout
Phone Layout View
Power BI allows you to create a separate layout optimized for mobile devices:
- Go to View > Mobile layout.
- A phone-sized canvas appears with a grid.
- The Page visuals pane shows all visuals from the desktop layout.
- Drag visuals onto the phone canvas.
- Resize and rearrange for a vertical phone layout.
Designing for Mobile
| Guideline | Rationale |
|---|---|
| Stack visuals vertically | Phone screens are tall and narrow |
| Use 1-2 visuals per row | Avoid side-by-side visuals on small screens |
| Increase font sizes | Small screens require larger text |
| Prioritize KPI cards at the top | Users check the most important numbers first |
| Use dropdown slicers | List slicers take too much space on mobile |
| Reduce visual count | Show 4-6 visuals maximum per mobile page |
| Test on actual devices | Preview in the Power BI Mobile app |
Mobile Layout Best Practices
| Area | Desktop Layout | Mobile Layout |
|---|---|---|
| KPI cards | Horizontal row across top | Vertical stack at top |
| Charts | Side by side | Stacked vertically |
| Tables | Wide tables with many columns | Reduce columns; use matrix with expand/collapse |
| Slicers | Multiple visible slicers | Single dropdown slicer or use filter icon |
| Navigation | Tab bar or button row | Swipe between pages |
Testing in Power BI Mobile
- Publish the report to Power BI Service.
- Open the Power BI Mobile app on your phone or tablet.
- Navigate to the workspace and open the report.
- The app automatically uses the mobile layout if one is defined.
- Test slicer interactions, drillthrough, and bookmarks.
- If no mobile layout is defined, the app shows the desktop layout (which may not look good on small screens).
Publishing to Power BI Service
Publish from Desktop
- Save your report in Power BI Desktop.
- Click Home > Publish.
- Sign in with your Power BI account (if not already signed in).
- Select the destination workspace:
| Workspace Type | Who Can Publish | Who Can View |
|---|---|---|
| My workspace | Only you | Only you |
| Shared workspace | Members with appropriate role | Members, viewers, and app users |
- Click Select.
- Power BI uploads the report and dataset to the Service.
- A success dialog appears with a link to the report in the Service.
Overwriting Existing Reports
If a report with the same name exists in the workspace:
- Power BI asks if you want to overwrite.
- Click Replace to update the existing report.
- The dataset is also updated.
- Existing dashboard tiles pinned from this report continue to work with the updated data.
Managing Published Reports
In Power BI Service:
| Action | How |
|---|---|
| View the report | Open the workspace > click the report name |
| View the dataset | Open the workspace > click the Datasets tab |
| Download the .pbix | File > Download the .pbix file (if enabled by admin) |
| Rename | Click the ellipsis (...) next to the report > Rename |
| Delete | Click the ellipsis > Delete |
| View lineage | Click Lineage view to see dataset-report-dashboard relationships |
| View usage metrics | Click the ellipsis > View usage metrics |
Creating Dashboards in Service
Dashboards are created exclusively in Power BI Service. They are single-page canvases of pinned tiles.
Pinning Visuals to a Dashboard
- Open a report in Power BI Service.
- Hover over a visual.
- Click the pin icon that appears in the visual header.
- Choose to pin to a new dashboard or an existing dashboard.
- Name the dashboard (if new) and click Pin.
- The visual is now a tile on the dashboard.
Pinning Entire Report Pages
- Open a report in Service.
- Click Pin to a dashboard > Pin live page (from the report menu).
- The entire page is pinned as a single tile that updates in real time.
Dashboard Tile Types
| Tile Type | Source | Behavior |
|---|---|---|
| Pinned visual | A visual from a report | Shows the visual; clicking navigates to the source report |
| Pinned live page | An entire report page | Shows all visuals; clicking navigates to the report |
| Q&A tile | A natural language question | Shows the answer visual; clicking opens Q&A |
| Streaming data tile | A real-time data stream | Updates in real-time (e.g., IoT sensor data) |
| Custom tile | Web content, image, or text | Static content; can include links |
| Video tile | A video URL | Embeds a video player |
| Image tile | An image URL or upload | Displays a static image |
Managing Tiles
| Action | How |
|---|---|
| Resize a tile | Drag the corner handle |
| Move a tile | Drag the tile to a new position |
| Edit tile details | Click the ellipsis > Edit details (change title, subtitle, link) |
| Delete a tile | Click the ellipsis > Delete tile |
| Set an alert | Click the ellipsis > Manage alerts (for number tiles only) |
Dashboard Design Tips
| Tip | Description |
|---|---|
| Lead with KPIs | Place the most important numbers at the top |
| Use consistent tile sizes | Create a grid pattern for a clean look |
| Limit to 8-12 tiles | More than this becomes overwhelming |
| Add titles and subtitles | Use tile details to add context |
| Link tiles to the right report page | Ensure clicking a tile navigates to the relevant detail |
Sharing and Distribution
Sharing Methods Comparison
| Method | Audience | License Required | Scope |
|---|---|---|---|
| Share with individuals | Specific users or groups | Pro or Premium Per User for both sender and recipient | Single report or dashboard |
| Publish to web | Anyone with the link (public internet) | Pro for publisher; no license for viewers | Single report (public) |
| Power BI App | Organization-wide distribution | Pro or PPU for publisher; Free for viewers in Premium capacity | Bundle of reports, dashboards, and dataflows |
| Embed in Teams | Teams channel members | Pro or PPU | Single report or dashboard |
| Embed in SharePoint | SharePoint site users | Pro or PPU | Single report |
| Embed in website | External users | Premium capacity or Embedded SKU | Custom-embedded reports |
Share with Individuals
- Open the report or dashboard in Service.
- Click Share in the top bar.
- Enter email addresses or group names.
- Choose permissions:
| Permission | Description |
|---|---|
| Allow recipients to share | The recipient can share with others |
| Allow recipients to build on the underlying dataset | The recipient can create new reports on the same dataset |
| Send an email notification | The recipient receives an email with a link |
- Add an optional message.
- Click Share.
Publish to Web
Warning: Publish to web makes your report accessible to anyone on the internet. Do not use this for sensitive or internal data.
- Open the report in Service.
- Click File > Embed report > Publish to web.
- Power BI generates an embed code and a public URL.
- Anyone with the URL can view the report without signing in.
Power BI Apps
Apps bundle related content (reports, dashboards, datasets) into a single package for distribution.
Creating an app:
- Go to the workspace that contains your content.
- Click Create app in the top bar.
- Configure the app:
| Setting | Description |
|---|---|
| App name | The name visible to users |
| Description | What the app contains |
| Logo | An icon for the app |
| Navigation | Define the order and grouping of reports and dashboards |
| Permissions | Who can access the app (entire organization, specific groups, or individuals) |
- Click Publish app.
Updating an app:
- Make changes to reports in the workspace.
- Go to the workspace > click Update app.
- The app is updated for all users.
Workspace Roles
| Role | Can View | Can Edit | Can Share | Can Publish | Can Manage |
|---|---|---|---|---|---|
| Viewer | Yes | No | No | No | No |
| Contributor | Yes | Yes | No | No | No |
| Member | Yes | Yes | Yes | Yes | No |
| Admin | Yes | Yes | Yes | Yes | Yes |
Scheduled Refresh
Why Scheduled Refresh Matters
When you publish a report, the dataset in Power BI Service contains a snapshot of the data at publish time. Without scheduled refresh, the data becomes stale.
Setting Up Scheduled Refresh
- Go to your workspace in Power BI Service.
- Find the dataset and click the ellipsis (...) > Settings.
- Expand the Scheduled refresh section.
- Toggle Keep your data up to date to On.
- Configure:
| Setting | Options |
|---|---|
| Refresh frequency | Daily or Weekly |
| Time zone | Select your local time zone |
| Time | Add one or more refresh times (up to 8 per day on Pro, 48 on Premium) |
| Send refresh failure notification | Email the dataset owner and/or additional email addresses |
Gateway Requirements
| Data Source Location | Gateway Required? | Gateway Type |
|---|---|---|
| Cloud sources (Azure SQL, Salesforce, Google Analytics) | No | N/A — Service connects directly |
| On-premises databases (SQL Server, Oracle, SAP) | Yes | On-premises data gateway (standard) |
| Personal files (Excel on local drive) | Yes | On-premises data gateway (personal mode) |
| SharePoint Online | No | N/A — cloud connection |
Configuring Data Source Credentials
Before refresh can work, you must provide credentials for each data source:
- In dataset settings, expand Data source credentials.
- For each data source listed, click Edit credentials.
- Select the authentication method:
| Method | Description |
|---|---|
| OAuth2 | Sign in with your organizational account (for cloud sources like SharePoint, Dynamics) |
| Basic | Username and password (for databases) |
| Key | API key (for web APIs) |
| Windows | Windows domain credentials (for on-premises sources via gateway) |
- Configure privacy level (Organizational, Private, Public).
- Click Sign in or OK.
Refresh Best Practices
| Practice | Rationale |
|---|---|
| Schedule refreshes during off-peak hours | Reduces load on data sources and Service |
| Monitor refresh history | Check Settings > Refresh history for failures and durations |
| Set up failure notifications | Get alerted when a refresh fails so you can investigate |
| Use incremental refresh for large datasets | Only refresh changed data to reduce refresh time |
| Test credentials after password changes | Password resets break scheduled refresh until credentials are updated |
Report Best Practices
The One-Page Executive Summary
Every report should have a page zero — an executive summary that answers: "How are we doing?"
| Element | Content |
|---|---|
| KPI cards (top row) | Revenue, Profit, Customer Count, Satisfaction Score |
| Trend chart | Revenue trend over last 12 months with forecast |
| Breakdown chart | Revenue by Region (bar chart) or Product (treemap) |
| Status indicator | KPI or gauge showing performance against target |
| Navigation | Buttons linking to detail pages for deeper analysis |
Detail Pages with Drillthrough
After the summary page, create focused detail pages:
| Page | Focus | Drillthrough From |
|---|---|---|
| Regional Analysis | Sales by region with geographic map | Region field |
| Product Analysis | Product performance, margins, trends | Product Category |
| Customer Analysis | Customer segments, retention, lifetime value | Customer Segment |
| Time Analysis | Year-over-year comparison, seasonality | Time Period |
Consistent Colors and Fonts
| Guideline | Implementation |
|---|---|
| Use a theme | Apply a JSON theme to enforce colors across all visuals |
| Limit the color palette | Use 5-8 colors maximum |
| One font family | Use Segoe UI (default) or your brand font throughout |
| Consistent text sizes | Titles: 16-20pt, Subtitles: 12-14pt, Body: 10-12pt |
| Color meaning | Use green for positive, red for negative, gray for neutral consistently |
Last-Refreshed Timestamp
Users need to know how current the data is:
Method 1 — DAX measure:
Create a measure that shows the max date in the data and display it in a card or text box.
Method 2 — Power Query:
Add a query step that captures DateTime.LocalNow() during refresh, storing it as a single-row table. Display this value in a card.
Placement: Bottom-right corner of every page, small font, gray text.
Performance Optimization
| Issue | Solution |
|---|---|
| Slow report loading | Reduce visual count per page; limit data returned by each visual |
| Slow slicer rendering | Use dropdown instead of list; reduce cardinality |
| Slow cross-filtering | Simplify relationships; reduce bidirectional relationships |
| Large dataset | Use aggregations, composite models, or DirectQuery for detail data |
| Complex DAX calculations | Optimize DAX using variables, avoid nested iterators |
| Too many pages | Consolidate pages with bookmarks instead of separate pages |
Report Quality Checklist
| Item | Status |
|---|---|
| Every visual has a clear, descriptive title | — |
| Colors are consistent and follow the theme | — |
| Font sizes are readable on the target display | — |
| Alt text is added to all visuals (accessibility) | — |
| Tab order is set (accessibility) | — |
| Slicers are clearly labeled and positioned consistently | — |
| A back button exists on all drillthrough pages | — |
| A "last refreshed" timestamp is visible | — |
| Navigation is intuitive (buttons, tabs, or both) | — |
| The report loads in under 5 seconds | — |
| Mobile layout is configured (if mobile users expected) | — |
| Scheduled refresh is set up and tested | — |
Practice Exercises
Exercise 1: Report Layout and Design
Objective: Design a professional multi-page report from scratch.
Steps:
- Open Power BI Desktop and load a sample dataset.
- Page 1 — Executive Summary:
- Set page size to 16:9.
- Add a header with the report title and a company logo (use Insert > Image).
- Create a row of 4 KPI cards at the top.
- Add a line chart showing a 12-month revenue trend.
- Add a bar chart showing revenue by region.
- Apply a custom theme (import a JSON file or create one).
- Page 2 — Regional Detail:
- Add a map showing revenue by city.
- Add a matrix with region, state, revenue, and profit with conditional formatting.
- Set up this page as a drillthrough destination for the Region field.
- Add a formatted back button.
- Hide this page from navigation.
- Page 3 — Product Analysis:
- Add a treemap showing revenue by product category.
- Add a waterfall chart showing profit contribution by category.
- Add a table with the top 10 products.
- Add navigation buttons on Page 1 linking to Pages 2 and 3.
- Add a "last refreshed" timestamp in the bottom-right corner of every page.
Exercise 2: Theming
Objective: Create and apply a custom theme.
Steps:
- Choose 6 brand colors for your theme.
- Create a JSON theme file with the following properties:
name: your theme name.dataColors: your 6 colors.background: light gray (#F0F0F0).foreground: dark gray (#333333).tableAccent: your primary brand color.
- Import the theme into Power BI Desktop.
- Verify that all visuals use the new colors automatically.
- Check that new visuals created after applying the theme also use the correct colors.
- Adjust the theme if any visual type looks incorrect.
Exercise 3: Custom Tooltips
Objective: Create a custom tooltip page and assign it to a visual.
Steps:
- Create a new page called "Revenue Tooltip".
- Set the page type to Tooltip (Format > Page information > Page type).
- Adjust the size to 400 x 280 pixels.
- Add the following to the tooltip page:
- A card showing Total Revenue.
- A card showing Profit Margin %.
- A small bar chart showing top 3 products.
- Hide the tooltip page.
- On your main report page, select a bar chart.
- In the visual's Format > Tooltip, set Type to "Report page" and select "Revenue Tooltip".
- Hover over bars in the chart to verify the custom tooltip appears.
Exercise 4: Mobile Layout
Objective: Create a mobile-optimized layout for your report.
Steps:
- Open the report created in Exercise 1.
- Go to View > Mobile layout.
- From the Page visuals pane, drag the following onto the phone canvas:
- KPI cards (stack 2 per row).
- Line chart (full width).
- Bar chart (full width).
- Skip the map and matrix (they do not work well on small screens).
- Adjust sizing so visuals fill the phone width.
- Publish the report to Power BI Service.
- Open the report in the Power BI Mobile app and test the layout.
Exercise 5: Publishing and Sharing
Objective: Publish a report, create a dashboard, and share with a colleague.
Steps:
- Save your completed report in Power BI Desktop.
- Click Publish and select your workspace.
- Open the report in Power BI Service.
- Create a dashboard:
- Pin the KPI cards from Page 1 to a new dashboard called "Sales Dashboard".
- Pin the revenue trend line chart.
- Pin the regional bar chart.
- Arrange tiles on the dashboard.
- Set up scheduled refresh:
- Go to dataset settings.
- Configure credentials for your data source.
- Set refresh to daily at 6:00 AM.
- Enable failure notifications.
- Share:
- Share the dashboard with a colleague's email.
- Include a message explaining what the dashboard shows.
- Verify the colleague can access it.
Exercise 6: Bookmarks and Storytelling
Objective: Create a guided storytelling experience using bookmarks.
Steps:
- On your executive summary page, create four bookmark states:
- Bookmark 1: "All Regions" — no slicer selection, all data visible.
- Bookmark 2: "North Region Focus" — Region slicer set to North, highlight key insight.
- Bookmark 3: "South Region Focus" — Region slicer set to South.
- Bookmark 4: "Year over Year" — Show a comparison visual (toggle via selection pane).
- Create a bookmark navigator from these four bookmarks.
- Add "Previous" and "Next" buttons that cycle through the bookmarks in order.
- Test the experience from start to finish.
Summary
This chapter covered the complete workflow from report design to sharing:
| Topic | Key Takeaway |
|---|---|
| Reports vs Dashboards | Reports are multi-page interactive analyses; dashboards are single-page KPI monitors with pinned tiles |
| Design principles | Plan layout around eye flow patterns (Z or F); lead with the key insight; limit visuals per page |
| Page layout | Use 16:9 for most reports; configure background, wallpaper, and canvas settings |
| Themes | Apply built-in or custom JSON themes for consistent, professional branding |
| Report pages | Add, hide, reorder pages; use hidden pages for drillthrough and tooltips |
| Custom tooltips | Create small tooltip pages that appear on hover, providing detail without navigation |
| Grouping and layering | Use the Selection pane to manage z-order, visibility, and tab order for accessibility |
| Buttons and images | Add navigation buttons, shapes for containers, and images for branding |
| Bookmarks | Capture report state for view toggling, guided storytelling, and filter resets |
| Mobile layout | Create a separate phone layout with vertically stacked, simplified visuals |
| Publishing | Publish from Desktop to a workspace in Service; overwrite to update existing reports |
| Dashboards in Service | Pin visuals and live pages from reports; manage tiles for an at-a-glance KPI view |
| Sharing | Share directly, publish to web (public), or distribute via apps; understand workspace roles |
| Scheduled refresh | Configure refresh frequency, gateway connections, and credentials to keep data current |
| Best practices | One-page summary, drillthrough detail pages, consistent theme, last-refreshed timestamp, performance optimization |
Next chapter: We move into DAX (Data Analysis Expressions) — the formula language that powers calculated columns, measures, and advanced analytics in Power BI.