Establish Connectivity to Microsoft Power BI Cloud

This article describes how to connect to Microsoft Power BI in order to load data into Datasets and Reports in Metric Insights.

PREREQUISITES

The whole process comprises:

  1. Create New Data Source
  2. Provide Required Parameters
  3. Provide Optional Parameters
  4. Advanced Configuration
  5. Microsoft Power BI Cloud Elements and User Tokens

NOTE: If you are using Microsoft Power BI Cloud plugin on MI versions prior to v7.0.1a, follow the instructions from the article Update Microsoft Power BI Cloud Configuration to Ensure Image Refresh Functionality to ensure proper image collection functionality.

1. Create New Data Source

Access Admin > Collection & Storage > Data Sources

  1. [+New Data Source]
  2. Choose "Microsoft Power BI Cloud" from Plugin drop-down list
  3. [Next]
  4. Enter a descriptive Data Source Name
  5. [Create]

2. Provide Required Parameters

NOTE: Enabling OAuth has the following benefits compared with the Username/Password authentication model:

  • Ability to view content in iframes based on user account permissions rather than service account permissions;
  • Row-level security (RLS) without the need to use User Maps on MI side (you only have to enable RLS in Power BI).

See Configure Microsoft Power BI OAuth in Azure AD for details.

  1. Enter Application ID of the registered Azure app that represents Metric Insights (to connect to Power BI)
  2. Server: Enter the URL of your Microsoft Power BI server (this is the same URL that you see when accessing Microsoft Power BI via your web browser)

3. Provide Optional Parameters


Microsoft Power BI Cloud Parameter Description
1 App filter Specify the filter for Power BI Apps:
  • "*": The plugin will collect Power BI objects from all available Apps.
  • App names (comma-separated, or wildcard patterns): The plugin will collect Power BI objects only from the specified Apps.
2 To Check Client Expiration Date, Secret Id These two parameters work only with OAuth and configure the display of Client Secret expiration date. Note that the values for these two parameters and Directory (tenant) Id must be provided in order to display Client Secret expiration date:
  • To Check Client Expiration Date: Select whether (“Y”)  or not (“N”)  the expiration date is displayed. If the expiration date has been retrieved and this parameter is then set to "N", the expiration date will disappear after the next Test Connection.
  • Secret Id: Enter the Secret ID generated on the Certificates & secrets tab of the Azure app.
3 Collect objects as admin Set to “true” to allow the User who created the Data Source with Power BI admin account to pull all Workspaces and their objects into Metric Insights without having to explicitly grant Admin access to each workspace.
NOTES:
  • This parameter only works for Power BI admin accounts with the Tenant.Read.All permission. Without this permission, setting "Collect objects as admin" to "true" will not work.
  • If the Tenant.Read.All permission is not granted, set "Collect objects as admin" to "false." In this case, the plugin will only retrieve Workspaces that the user’s OAuth token has explicit access to. The user must be explicitly added to all required Workspaces.
  • If this parameter is set to "true", the App filter is not available, Workspace Filter can filter Workspaces by name.
4 Power BI Premium: Collect native PDFs Set to "true" to get native PDFs from Power BI
  • NOTE: Native PDFs can be generated only with Power BI Premium accounts, otherwise, PDFs are generated using collected images.
5 Power BI Premium: Collect media using API Set to "true" to extract native PNGs and PDFs from Paginated Reports, Reports, and Report tabs using API.
To be able to fetch native PNGs and PDFs:
  • Go to app.powerbi.com, from the header access Settings > Admin Portal > Tenant settings > Enable Export reports as image files
  • In the Microsoft Power BI Cloud plugin connection profile, set Power BI Premium: Collect native PDFs to "true"

NOTE: All Semantic Models from the exported report, including the ones with a Direct Query connection, must reside on a Premium or Embedded capacity.

6 Get token from Plugin Specify whether the token used to display External Report images in iframes is fetched from the plugin ("Y"), or in the UI ("N").
NOTES:
  • It is recommended to set the parameter to "Y".
  • If the parameter is set to "N", a new token is fetched in the UI for each embedding and image collection. The same applies for External Reports with the Drill-Down Authentication parameter set to "Power BI OAuth" in the Report type.
7 Log Analytics Workspace ID Enter the ID of the Log Analytics Workspace from Azure to get logs Dataset.
  • Add "Log" to Object types to collect to obtain log reference
  • For OAuth also provide Directory (tenant) Id
8 Object types to collect Enter object types to be collected.
NOTES
  • By default the plugin is configured to collect Dashboards, Reports, Semantic Models, Tiles and Tables
  • Remove any object types you do not need to fetch
  • Enter "Workspace" and "App" to be able to collect objects from Workspaces and Apps
  • Object type REPORT returns both Reports and Paginated Reports (RDLPREPORT)
9 Old table ID Specify whether or not to collect tables from OleDB connector with the old ID format.
10 OleDB Data Enter the value ("true"/"false"):
  • "true": Get data from OleDB instead of DAX API, an RDP is required.
  • "false": Get data using DAX API without using an RDP.

NOTES

If data is fetched using DAX API (OleDB Data is set to "false"):

  • Only data from V2 Workspaces can be fetched;
  • The returned Semantic Model data is limited by 100,000 rows;
  • Only DAX queries are supported.

If data is fetched from OleDB:

  • An RDP is required;
  • Additional software installed on RDP machine is required:
    • Analyze in Excel
    • .NET
  • Both MDX and DAX queries are supported.
11 Workspace Filter Specify the filter for Power BI Workspaces:
  • "*": The plugin will collect Power BI objects from all Workspaces the associated user has access to, except for My Workspace.
  • Workspace names (comma-separated, or wildcard patterns): The plugin will collect Power BI objects from the specified Workspaces.
  • Leave blank to use the personal workspace.

See Object Filters Cheat Sheet for details on configuring the App filter, Workspace filter, and Object types to collect parameters.

Object Filters Cheat Sheet
App filter Empty Empty Empty "*" or App name(s) "*" or App name(s) "*" or App name(s)
Workspace filter "*" or Workspace name(s) "*" or Workspace name(s) Empty "*" or Workspace name(s) Empty "*" or Workspace name(s)
Object types to collect Neither "Workspace" nor "App" are listed OR "Workspace" is listed "App" is listed Both "Workspace" and "App" are listed Neither "Workspace" nor "App" are listed "App" is listed Both "Workspace" and "App" are listed
Result Objects from the specified Workspace(s) are collected Object filtration error Object filtration error Object filtration error Objects from the specified App(s) are collected Objects from the specified App(s) and Workspace(s) are collected

4. Advanced Configuration

NOTE: If you have set OleDB Data to "true" on the previous step and want to be able to get Data from Power BI Semantic Models (to create Metrics, Reports, and Datasets in Metric Insights), you must utilize the Metric Insights Remote Data Processor to connect to Power BI directly.

If you are using AD, you may want to run the RDP service as an AD service account:

  • Access Services > Metric Insights Data Processor Daemon > Properties > Log On, select AD service account
  1. Advanced Configuration settings can be set to default values unless Data Source requires more precise tuning
  2. Use Proxy: set to "Yes" and choose a Proxy if your Data Source connection requires a proxy server
  3. [Test connection] (this will also save your entries)

5. Microsoft Power BI Cloud Elements and User Tokens

  1. You can create Datasets and view all the elements or Datasets using this Data Source from the respective tabs
  2. Navigate to the Access tab to assign Data Source access to Groups or Power Users
  3. User Tokens are displayed in the corresponding menu and can be deleted by clicking the trashcan icon. The lifetime of each token is 45 minutes