Generate Power BI columns and measures to pages lineage App
You can generate lineage between Microsoft Power BI columns or measures and Power BI report pages by using the PowerBI Columns/Measures -> Pages lineage app. This helps you see which columns and measures are used by each page so that you can troubleshoot issues or assess the impact of changes.
In the lineage graph, columns and measures appear as upstream nodes connected to pages. If you're looking for this lineage on a page asset, check the upstream side of the lineage tab. If you're looking at a measure or column asset, the page appears on the downstream side.
This guide walks you through preparing your Power BI enhanced report project (.pbir) files and configuring the app to read them from object storage such as AWS S3 or Azure Blob Storage.
Prerequisites
Before you begin, make sure you have:
- The PowerBI Columns/Measures -> Pages lineage marketplace package installed on your Atlan instance. This is a separate package from the base Power BI connector—it's not included by default. If you don't see the app in your workspace, contact Atlan support or your Atlan customer team to request installation.
- A Microsoft Power BI connection set up and crawled for the reports you want to include in lineage. The base connector must have already crawled the pages, columns, and measures you want to link.
- The ability to enable Developer mode in Power BI Desktop and save reports as Power BI project files. For background on the enhanced report format, see Projects enhanced report format.
- Permissions to store and read files from an AWS S3 bucket or Azure Blob Storage that stores your extracted Power BI report projects. See the storage-specific requirements below.
Object storage permissions
The app reads .pbir project files from cloud object storage. You need to grant Atlan read access to the storage location where you upload these files.
-
AWS S3—Use an IAM role or IAM user with
s3:GetObjectands3:ListBucketpermissions on the bucket. For detailed setup steps, see Object storage for apps. -
Azure Blob Storage—Register an application in Microsoft Entra ID (Azure AD) and create a client secret. Then assign the Storage Blob Data Reader role to the application on the container (or storage account) where you upload
.pbirproject folders. You'll enter the application (client) ID, directory (tenant) ID, and client secret when configuring the workflow in Atlan. For detailed setup steps, see Object storage for apps.
If the app can't read files from object storage due to missing permissions, the workflow may complete without errors but no lineage edges are created. If lineage is missing after a successful workflow run, verify your storage permissions first.
Prepare Power BI report projects
To generate page-level lineage, the app reads metadata from the enhanced report project structure, including each page and its visuals.
-
In Power BI Desktop, open each report you want to include and enable Developer mode by going to File → Options and settings → Options → Preview features and selecting the enhanced project save option.
-
Save the report by using the enhanced project format so that you can access the internal project structure on disk.
-
Locate the extracted project folder on your machine and confirm that its structure matches the following pattern, where each page contains a
page.jsonfile and avisualssubfolder withvisual.jsonfiles:📦 <Power BI report ID>/└── 📁 <report-name>.Report/└── 📁 definition/└── 📁 pages/└── 📁 <page-id>/├── 📄 page.json└── 📁 visuals/└── 📁 <visual-id>/└── 📄 visual.json -
Upload the extracted project folders to your chosen object storage location.
-
AWS S3
-
Create a folder for each Power BI report. The folder name must match the Power BI report ID.
-
Inside each report folder, upload the corresponding
<report-name>.Reportdirectory with itsdefinition/pages/...structure.
-
-
Azure Blob Storage
-
Create a container that stores only the extracted Power BI reports.
-
Inside the container, create a folder for each Power BI report. The folder name must match the Power BI report ID.
-
Inside each report folder, upload the corresponding
<report-name>.Reportdirectory with itsdefinition/pages/...structure.
-
-
For authentication patterns and additional examples, see Object storage for apps.
Set up workflow
After your PBIR project folders are available in object storage, configure the workflow.
- In the top navigation, click Marketplace.
- Search for PowerBI Columns/Measures -> Pages lineage and select it.
- Click Install.
- Once installation completes, click Setup Workflow on the same tile.
If you navigated away before installation completed, go to New > New Workflow and select PowerBI Columns/Measures -> Pages lineage to proceed.
-
In Workflow Name, enter a descriptive name that clearly identifies the scope of the lineage, such as
Power BI columns and measures to pages lineage - finance workspaces. -
In Output type, select Generate Lineage to create lineage from the PBIR project files. If you want to delete lineage previously created by this app for the same scope, select Delete Lineage.
-
In Connection, click Select a connection and choose the Atlan Microsoft Power BI connection that's associated with the reports whose PBIR folders you uploaded.
-
In Input, select the storage option that matches where you uploaded your PBIR project folders, such as AWS S3 IAM Role, AWS S3 IAM User, or Azure Blob.
-
Based on your selected storage option, configure the required fields such as the bucket or container name, folder path, and region (or the equivalent settings for Azure). For role configuration examples, see Object storage for apps.
-
Review the configuration and save the workflow.
-
Run the workflow once to generate lineage between Power BI columns and measures and the Power BI pages in your reports.
Verify lineage
After the workflow finishes, validate that lineage has been created as expected.
-
From the left navigation, click Assets.
-
Search for a Power BI page that was in scope for the workflow and open its asset profile.
-
Click the Lineage tab and zoom in on the page.
-
Check that:
- Power BI columns and measures appear as upstream nodes connected to the page.
- The lineage graph reflects how each page uses columns and measures from its underlying datasets.
-
Repeat the check for a few additional pages and reports to make sure lineage coverage matches your expectations.
If you need to adjust which assets are included in lineage, update the workflow configuration or the set of PBIR folders in your bucket or container and rerun the workflow.
Known limitations
- Only measures and columns used in page visuals generate lineage. If a measure or column exists in a dataset but isn't placed in any visual or filter on a report page, no lineage edge is created for it. This is expected behavior—the app builds lineage based on what's actually used in each page's visuals.
- Paginated reports (
.rdlformat) aren't supported. Only standard Power BI reports saved in the.pbirenhanced project format produce the file artifacts the app needs. - Lineage is captured at workflow run time only. Changes to report bindings in Power BI Desktop are reflected only after the next scheduled or manual workflow run completes.
- Reports published in legacy
.pbix-only format aren't supported. The enhanced report format must be enabled in Power BI Desktop before reports are published. Reports that weren't saved with the enhanced project format don't produce.pbirartifacts.
Need help?
If you have any issues while configuring or running the app, contact Atlan support.