Publish to the Power BI service from SAP Databricks
This page describes how to publish data from SAP Databricks to Microsoft Power BI service. Microsoft Power BI service is a cloud-based business analytics platform that enables users to connect to, visualize, and analyze data.
When you integrate SAP Databricks as a data source with the Power BI service, you bring Databricks’ scalable data processing and performance to all users.
If you want to connect Power BI Desktop to SAP Databricks, see Connect Power BI Desktop to SAP Databricks.
The SAP Databricks connector for Power BI supports the Arrow Database Connectivity (ADBC) driver. Learn more here.
Requirements
-
Your data must be in Unity Catalog, and your compute must be Unity Catalog enabled. Hive metastore is not currently supported.
-
You must have a Power BI Premium license (Premium capacity, Premium Per User (PPU), or Microsoft Fabric capacity).
-
You must enable Read Write for the XMLA Endpoint in your Power BI capacity. Follow this link for instructions.
-
If you are authenticating using machine-to-machine (M2M) OAuth, ensure you have set up a SAP Databricks service principal. See Configure service principals on SAP Databricks for Power BI.
-
If users want to edit semantic models in the Power BI Service after publishing, you must enable Users can edit data models in Power BI service (preview) in the workspace settings. You can also edit the Semantic Model using Tabular Editor by making a connection using the XMLA endpoint.
-
If your Power BI workspace uses a private link, you must update the dataset's datasource credentials manually in Power BI.
-
A Databricks SQL warehouse.
Connect to SAP Databricks as a data source
When using SAP Databricks as a data source with the Power BI service, you can create Power BI semantic models from tables.
- From the Power BI service sidebar, click Create.
- Click Get Data.
- Search for and select the "Databricks" tile.
- Enter your Databricks SQL warehouse Server Hostname and HTTP Path. To get the Server hostname and HTTP Path:
- From the SAP Databricks sidebar, click SQL > SQL Warehouses
- In the list of available warehouses, click the target warehouse's name.
- On the Connection Details tab, copy the Server hostname and HTTP Path.
- Optionally, specify Advanced options configurations.
- Make sure to set a unique Connection name.
- Choose your authentication type:
- Personal Access Token: Enter your personal access token.
- OAuth (OIDC): Click Sign in and complete the authentication process.
- Service principal: Enter your service principal credentials.
- Select a Privacy Level.
- Choose if this connection can be used with on-premise data gateways and VNet data gateways.
- Click Next to create your connection.
- Select which tables to import to your Power BI reports.
Features and notes
- When publishing a schema containing multiple tables, all tables with columns are published. Tables with no columns are not published.
- Comments on a table's columns in SAP Databricks are copied to the descriptions of corresponding columns in Power BI.
- Foreign key relationships are preserved in the published dataset. However, Power BI only supports one active relationship path between any two tables. When multiple paths are present in the schema in SAP Databricks, some of the corresponding relationships in Power BI are set to inactive. You can later change which relationships are active or inactive in the data model view in Power BI.
- When using OAuth or an on-premises data gateway, credentials might need to be configured under “Data source credentials” on the Power BI dataset settings page.
Set up M2M OAuth
After you publish to the Power BI service from SAP Databricks, you can configure M2M OAuth on the Power BI service. Make sure you have a service principal set up on SAP Databricks. See Configure service principals on SAP Databricks for Power BI.
You can configure M2M OAuth from a semantic model or a service gateway.
Use a semantic model for M2M OAuth
Configure your SAP Databricks connection for M2M OAuth on the Power BI service using a semantic model. For more about semantic models, see Semantic models in the Power BI service.
To configure credentials:
- In Power BI, navigate to the workspace that contains the semantic model.
- Click More options (horizontal kebab menu) > Settings.
- Navigate to Data source credentials and click Edit Credentials.
- In Authentication method, choose Basic.
- In User name, enter your service principal application ID.
- In Password, enter your service principal secret.
- Select the appropriate privacy level setting for your data source.
- If you want to enable SSO, enable the last option.
- Click Sign in.
Use a service gateway for M2M OAuth
You can configure your SAP Databricks connection for M2M OAuth on the Power BI service from a Power BI VNet or on-premises data gateway. Databricks client credentials for an on-premises gateway require Power BI gateway v3000.270.10 or above. For more about Power BI gateways, see the official Microsoft site.
Power BI does not fully support VNet data gateways in its REST APIs. Therefore, you must manually update data source connections to use Databricks Client Credentials in the UI.
To configure credentials:
- In Power BI, click the gear icon in the upper-right to access settings.
- Click Manage connections and gateways.
- Click + New to create a new connection.
- Select either On-premises or Virtual network. The required credentials are the same for both gateways.
- In Gateway cluster name, select your appropriate gateway.
- In Connection name, enter your connection name.
- In Connection type, select Azure Databricks.
- In Server Hostname, enter the SAP Databricks SQL warehouse hostname.
- In HTTP Path, enter the SQL warehouse HTTP path.
- Under Authentication, specify your authentication credentials.
- In Authentication method, select Databricks Client Credentials.
- In Databricks Client ID, enter your service principal Client ID.
- In Databricks Client Secret, enter the service principal client secret.
- In Privacy level, select Organizational.
- Click Create.
Troubleshooting
Error | Notes |
|---|---|
“Approval required” when launching Publish to Power BI for the first time | If you see this message, you will need Entra Admin approval before you can grant permissions to this integration feature. Contact your Entra Admin to approve the request. Follow this link for instructions. |
PowerBINotLicensedException | Ensure that you have a Power BI Premium license (Premium capacity, Premium Per User (PPU), or Microsoft Fabric capacity). |
We couldn't deploy this dataset. Contact a capacity administrator to make sure XMLA read/write support is enabled in the capacity settings on the Power BI Premium capacity, and then try again. For additional information, see 'XMLA read/write support' in the product documentation. | Contact your Power BI capacity administrator to enable Read and Write capabilities under XMLA endpoint in the capacity settings. Follow this link for instructions. |
XMLA endpoint feature is disabled. Turn on Analyze in Excel feature in PowerBI.com to enable this feature. | Contact your Power BI capacity administrator to enable Read and Write capabilities under XMLA endpoint in the capacity settings. Follow this link for instructions. |
CapacityNotActive | Your Fabric or Power BI capacity might be paused. Contact your capacity administrator to check the capacity status. |
The database with the name of ' | Ensure that you have the permissions to create a semantic model. Then, retry Publish to Power BI to publish the semantic model with an incremented version number. |
You cannot use Direct Lake mode together with other storage modes in the same model. Composite model does not support Direct Lake mode. Remove the unsupported tables or switch them to Direct Lake mode. | Since Publish to Power BI creates a semantic model with Import or DirectQuery mode, it cannot be used to publish to an existing dataset that uses Direct Lake mode. Follow this link to learn more. |
The ' | Ensure that you are publishing to a Power BI workspace with a Premium license mode. You cannot publish to a workspace with a Pro license mode. |
Either the ' | You might have the Viewer role in the Power BI workspace. Check whether you have the permissions to create a semantic model. Follow this link for more information. |
“Failed to update data source credentials: [Microsoft][thriftextension] (14) Unexpected response from server during a HTTP connection: Unauthorized/Forbidden error response returned, but no token expired message received.” when editing data source credentials on Power BI | Check whether your Databricks workspace is publicly accessible. If your workspace is using Private Link or IP access lists, then you might need to configure a Power BI on-premises gateway. |