Power BI (XMLA)
Power BI is a Microsoft business analytics tool that allows users to connect to data sources, transform data, and create interactive dashboards and reports for sharing insights across an organization. The Power BI XMLA endpoint is an enterprise feature available in Premium workspaces that enables read/write access to Power BI datasets using the XML for Analysis (XMLA) protocol.
Prerequisites
The following prerequisites must be met to create and test a successful connection:
- An application must be registered with Microsoft Entra ID to obtain the required credentials for establishing the connection. Refer Registration Article for more details.
- The Power BI workspace containing the report must be a
Premium
workspace.Premium per User
workspaces are not supported. - Valid credentials to access the Power BI workspace.
Users must register an application in the Microsoft Entra ID (Azure Active Directory) to access a Power BI report from iceDQ.
Authentication Mechanism
The following authentication mechanism is supported:
- Azure Service Principal
Connection Properties
Use the following properties to create a valid connection. Properties marked with an asterisk (*) are required.
Name | Description | Example Values |
---|---|---|
Connection Name * | Name that uniquely identifies the connection. | Contoso_PBI_Conn |
Driver * | Driver used to establish the connection. One driver is available by default. | Microsoft Power BI XMLA Custom JDBC |
Custom JDBC URL | Standardized string used to define the connection details. Use this format supported by the driver: jdbc:powerbixmla:Workspace=[Workspace]; | jdbc:powerbixmla:Workspace=Prod-Reporting |
Workspace * | The Power BI Workspace name. Needs to be a Premium Per User workspace. | Prod-Reporting |
Type * | The connection type – Power BI connection can only be a System Connection. Refer Connections for more details. | System |
Tenant ID * | The Tenant ID generated after registering the Entra ID application. | 0a8287-789b-4cde-9abc-12345ef67890 |
Client ID * | The Application (Client) ID generated after registering the Entra ID application. | 0a8257-789b-4cde-9abc-12345ef4742 |
Client Secret * | The secret/password associated with the application generated after registering the Entra ID application. | u8w3D~xYtP-5k9LMn.7abc123xyz456 |
Custom Properties
The following custom properties are supported for the Power BI connector:
Property | Description |
---|---|
BatchSize | Number of rows sent per batch during write operations. |
ConnectionLifeTime | Maximum time a connection stays open before closing. |
CustomHeaders | Adds custom HTTP headers to XMLA requests. |
ExposeMemberKeys | Exposes internal member keys from tabular models. |
ExpressionInDescription | Enables dynamic evaluation of DAX in descriptions. |
ExtraProperties | Adds custom metadata or annotations to the model. |
MaxRows | Caps the number of rows returned in query results. |
Other | Placeholder for undefined or advanced custom properties. |
PoolIdleTimeout | Duration to keep idle connections alive in the pool. |
PoolMaxSize | Maximum number of connections allowed in the pool. |
PoolMinSize | Minimum number of connections maintained in the pool. |
PoolWaitTime | Maximum wait time to get a connection from the pool. |
ResponseRowLimit | Restricts the number of rows returned in a single response. |
ShowHiddenEntities | Displays hidden tables, columns, and measures in metadata. |
SplitMeasures | Splits measures into separate metadata records. |
SplitMeasuresOn | Enables measure splitting for specified objects or scenarios. |
Timeout | Defines the overall timeout for XMLA operations. |