Documentation
Microsoft Power BI

Microsoft Power BI

Microsoft Power BI (opens in a new tab) is a popular business intelligence tool.

Cube Cloud works with both Power BI Desktop and Power BI Service (opens in a new tab). If you're using Power BI Service, you need to set up an on-premises data gateway (opens in a new tab).

Connect to the DAX API

Cube Cloud provides the DAX API for the native Power BI connectivity.

Previously, Semantic Layer Sync was recommended as a way to connect to Power BI. Since the introduction of the DAX API, it's now the preferred method.

In Power BI Desktop, choose the SQL Server Analysis Services database option when connecting to a data source. Then, enter the DAX API credentials and choose Windows authentication. It accomodates both Kerberos and NTLM methods.

To find your DAX API credentials, go to the Integrations page, click API credentials, and choose the DAX API tab.

Authentication methods

Cube Cloud supports the following authentication methods for Power BI:

ApplicationAuthenticationNotes
Power BI DesktopNTLM🟡 Works well for testing purposes
Power BI DesktopKerberos🟢 Recommended for production
Power BI ServiceNTLM + Kerberos🟢 Recommended for production.
Requires on-premises data gateway

Connection methods

Power BI provides three methods (opens in a new tab) to connect to data sources: live connection, DirectQuery, and import mode.

Live connectionDirectQueryImport mode
Data location🟢 Data source🟢 Data source🟡 Power BI
Data freshness🟢 Real-time data🟢 Real-time data🟡 Stale copy
Semantic model🟢 Up-to-date model🟡 Stale copy🟡 Stale copy
Queries🟢 Composed in UI
🔴 No custom queries
🟢 Composed in UI
🟢 Custom queries
🟢 Composed in UI
🟢 Custom queries

It's recommended to use a live connection whenever possible. Use DirectQuery if you need to write your own DAX queries, but be aware that you must manually synchronize semantic models as they evolve. Import mode is not recommended, as it removes the benefits of using a semantic layer.

Connect to the SQL API

You can connect a Cube deployment to Power BI using the SQL API as if Cube is a Postgres database. It would provide much more limited functionality than the DAX API. However, this is the only option when using Cube Core.