For the complete documentation index, see llms.txt. This page is also available as Markdown.

Power BI (Cloud)

This article outlines the integration with the Power BI Cloud connector, enabling efficient data management through features such as crawling, report preview, and lineage building (both automatic and manual). The Power BI Cloud connector uses REST APIs to extract metadata from Power BI Cloud for cataloging and lineage analysis. The connector supports crawling Power BI reports in both PBIR and PBIR-Legacy formats, including reports, pages, visuals, and report columns.

Power BI Cloud connector supports the following authentication types:

  • Service User (Username and Password) Authentication Service User Authentication uses a Power BI user account. Access to workspaces, reports, and datasets is based on the permissions assigned to the service user.

  • Service Principal Authentication Service Principal Authentication uses an Azure Entra ID application. Access is based on the Azure AD app configuration and workspace role assignment.

Overview

Connector Details

Connector Category

Report System

OvalEdge Release Supported

Release6.3.x and later

Connectivity

[How OvalEdge connects to Power BI Cloud ]

REST APIs

Power BI Cloud Versions

Cloud Version

Connector Features

Feature
Availability

Crawling

✅

Delta Crawling

✅

Profiling

❌

Query Sheet

❌

Report Preview

✅

Auto Lineage

✅ To learn more, click here.

Manual Lineage

✅

Secure Authentication via Credential Manager

✅

Data Quality

❌

DAM (Data Access Management)

❌

Bridge

✅

Metadata Mapping

The metadata objects that can be extracted from Power BI Cloud using REST APIs include tenant, workspace, report, page, and semantic model metadata. For more details, click here.

The following objects are crawled from Power BI Cloud and mapped to the corresponding UI assets.

Source Object
Source Attribute
OvalEdge Attribute
OvalEdge Category
OvalEdge Type

Workspaces

Workspace

Report Group

Reports

Workspaces

Workspaces

Workspace description

source description

description

Workspaces

Reports

Reports Name

Report Name

Reports

Reports

Reports

Report description

source description

description

Reports

Reports

Report Type

type

Reprots

Dashboard, Report, Tile, Paginated report

Reports

webUrl

contentUrl

Reports

Reports

Pages

Page Name

Report Name

Reports

Page

Pages

Page description

source description

Reports

Page

Pages

Page type

type

Reports

Page

Dataset/Semantic Model

Dataset Name

Dataset Name

Reports

Dataset, Dataflow

Dataset/Semantic Model

Dataset Description

source description

description

Dataset, Dataflow

Dataset/Semantic Model

Dataset Type

type

Reports

Dataset, Dataflow

Datset/Semantic Model Tables

Table Name

Table name

Table

-

Datset/Semantic Model Tables

Description

source description

-

-

Datset/Semantic Model Table Fields

Field Name

Column name

Column

Measure, TField

Datset/Semantic Model Table Fields

Description

source description

Column

Measure, TField

Datset/Semantic Model Table Fields

Field Type

type

Column

Measure, TField

Datset/Semantic Model Table Fields

Expression

Formula

Column

Measure, TField

The following metadata information can be extracted only from the PBIX file:

Source Object
Source Attribute
OvalEdge Attribute
OvalEdge Category
OvalEdge Type

Visual

Visual Name

Report Name

Reports

Visual

Visual

Visual type

type

Reports

Bar chart, pie chart etc..

Visual Fields

Visual Field Name

Column name

Report Field

Measure, TField

Visual Fields

Description

source description

Report Field

Measure, TField

Visual Fields

Visual Field Type

type

Report Field

Measure, TField

Visual Fields

Expression

Formula

Report Field

Measure, TField

Set up a Connection

Prerequisites

The following are the prerequisites to establish a connection:

For detailed prerequisite configuration steps in Azure and Power BI (including App Registration, Security Group creation, and Power BI Admin Portal settings), refer to the Power BI Cloud System Configuration.

For the minimum required Azure DevOps Personal Access Token (PAT) permissions, repository access requirements, and PAT configuration steps required for PBIP metadata extraction, refer to the Azure DevOps PAT Permissions for PBIP Extraction.

Service Account User Permissions

👨‍💻Who can provide these permissions? These permissions are typically granted by the Power BI Cloud administrator, as users may not have the required access to assign them independently.

Operations
Objects
Access Permission

Crawling

Semantic Model / Dataset

Service Principal with Admin API Access or Service User with Admin rights

Crawling

Report

Service Principal with Admin API Access or Service User with Admin rights

Crawling

Pages

Service Principal with Admin API Access or Service User with Admin rights

Crawling

Visuals

Service Principal with Admin API Access or Service User with Admin rights

Service Principal

Grant Access to Power BI Workspace

When Service Principal authentication is used, the service principal must be added to the Power BI workspace with one of the following roles:

  • Admin

  • Member

These roles are required to access PBIR and PBIR-Legacy report metadata, including reports, pages, visuals, and report columns, and to perform PBIX Download and access the Get Report Definition API.

Viewer and Contributor workspace roles do not support PBIX Download or the Get Report Definition API.

OAuth-Based Authentication Using Service Principal

Service Principal authentication in OvalEdge uses the Microsoft-recommended OAuth 2.0 framework secured by Microsoft Entra ID (Azure Active Directory) to access Power BI REST APIs.

Power BI REST APIs are protected by Microsoft Entra ID and require OAuth authentication for application integrations. OvalEdge supports this through Service Principal authentication, which is Microsoft’s standard non-interactive authentication approach for system integrations.

At a high level, the authentication process works as follows:

  • An application is registered in Microsoft Entra ID (Azure AD).

  • Required Power BI API permissions are configured for the application.

  • An OAuth 2.0 access token is generated.

  • Power BI REST API calls are executed using the generated secure access token.

This method does not require storage of user credentials and aligns with enterprise security standards for automated integrations.

Service User (Username and Password) Configuration

Grant Access to Power BI Workspace

When Service User (Username and Password) authentication is used, the service user must be added to the Power BI workspace with the appropriate role based on the required operation:

  • Viewer or Contributor: Required for metadata access.

  • Member or Admin: Required for PBIX Download and the Get Report Definition API.

Access to workspaces, reports, and datasets is based on the permissions assigned to the service user in Power BI.

Azure DevOps (PBIP)

  • Personal Access Token (PAT) must have access to the target project repositories.

  • Organization and Project ID must match the Azure DevOps project.

  • Ensure required access permissions are available for repository read operations.

When Azure DevOps (PBIP) is selected, the system retrieves report metadata during the crawl and generates report, page, and visual details. Review crawl logs for success or warnings. If duplicate report names exist across repositories, selection may require log review. Ensure the file path is valid and accessible.

PBIR and PBIR-Legacy Support

Power BI supports PBIR and PBIR-Legacy report formats. When the tenant setting Store reports using enhanced metadata format (PBIR) is enabled, newly published, republished, or updated reports are stored in PBIR format. Reports that have not been updated continue to use the PBIR-Legacy format.

The Power BI Cloud connector supports crawling both PBIR and PBIR-Legacy reports and extracts report, page, visual, and report column metadata from both formats.

Connection Configuration Steps

Users are required to have the Connector Creator role in order to configure a new connection.

  1. Log into OvalEdge, go to Administration > Connectors, click + (New Connector), search for Power BI, and complete the required parameters.

Fields marked with an asterisk (*) are mandatory for establishing a connection.

Field Name
Description

Connector Type

By default, "PowerBICloud" is displayed as the selected connector type.

Server Type*

From the dropdown list options (powerbionpremise/powerbicloud), select powerbicloud.

Authentication*

Power BI Cloud supports two types of authentication.

  • Username and Password (Service User)

  • Service Principal

Note: Service User authentication requires a Power BI user account, while Service Principal authentication requires an Azure Entra ID application with Azure AD app configuration and workspace role assignment. An app using service principal authentication that calls read-only admin APIs must not have any admin-consent required permissions for Power BI set on it in the Azure portal.

Field Name
Description

Credential Manager*

Select the desired credentials manager from the drop-down list. Relevant parameters will be displayed based on the selection.

Supported Credential Managers:

  • OE Credential Manager

  • AWS Secrets Manager

  • HashiCorp

  • Azure Key Vault

For more details, click here.

License Add Ons

Select the checkbox for Auto Lineage Add-On to build data lineage automatically. For more details, click here.

PBIX/PBIT/PBIP Source*

Enter the PBIX/PBIT/PBIP Source. Select an option from the drop-down.

  • Local Drive

  • One Drive

  • Azure DevOps PBIP

Connector Name*

Enter a unique name for the Power BI Cloud connection

(Example: "PowerBICloud").

Connector Environment

Select the environment (Example: PROD, STG) configured for the connector. For more details, click here.

Connector Description

Enter a brief description of the connector.

One Drive Connection*

Provide the OneDrive connector ID.

Note: This field gets populated if the PBIX/PBIT/PBIP Source is selected as OneDrive.

OneDrive Folder Name

Provide the OneDrive folder Name.

Note: This field gets populated if the PBIX/PBIT/PBIP Source is selected as OneDrive.

Organization*

Enter the Azure DevOps organization name associated with the target project. Note: This field gets populated if the PBIX/PBIT/PBIP Source is selected as Azure DevOps PBIP.

Project Id*

Enter the Project ID corresponding to the Azure DevOps project from which PBIP metadata will be retrieved. Note: This field gets populated if the PBIX/PBIT/PBIP Source is selected as Azure DevOps PBIP.

Personal Access Token*

Enter a valid Personal Access Token (PAT) with access to the target project repositories to enable authentication and metadata extraction. Note: This field gets populated if the PBIX/PBIT/PBIP Source is selected as Azure DevOps PBIP.

Extended Validation (Yes/No)

Enable or disable extended validation for the selected Local Drive source. Enter Yes to perform additional validation checks during processing, or No to proceed with standard validation only.

Client Id*

A unique identifier generated during app registration in Azure AD is used to authenticate the app in Power BI.

Client Secret*

A confidential key is generated during app registration and used to authenticate the app securely.

Tenant

An organization that owns and manages the Microsoft cloud instance (e.g., organization.onmicrosoft.com)

Tenant Id*

A unique identifier for the Azure AD instance is used to authenticate the app within the tenant.

Username*

Enter the service account username set up to access the Power BI Cloud (Example: "oesauser").

Password*

Enter the password associated with the service account user (Example: "password").

Files Path*

Provide a valid server file path for storing the PBIX/PBIT/PBIR files required for report column extraction.

Premium reports(Y/N)

Select the Premium Report option. When the option is Yes, the user can crawl the report's dataset, and when the premium option is selected as No, the user can only view the report.

Okta Enabled(Y/N)

If Okta is enabled for the given service user, enter ‘Y’; otherwise, enter ‘N’.

Read From NFS(Y/N)

To retrieve reports directly from the folder without connecting to the Power BI service, enter 'Y'; otherwise, enter 'N’.

Crawl Hidden Pages(Y/N)

To crawl the hidden pages, enter ‘Y’; otherwise, enter 'N’.

Plugin Open In PowerBI Apps(Y/N)

To open the reports using Apps in Power BI, enter ‘Y’. Else enter ‘N’.

Note: Reports will open via apps if available; otherwise, they'll open through workspaces.

Exclude Auto-Generated Reports(Yes/No)

Enable or disable exclusion of system-generated reports. Enter Yes to skip auto-generated reports during processing, or No to include them. Note: Auto-generated reports include system-generated Power BI Usage Metrics reports. These reports may not appear in the workspace report list unless saved manually.

For more details about Usage Metrics reports and hidden semantic models, refer to Power BI Usage Metrics Reports.

Proxy Enabled*

Select Yes to route API calls through a proxy server. Select No to bypass the proxy and connect directly.

Field Name
Description

Credential Manager*

Select the desired credentials manager from the drop-down list. Relevant parameters will be displayed based on your selection.

Supported Credential Managers:

  • OE Credential Manager

  • AWS Secrets Manager

  • HashiCorp

  • Azure Key Vault

License Add Ons

Select the checkbox for Auto Lineage Add-On to build data lineage automatically.

PBIX/PBIT/PBIP Source*

Enter the PBIX/PBIT/PBIP Source. Select an option from the drop-down.

  • Local Drive

  • One Drive

  • Azure DevOps PBIP

Connector Name*

Enter a unique name for the Power BI Cloud connection

(Example: "PowerBICloud").

Connector Environment

Select the environment (Example: PROD, STG) configured for the connector.

Connector Description

Enter a brief description of the connector.

One Drive Connection*

Provide the OneDrive connector ID.

Note: This field gets populated if the PBIX/PBIT/PBIP Source is selected as OneDrive.

OneDrive Folder Name

Provide the OneDrive folder Name.

Note: This field gets populated if the PBIX/PBIT/PBIP Source is selected as OneDrive.

Organization*

Enter the Azure DevOps organization name associated with the target project. Note: This field gets populated if the PBIX/PBIT/PBIP Source is selected as Azure DevOps PBIP.

Project Id*

Enter the Project ID corresponding to the Azure DevOps project from which PBIP metadata will be retrieved. Note: This field gets populated if the PBIX/PBIT/PBIP Source is selected as Azure DevOps PBIP.

Personal Access Token*

Enter a valid PAT with access to the target project repositories to enable authentication and metadata extraction. Note: This field gets populated if the PBIX/PBIT/PBIP Source is selected as Azure DevOps PBIP.

Extended Validation (Yes/No)

Enable or disable extended validation for the selected Local Drive source. Enter Yes to perform additional validation checks during processing, or No to proceed with standard validation only.

Client Id*

A unique identifier generated during app registration in Azure AD is used to authenticate the app in Power BI.

Client Secret*

A confidential key is generated during app registration and used to authenticate the app securely.

Tenant

An organization that owns and manages the Microsoft cloud instance (e.g., organization.onmicrosoft.com)

Tenant Id*

A unique identifier for the Azure AD instance is used to authenticate the app within the tenant.

Files Path*

Provide a valid server file path for storing the PBIX/PBIT/PBIR files required for report column extraction.

Premium reports(Y/N)

Select the Premium Report option. When the option is Yes, the user can crawl the report's dataset, and when the premium option is selected as NO, the user can only view the report.

Okta Enabled(Y/N)

If Okta is enabled for the given service user, enter ‘Y’; otherwise, enter ‘N’.

Read From NFS(Y/N)

To retrieve reports directly from the folder without connecting to the Power BI service, enter 'Y'; otherwise, enter 'N’.

Crawl Hidden Pages(Y/N)

To crawl the hidden pages, enter ‘Y’; otherwise, enter 'N’.

Plugin Open In PowerBI Apps(Y/N)

To open the reports using Apps in Power BI, enter ‘Y’. Else enter ‘N’.

Note: Reports will open via apps if available; otherwise, they'll open through workspaces.

Exclude Auto-Generated Reports(Yes/No)

Enable or disable exclusion of system-generated reports. Enter Yes to skip auto-generated reports during processing, or No to include them. Note: Auto-generated reports include system-generated Power BI Usage Metrics reports. These reports may not appear in the workspace report list unless saved manually.

For more details about Usage Metrics reports and hidden semantic models, refer to Power BI Usage Metrics Reports.

Proxy Enabled*

Select Yes to route API calls through a proxy server. Select No to bypass the proxy and connect directly.

Default Governance Roles

Default Governance Roles*

Select the appropriate users or teams for each governance role from the drop-down list. All users configured in the security settings are available for selection.

Admin Roles

Admin Roles*

Select one or more users from the drop-down list for Integration Admin and Security & Governance Admin. All users configured in the security settings are available for selection.

No of Archive Objects

No Of Archive Objects*

This shows the number of recent metadata changes to a dataset at the source. By default, it is off. To enable it, toggle the Archive button and specify the number of objects to archive.

Example: Setting it to 4 retrieves the last four changes, displayed in the 'Version' column of the 'Metadata Changes' module.

Bridge

Select Bridge*

If applicable, select the bridge from the drop-down list.

The drop-down list displays all active bridges that have been configured. These bridges facilitate communication between data sources and the system without requiring changes to firewall rules.

  1. After entering all connection details, the following actions can be performed:

    1. Click Validate to verify the connection.

    2. Click Save to store the connection for future use.

    3. Click Save & Configure to apply additional settings before saving.

  2. The saved connection will appear on the Connectors home page.

Manage Connector Operations

Crawl

The Crawl/Profile button allows users to select one or more report groups for crawling.

  1. Navigate to the Connectors page and click Crawl/Profile.

  2. Select the report groups to be crawled.

  3. The Crawl option is selected by default.

  4. Click Run to collect metadata from the connected source and load it into the Data Catalog.

  5. After a successful crawl, the information appears in the Data Catalog > Report / Report Column tab.

The Schedule checkbox allows automated crawling at defined intervals, from a minute to a year.

  1. Click the Schedule checkbox to enable the Select Period drop-down.

  2. Select a time period for the operation from the drop-down menu.

  3. Click Schedule to initiate metadata collection from the connected source.

  4. The system will automatically execute the crawl operation at the scheduled time.

Other Operations

The Connectors page provides a centralized view of all configured connectors, along with their health status.

Managing connectors includes:

  • Connector Health: Displays the current status of each connector using a green icon for active connections and a red icon for inactive connections, helping to monitor the connectivity with data sources.

  • Viewing: Click the Eye icon next to the connector name to view connector details.

Nine Dots Menu Options:

To view, edit, validate, build lineage, configure, or delete connectors, click on the Nine Dots menu.

  • Edit Connector: Update and revalidate the data source.

  • Validate Connector: Check the connection's integrity.

  • Settings: Modify connector settings.

    • Crawler: Configure data extraction.

    • Access Instructions: Add notes on how data can be accessed.

    • Business Glossary Settings: Manage term associations at the connector level.

    • Lineage: Configure Server Dialects for source code parsing and Connector Priority for table lineage connection.

    • Others: Configure notification recipients for metadata changes.

  • Build Lineage: Automatically build data lineage using source code parsing.

  • Delete Connector: Remove a connector with confirmation.

For more details on connector settings, click here.

Limitations

Power BI Embedded – Embed Token Limitations

Sl. No.
Scenario
Limitation

1

Dedicated Capacity (A, EM, P SKU)

No published limit on the number of embed tokens that can be generated. Embed token usage can be monitored using the “Available Features” API.

2

Shared Capacity / Pro / PPU Licensing

Embed token generation is limited (not published) and intended only for development/testing. Users may receive the error: “You have exceeded the amount of embed token that can be generated on a shared or ProPlus capacity.”

3

Shared Capacity / Pro / PPU Licensing

Microsoft states embed tokens generated under Pro/PPU are meant only for development testing. To avoid limitations, dedicated capacity (A/EM/P SKU) is required for production embedding.

4

Embed Token Lifetime

Embed tokens expire automatically. The token lifetime is tied to the Microsoft Entra ID access token used during token generation and is typically valid for approximately one hour. The expiration duration cannot be extended.

5

My Workspace Limitation

Embed tokens cannot be generated for reports or content stored in My Workspace. Reports must be located in a Power BI Workspace (App Workspace).

6

Workspace Permission Requirement

The configured Service Principal or Service User must be a member of the workspace containing the report and semantic model. If reports and semantic models exist in different workspaces, access permissions are required for all associated workspaces.

7

Workspace Capacity Requirement

For production embedding scenarios, the workspace must be assigned to Power BI Embedded or Premium capacity. Without dedicated capacity, embedding capabilities are intended only for development and testing purposes.

8

Token Scope Limitation

Embed tokens are generated only for supported artifacts such as reports, semantic models, and dashboards. Some APIs do not support generating a single embed token for multiple dashboards or tiles simultaneously.

Power BI REST API – PBIX Export Limitations

Sl. No.
Limitation Type
Limitation

1

Report Type Limitation

Reports created directly in Power BI Service (online editing) cannot be exported as .pbix using REST API.

2

Report Type Limitation

Reports using Live Connection / DirectQuery to another dataset do not support PBIX export.

3

Report Type Limitation

Reports using Dataflows, Analysis Services live connection, or composite models cannot be exported using REST API.

4

File Size Limitation

Exporting large PBIX files (greater than 1 GB uncompressed) may fail or time out. Microsoft does not officially guarantee export success beyond approximately 500 MB.

5

Download Permission Requirement

PBIX export operations require the Download .pbix option to be enabled in the workspace or report settings. If the tenant administrator disables PBIX downloads, the REST API export operation fails.

6

Sensitivity Label Limitation

Reports configured with Microsoft Information Protection (MIP) sensitivity labels may restrict or block PBIX export operations depending on tenant-level security configurations.

7

Composite Model Limitation

Some complex composite models, particularly models referencing external semantic models, may not support PBIX export operations through REST APIs.

8

Workspace Permission Requirement

To export PBIX files through REST APIs, the configured Service Principal or Service User must have one of the following workspace roles: Admin, Member, or Contributor. Viewer access does not support PBIX export operations.

9

Export Scope Limitation

REST API export operations support report export only. Export operations are not supported for dashboards, individual visuals, or semantic models independently.

Power BI Azure DevOps PBIP – Extraction Limitations

Sl. No.
Limitation Type
Limitation

1

Project Scope Limitation

Currently supports processing for a single project within a connection. Support for multiple projects within the same connection is not available.

2

Duplicate Report Name Limitation

Due to ambiguity in identifying reports with identical names across multiple repositories, such reports are skipped during PBIP extraction. This avoids incorrect metadata mapping and may require manual review using crawl logs.

Troubleshooting

If incorrect parameters are entered, error messages may appear. Ensure all inputs are accurate to resolve these issues. If issues persist, contact the assigned support team.

S. No
Error Message
Error Description & Resolution

1

Report preview not rendering (embed token exhausted)

Power BI allocates a limited pool of free embed tokens to render report previews. Once this allocation is exhausted, typically under high preview usage, the report preview fails to populate.

Resolution:

  • The dedicated Azure Power BI engine must be enabled by the environment's administration/DevOps team, per the enablement document provided.

  • After the engine is enabled, confirm that the created capacity has been assigned to the relevant workspace under Workspace Settings, as this is the most common reason the fix does not take effect.

  • The engine should be scaled up only when previews or demonstrations are required, and scaled down afterward for cost efficiency.

2

Report preview is not displayed even though the report is available in OvalEdge

Report preview access is based on the Power BI permissions of the account currently signed in to Power BI in the browser. The service principal used for crawling does not provide preview access by itself. If the signed-in account does not have permission to view the report in Power BI, the report preview is not displayed.

Resolution:

  • Sign in to Power BI in the same browser session used to access OvalEdge.

  • Verify that the signed-in account has access to the required report in Power BI.

  • Open the report directly in Power BI to confirm that the report is accessible with the same account.

S. No
Error Message
Error Description & Resolution

1

Connection validation succeeds, but crawling fails because required Power BI APIs cannot be accessed

Standard connection validation checks basic connectivity. It does not necessarily verify every API used during crawling. The Extended Validation option checks the APIs and permissions required by the Power BI connector, including APIs used for report metadata and PBIX processing.

Resolution:

  • Enable Extended Validation when creating the connection to validate the required Power BI APIs and permissions.

  • Review the validation result for API access or permission failures.

  • Resolve the missing Power BI permissions before starting the crawl.

2

Could not establish connection

Connection validation cannot establish communication with Power BI. The issue can result from incorrect Azure AD credentials, incorrect tenant details, missing permissions, or network access restrictions.

Resolution:

  • Verify the Client ID, Client Secret, Tenant Name, Tenant ID, and selected authentication method.

  • For Username and Password authentication, verify that the account has the required Power BI access.

  • For Service Principal authentication, verify that the app does not have any admin-consent required permissions for Power BI of type Application registered in Microsoft Entra ID.

  • To check the assigned permissions:

    1. Sign in to the Azure portal.

    2. Select Microsoft Entra ID, then Enterprise applications.

    3. Select the application used to access Power BI.

    4. Select Permissions.

    5. Verify that there are no admin-consent required permissions of type Application registered for the app.

  • Verify network or proxy access to the Azure AD and Power BI API endpoints.

3

CLIENT BRIDGE connection error

A Bridge connection error can occur when the Bridge agent is unavailable, the connection is not assigned to the required Bridge, or credentials cannot be resolved through the Credential Manager during crawl execution.

Resolution:

  • Verify that the Bridge agent is running and that the Power BI connection is assigned to the correct Bridge.

  • Verify that the required Credential Manager secrets are available and can be resolved by the Bridge agent.

  • Run the crawl again after the Bridge or credential issue is resolved.

S. No
Error Message
Error Description & Resolution

1

PBIX export not completing / "Layout file not found in the path" during regular crawl

The regular crawling job has a default export timeout of approximately 5 minutes. Larger reports (heavy visuals, large semantic models, or files exceeding 1 GB) cannot complete PBIX export within this window, so the layout file is not generated.

Resolution:

  • Run the Advanced Job – Download PBIX and increase requestTimeOutInMillis (start with 15 minutes, then 30 minutes if still failing).

  • Set "Retry for failed report" = true and increase the retry count (default is 3).

  • If export still fails after 30 minutes, the PBIX file must be manually downloaded from Power BI and placed in the configured source-code file path.

  • Refer to the System Settings and Advanced Jobs.

2

PowerbiNotAuthorizedException / authorization error while exporting PBIX for a specific report (others in same workspace succeed)

Power BI permissions can only be granted at the workspace level, not at the individual report level. This error typically occurs when a report's underlying semantic model resides in a different workspace than the report itself, and access has not been granted to that second workspace.

Resolution:

  • Review the exact error text and compare it with the community-sourced error reference available in the Power BI Limitations documentation.

  • Check the report's lineage and dataset details to determine whether the semantic model belongs to a different workspace.

  • If the semantic model belongs to a different workspace, ensure access is granted to that workspace as well; if access cannot be granted, the PBIX file must be provided manually.

3

"Export model not found" during PBIX export

This is a known Power BI platform limitation, not an application-level issue, and occurs when the export API is unable to resolve the report's referenced semantic model.

Resolution:

Verify whether the report's semantic model is shared from a different workspace and confirm that access exists.

4

Not able to fetch the domain, report groups, or workspaces during crawling

The Power BI connection can be validated successfully, but crawling fails to retrieve available workspaces or report groups. This can occur when the required security group has not been given access to the required Power BI workspace. The security group must have access to each workspace that needs to be crawled.

Resolution

  • Verify that the security group configured for the Power BI connection is added to the required workspace.

  • Verify that the security group has Member or Contributor access to the workspace.

  • Perform an extended validation to verify all the required Power BI APIs before clicking the Crawl/Profile icon. This helps identify API-related issues upfront and provides the exact error message to the user.

  • Resolve any issues reported during extended validation.

  • Run the crawl again after the workspace access is updated.

5

Report columns are not displayed after crawling

The Layout file may be successfully downloaded and processed, but report columns are not populated unless the Report Columns option is enabled in the crawler settings. The Layout file contains the visual and field information required to identify report columns.

Layout or report definition is not exported as expected.

Resolution:

  • Open the Power BI crawler settings and enable the Report Columns option.

  • Verify that the PBIX file and Layout file were successfully processed during crawling.

  • Run the crawl again after enabling the Report Columns option.

6

Hidden pages are not available after crawling

Hidden Power BI pages are excluded when the Crawl Hidden Pages option is disabled. A hidden page is not normally visible to standard report viewers in Power BI, but its metadata can still be crawled when the option is enabled.

Resolution:

  • Enable the option to crawl hidden pages in the Power BI crawler settings.

  • Run the crawl again after enabling the option.

  • Verify the hidden page metadata in OvalEdge after the crawl completes.

7

Unexpected automatically generated reports are displayed after crawling

Power BI can contain automatically generated reports that are returned through the REST APIs even when they are not normally visible alongside the other reports in a workspace. These reports can be excluded from crawling by enabling the Exclude Autogenerated Reports option.

Resolution:

  • Enable Exclude Autogenerated Reports in the Power BI crawler settings.

  • Run the crawl again to exclude the automatically generated reports.

  • Keep the option disabled when automatically generated reports are required in the catalog.

8

Curation Status is empty for some Power BI reports

Curation Status values such as endorsement and certified by are obtained from Power BI ReportMetadata. Older reports or reports for which the required administrative metadata could not be retrieved can have empty values.

Resolution:

  • Verify that the required administrative ReportMetadata API access is available.

  • Enable Extended Validation and confirm that the ReportMetadata API is accessible.

  • Re-crawl the affected reports after the required access is available.

S. No
Error Message
Error Description & Resolution

1

Lineage not built for a table, or gaps present in the lineage diagram

Lineage failures generally result from one of two causes: (a) the table's M-code uses a method or function that is not currently supported by the lineage parser, or (b) the underlying data warehouse or table has not yet been crawled and cataloged.

Resolution

  • Open the table and navigate to the References tab to view the associated M-code, and determine whether it is an unsupported M-code method or a function that inherently carries no source information (for example, list-of-dates functions or Table.FromList).

  • If the method is supported but the source system is not connecting, confirm that the target data warehouse or table has been crawled.

  • If the M-code method is genuinely unsupported, an enhancement request should be logged; alternatively, Augmented (AI-assisted) Lineage may be used for immediate coverage, which requires an LLM to be configured in the environment.

2

java.lang.StackOverflowError during lineage build

Lineage processing can fail with a stack overflow for large Power BI environments, particularly when lineage is built for a large volume of source code at once. The issue has been reported with Service Principal authentication and large environments.

Resolution:

  • Build lineage selectively for individual workspaces or reports instead of processing all source code at once.

  • Increase the JVM stack size when the environment requires large lineage processing.

  • Apply the latest available connector and lineage fixes before repeating the lineage build.

3

Lineage job completes with partial success

A lineage job can complete successfully at the job level while individual reports or tables remain in a Parse Failed state. This generally indicates object-level lineage parsing failures rather than a complete job failure.

Resolution:

  • Review the job logs and identify the objects that have a Parse Failed status.

  • Review the source code for the affected objects and verify that the required lineage dialects are configured.

  • Rebuild lineage for the affected objects individually and review the resulting lineage status.

4

Parse Failed for Power BI dataflow lineage

Dataflow lineage can show Parse Failed when the SQL or M code expression cannot be fully extracted or when the lineage parser receives an incomplete expression.

Resolution:

  • Review the source code associated with the affected dataflow and verify that the SQL or M code is available.

  • Verify that the lineage dialect for the source database is configured, such as SQL Server or Salesforce.

  • Rebuild lineage for the affected dataflow and review the lineage status.

5

Lineage creates a temporary table instead of linking to an existing SQL Server table

SQL Server table names can differ between the source name extracted from M code and the table name already cataloged in OvalEdge. For example, the source expression can contain the database, schema, and table name, while the cataloged table uses the schema and table name.

Resolution:

  • Review the M code and compare the source table name with the existing SQL Server table name in the catalog.

  • Verify whether the source database and schema information causes a naming mismatch.

  • Rebuild lineage after the source object is correctly cataloged and the applicable lineage fix is available.

6

Lineage is incomplete for a DirectQuery semantic model

DirectQuery semantic models can contain reference expressions that are not fully interpreted by the lineage parser. In such cases, some expected lineage relationships may not be generated.

Resolution:

  • Review the DataModelSchema and other available source code for the affected semantic model.

  • Identify reference expressions that may not be fully supported by the lineage parser.

  • Rebuild lineage for the affected semantic model after reviewing the source expressions.

7

Cross-workspace dataset lineage is not built

A report can reference a semantic model located in another Power BI workspace. Lineage requires the source workspace and its semantic model to be crawled before the consuming report can be resolved correctly.

Resolution:

  • Verify that the source workspace containing the semantic model has been crawled.

  • Verify that the source semantic model and its source code are available in the catalog.

  • Rebuild lineage for the consuming report after the source workspace crawl is complete.

FAQs

S. No
Question
Answer

1

What is the difference between "Data Set" and "Semantic Model"?

Data Set and Semantic Model refer to the same Power BI object. Microsoft changed the terminology from Data Set to Semantic Model in newer Power BI versions.

  • Data Set: Term used in earlier Power BI versions.

  • Semantic Model: Term used in newer Power BI versions.

  • Both terms refer to the same type of Power BI object.

  • Depending on the Power BI version, either term may appear in the application or documentation.

  • When reviewing reports or lineage, Data Set and Semantic Model can be treated as the same object.

2

Why does the same column name appear more than once in a report?

The same column can be used in multiple visuals or pages within a Power BI report. As a result, the column may appear more than once.

To identify where each occurrence is used:

  • Check the Page Name.

  • Check the Sub-Report Name.

  • Compare these values for the duplicate column entries.

  • Each entry represents the use of the column in a different location within the report.

  • Duplicate column names do not necessarily indicate duplicate source columns.

3

What is the Open Power BI Apps option?

The Open Power BI Apps option determines where the report opens when the Open Power BI option is selected from OvalEdge.

When disabled:

  • The report opens directly in the Power BI report location.

When enabled:

  • The report opens through the corresponding Power BI App.

This option is applicable when reports are published through Power BI Apps. If Power BI Apps are not used, the option can remain disabled.

4

What is the Premium Reports setting?

The Premium Reports setting is related to Power BI capacity used for report preview.

Most environments can initially use the default setting without additional capacity. Additional capacity becomes relevant when report preview reaches Power BI token limitations or when extensive preview activity is required.

Recommended approach:

  • Keep the setting disabled during the initial connector setup when additional capacity is not available or required.

  • If report preview stops working because the available Embed Token allocation is exhausted, evaluate the required Power BI capacity.

  • After capacity is available, assign the capacity to the required workspace and update the applicable connector setting.

5

What metadata objects are crawled by the Power BI Cloud connector?

The Power BI Cloud connector retrieves metadata for the following Power BI objects:

  • Workspaces, which are represented as Domains in OvalEdge

  • Dashboards and their associated tiles

  • Reports, including standard and paginated reports

  • Semantic Models, also referred to as Data Sets

  • Dataflows

The connector also extracts report fields and source information from the available Power BI source files and metadata.

6

Do we capture Power BI metric/KPI calculations and expressions, similar to what we support for MicroStrategy?

Yes, we are fetching this information at the semantic model level and adding the extracted details to the Formula and Technical Description fields.

7

What is the impact of renaming a Power BI workspace on curated metadata?

Renaming a Power BI workspace does not inactivate or delete curated metadata in OvalEdge.

  • The workspace name is updated after re-crawl

  • The external reference ID remains unchanged

  • Existing objects remain active

  • Curated metadata (tags, descriptions, glossary terms, etc.) is retained.

Recommendation: It is safe to rename workspaces at the source. However, it is recommended to validate the change in a development or test environment before applying it in production.

S. No
Question
Answer

1

Why is Extended Validation recommended when creating the Power BI connection?

Extended Validation checks more than basic connectivity. Standard validation confirms that the connection can communicate with Power BI, while Extended Validation checks the APIs and permissions required during crawling.

Extended Validation is useful because:

  • The Power BI connector uses multiple APIs during crawling.

  • Report metadata requires additional API access.

  • PBIX processing also requires additional API access.

  • Missing permissions can therefore remain undetected during basic validation.

  • Enabling Extended Validation during the initial connection setup helps identify missing permissions before crawling starts.

2

Does the Power BI Cloud connector require a Bridge?

No. The Power BI Cloud connector does not require a Bridge.

The connector communicates directly with the Power BI service.

  • A Bridge does not need to be selected for the Power BI Cloud connector.

  • PBIX files can be stored in the configured file path when required.

  • The Bridge setting should remain unselected for a standard Power BI Cloud setup.

3

What is the difference between Service Principal and Username and Password authentication?

The Power BI connector supports two authentication methods:

Service Principal

  • Uses Client ID, Client Secret, and Tenant ID.

  • The application identity is used for authentication.

  • This method is generally preferred for production connections.

Username and Password

  • Uses a Power BI account username and password in addition to the common connection details.

  • This method can be used when account-based authentication is required.

  • Some environments may also require Okta-based authentication with this method.

4

When is Okta authentication required for the Power BI connector?

Okta authentication applies to the Username and Password authentication method when the Power BI account uses Okta-based authentication.

Important points:

  • Okta is not required for Service Principal authentication.

  • Okta is relevant when Username and Password authentication is selected.

  • The Okta option should be enabled only when the Power BI account uses Okta authentication.

  • The required username and password must also be provided for this authentication method.

5

Why is a Tenant ID required for Service Principal authentication?

The Tenant ID identifies the Microsoft tenant in which the Power BI application and Service Principal are configured.

The Service Principal setup uses:

  • Client ID to identify the registered application.

  • Client Secret to authenticate the application.

  • Tenant ID to identify the Microsoft tenant.

Multiple Service Principals can use the same Tenant ID when they belong to the same Microsoft tenant.

6

Does the Client Secret have an expiration date?

Yes. A Client Secret created in Azure can have a defined expiration period.

During Client Secret creation, an expiration period can be selected, such as:

  • One year

  • Two years

  • Three years

The Client ID and Tenant ID do not have the same expiration behavior as the Client Secret. The Client Secret should therefore be renewed before its expiration to avoid authentication failures.

S. No
Question
Answer

1

Why can PBIX files not always be exported successfully?

PBIX export can fail because of Power BI platform limitations that are outside the application's control.

Common reasons include:

  • The report is very large and requires more time to export.

  • The report's semantic model is located in a different workspace.

  • The report falls under other Power BI export limitations.

If the PBIX file is not exported:

  • Run the Download PBIX Advanced Job.

  • Increase the request timeout, such as to 15 or 30 minutes, based on the report size and processing time.

  • Enable retries for failed reports if required.

  • If the report still cannot be exported, request that the customer manually download the PBIX file from Power BI.

  • Place the downloaded PBIX file in the designated source code path for further processing.

2

What permissions are required for the Power BI workspaces that need to be crawled?

The security group configured for the Power BI connection must have access to the required Power BI workspaces.

Workspace access includes:

  • The security group is added to the required workspace.

  • Member or Contributor access can be provided for the required crawling operations.

  • Access must be provided for each workspace that needs to be crawled.

  • If a workspace is not included in the security group access, its reports cannot be retrieved during crawling.

3

Why does the Power BI connector download a PBIX file?

The Power BI REST APIs provide information such as workspaces, reports, and semantic models. However, visual information and visual fields are not available through the required REST API responses.

The PBIX file provides the additional information required for report columns and visual metadata.

PBIX processing works as follows:

  • The connector downloads the PBIX file through Power BI APIs.

  • The PBIX file is extracted during processing.

  • The Layout file is retrieved from the extracted PBIX content.

  • The Layout file contains metadata such as visuals and fields used in the report.

  • Only the required Layout information is retained for processing.

  • The PBIX file does not provide report data to the connector for this process. The processing uses the required metadata information from the Layout file.

4

What is the Advanced Job Download PBIX?

The Advanced Job Download PBIX provides an alternative PBIX export process for reports that require more processing time than the regular crawling process allows.

The Advanced Job supports:

  • A configurable request timeout in milliseconds.

  • Retry processing for failed reports.

  • A configurable retry count.

  • Processing of selected workspaces.

  • Additional time for reports that take longer to export.

This job should be used when the regular crawl cannot obtain the PBIX or Layout file within the available processing time.

5

What should be done if PBIX files cannot be exported for many reports?

When multiple reports cannot be exported through the Power BI API, manually downloading every PBIX file may not be practical.

Alternative PBIX source options are available in the connector.

Available options include:

  • Local Path: Stores PBIX files in a specified local folder.

  • OneDrive: Retrieves PBIX files from a configured OneDrive connection.

  • Azure DevOps PBIP: Retrieves Power BI project files maintained in an Azure DevOps repository.

The appropriate option depends on where the Power BI files are already maintained.

6

What is the difference between PBIX, PBIT, and PBIP?

These are different Power BI file formats that can be used for report development or source management.

PBIX

  • Standard Power BI report file.

  • Used as the primary file for extracting report metadata when PBIX export is available.

PBIT

  • Power BI template format.

  • Can be used in scenarios where a PBIX file does not provide the required Layout information.

PBIP

  • Power BI project format.

  • Can be maintained in a source control system such as Azure DevOps.

  • The Power BI connector can retrieve the required project information from the configured Azure DevOps source.

7

Which visual types provide report columns?

Report columns are available for data-bound visuals that use fields from the semantic model.

Examples discussed in the training include:

  • Pie Chart

  • Column Chart

  • Card

  • Area Chart

Visuals that do not use data fields do not provide report columns.

Examples include:

  • Text Box

  • Image

  • Other visual types that contain no semantic model fields

Therefore, the absence of columns for a Text Box or Image is expected. If a data-bound visual does not display its fields, the Layout file and Report Columns setting should be checked.

8

Why are all semantic model tables displayed even when some tables are not used in a particular visual?

A Power BI report can use a semantic model containing multiple tables. A particular visual may use fields from only some of those tables, but the complete semantic model associated with the report is still available.

For example:

  • A semantic model can contain eight tables.

  • A particular visual may use fields from only two tables.

  • The remaining tables are still part of the semantic model.

  • OvalEdge retrieves the semantic model information associated with the report.

  • Lineage can then identify the relationship between the report, visual fields, semantic tables, and source objects.

9

Can hidden Power BI pages be crawled?

Yes. Hidden pages can be crawled when the Crawl Hidden Pages option is enabled.

When enabled:

  • Hidden page metadata is retrieved during crawling.

  • Hidden pages can be available in OvalEdge even though they are hidden in Power BI.

  • The setting is useful when complete report metadata is required.

When disabled:

  • Hidden pages are not crawled.

  • Only pages available through the normal report structure are processed.

10

What are autogenerated reports, and can they be excluded from crawling?

Power BI can return automatically generated reports through its APIs even when those reports are not normally visible with the regular reports in a workspace.

The Exclude Autogenerated Reports option controls whether these reports are included.

When enabled:

  • Automatically generated reports are excluded from crawling.

When disabled:

  • Automatically generated reports can be retrieved along with the other reports.

The option is disabled by default.

11

What is Delta Crawl in the Power BI connector?

Delta Crawl processes only reports that have changed instead of processing the entire Power BI connection again.

The connector compares the report modification information from Power BI with the corresponding information already available in OvalEdge.

Delta Crawl is useful when:

  • The connection contains a large number of reports.

  • Only recently modified reports need to be processed.

  • A complete crawl would require unnecessary processing time.

This can reduce the amount of processing required for subsequent crawls.

12

What is the purpose of the crawl scheduling time zone?

The crawl scheduling time zone controls the time period during which the Power BI crawl runs.

This is useful when Power BI data is refreshed during specific periods and crawling should not run at the same time.

For example:

  • Data refresh can be scheduled during business hours.

  • Crawling can be scheduled during non-peak hours.

  • The configured scheduling time zone determines when the crawl executes.

  • Outside the configured crawl schedule, the crawler does not run.

13

Can PBIX files be read from a local path instead of being downloaded from Power BI?

Yes. The connector provides a local file path option for scenarios where PBIX files are already available locally.

When the local path option is selected:

  • A folder path is provided for the PBIX files.

  • PBIX files are read from that location.

  • The regular PBIX download process is not required for those files.

This option is useful when PBIX files are maintained separately and are already available in a designated file location.

14

Can PBIX files be retrieved from OneDrive?

Yes. OneDrive can be used as an alternative PBIX source.

The setup requires:

  • A OneDrive connection in OvalEdge.

  • The corresponding OneDrive connection ID in the Power BI connector.

  • PBIX files maintained in the applicable OneDrive location.

This option can be useful when PBIX files are already maintained in OneDrive instead of being exported during every crawl.

15

Can Power BI project files from Azure DevOps be used instead of PBIX files?

Yes. The connector supports the PBIP source option for Power BI project files maintained in Azure DevOps.

PBIP is useful when Power BI reports are maintained in a Git based development workflow.

With the PBIP option:

  • Power BI project files are maintained in Azure DevOps.

  • The connector retrieves the required information from the configured Azure DevOps source.

This provides an alternative when PBIX export is not suitable for the environment.

16

What is the purpose of the Read from NFS option?

The Read from NFS option is intended for a specific setup where Power BI report files are read directly from a configured file location instead of connecting to Power BI through the normal Service Principal configuration.

When this option is enabled:

  • The regular Client ID and Client Secret-based connection is not used for reading the report files.

  • A configured file path is used instead.

  • The required PBIX file structure must be available at that location.

For a standard Power BI Cloud connection, this option should remain disabled.

17

What source information is extracted from Power BI reports?

The connector extracts source information required for report metadata and lineage processing.

  • DataMashup provides M code information.

  • DataModelSchema and DataModel provide semantic model information.

  • Layout provides report, visual, and field information.

  • Connections information provides source connection details.

  • ReportMetadata provides additional Power BI report metadata.

These source artifacts are used to identify report fields and build supported lineage relationships.

S. No
Question
Answer

1

Why do some tables not display any columns even though lineage is built successfully?

Some tables are created from calculated formulas or expressions instead of a direct source-column mapping.

In these cases:

  • Columns may not be populated for the table.

  • The exact resulting column name may not always be determined reliably from the formula.

  • Showing an incomplete set of columns could cause confusion.

  • The lineage can still be built correctly to the original source.

  • Once the original source table is cataloged, the lineage can map to the appropriate source object.

Therefore, missing columns in this scenario do not necessarily indicate a lineage issue.

2

How much Power BI lineage is generated automatically?

Approximately 95% of Power BI lineage is generated automatically based on the supported M-code methods and functions.

The remaining lineage depends on the specific M-code patterns used in individual reports.

  • Supported M-code patterns are processed automatically.

  • Some reports may use less common or unsupported M-code patterns.

  • Unsupported patterns can result in lineage gaps.

  • Such gaps can be reviewed and addressed through an enhancement process.

  • Therefore, a small amount of missing lineage does not necessarily indicate a connector failure.

3

What is Augmented Lineage, and when should it be used?

Augmented Lineage can be used when a report contains an M-code method that is not supported by the standard lineage process.

Standard approach:

  • Identify the unsupported M-code method.

  • Raise an enhancement request.

  • The unsupported pattern can be addressed through a future update.

When immediate lineage is required:

  • Augmented Lineage can be used as an alternative.

  • It uses AI-based parsing to interpret unsupported code patterns.

  • An LLM must be configured and accessible in the relevant environment.

  • The LLM analyzes the unsupported code and helps generate the missing lineage.

4

Does Power BI Cloud support sub report lineage?

Sub report lineage is not fully supported by the Power BI Cloud connector.

  • Lineage for supported report structures can continue to work normally.

  • Missing lineage for sub reports can occur because sub report lineage is not fully implemented.

  • The limitation does not indicate that the complete Power BI lineage process has failed.

5

How do we currently parse Power BI lineage - is it only through PBIX files, or also through PowerBI APIs

We are building the lineage using Power BI APIs. For source-system lineage, we fetch the required information from the Power BI Admin APIs, which provide details about the semantic model and M code used in the report. We also use PBIR and PBIX files to extract information about the pages and visuals and build the corresponding lineage.

6

Are there any known API limitations, particularly for column-level lineage? If so, how do we typically address those gaps? The client specifically mentioned that PowerBI API has known limitations for building lineage and asked how OvalEdge can overcome that.

A known limitation is that, while parsing the M code, we may not be able to identify the exact source information at the column level with 100% accuracy automatically. To address any missing lineage gaps, we request customers to identify the missing lineage and export the corresponding source code and share it with us through OE Labs. We then import the source code, analyze the patterns, and enhance our algorithm accordingly to accurately extract the source information and build the corresponding lineage.


Copyright © 2026, OvalEdge LLC, Peachtree Corners GA USA

Last updated

Was this helpful?