Power BI filtering
As a BI Admin, use Power BI filtering to manage which Power BI metadata Collibra ingests. This process allows you to include or exclude specific object types, which ensures your Data Catalog remains focused on high-value assets.
Power BI filtering uses the latest filtering configuration. The previous filtering configuration is now referred to as Legacy filtering. You can continue to use Legacy filtering, but new filtering enhancements are available only with the latest filtering configuration.
If you use Legacy filtering, you can use the Legacy filtering conversion tool to convert your existing configuration to the latest filtering syntax.
To configure filters, you must enter the filter configuration, as JSON code, in the Source configuration field in your technical lineage Edge capacity.
Filtering
The latest filtering configuration was introduced in Edge version 2025.02.70 or later. In addition to filtering on capacities and workspaces, filtering lets you filter on reports and dashboards, and on reports published in Power BI apps.
Important considerations
- Depending on the authentication type, you must have specific roles and permissions to access the metadata in the Power BI workspaces.
- You can only fully ingest new Power BI workspaces. This means that classic workspaces and My Workspace in Power BI are not supported.
-
To ingest Power BI dataflows:
- You need access to the Power BI environment in which the data flow is stored.
- The semantic model in the data flow must exist in a premium workspace.
- Workspace filtering takes precedence over capacity filtering, meaning workspaces are filtered first. If there is no explicit exclusion of capacities containing workspaces, all capacities containing workspaces are ingested. Filtering of reports and dashboards is subordinate to workspace filtering, meaning that to include reports and dashboards from a certain workspace, that workspace has be ingested as well. Reports and dashboards from a single workspace cannot be ingested in different domains.
- When processing workspace filters, processing stops after the first matching filter. To illustrate, in the following example configuration, the first filter dictates that all workspaces (courtesy of the wildcard
*) are ingested inDOMAIN_A. Therefore, the second filter, which dictates thatmy_workspaceis ingestion inDOMAIN_B, is not considered.Copy[
{
"domainId": "DOMAIN_A",
"workspaceNames": [
"*"
]
},
{
"domainId": "DOMAIN_B",
"workspaceNames": [
"my_workspace"
]
}
]
Collection-time vs processing-time filtering
The filter properties you use determine whether filtering happens before metadata collection or during processing after collection.
Collection-time and processing-time filtering can be used together. The following table describes how each type of filtering works and the implications of using it.
| Collection-time filtering | Processing-time filtering | |
|---|---|---|
| How it works |
Edge connects only to the workspaces you specify and uploads their metadata for processing. To use collection-time filtering, use |
Edge collects and uploads metadata from all workspaces, and the Collibra Data Lineage service applies the filters during processing. |
| Advantages |
|
Supports filtering by name, wildcard, and combinations of inclusion and exclusion filters. |
Note The metadata of inactive and personal workspaces is not harvested or uploaded to the Collibra Data Lineage service instance. An inactive workspace is one for which no reports or dashboards have been viewed in the past 60 days. My workspace is the personal workspace for any Power BI customer to work with their own, personal content.
Filter properties
By default, Collibra Data Lineage accesses the metadata of all Power BI workspaces. If you don't use filtering, the metadata of all workspaces is uploaded to the Collibra Data Lineage service instance and ingested in Data Catalog. Filtering allows you to process and ingest only the metadata that matters most to you.
For the complete list of Source configuration properties, including filtering properties, go to Power BI source configuration.
You can use the following inclusion filters to ingest only the Power BI capacities, workspaces, reports, and dashboards you specify:
capacityFilterincludedNamesincludedIds
workspaceFilterincludedNamesincludedIds
reportFilterincludedNamesincludedIds
dashboardFilterincludedNamesincludedIds
You can use the following exclusion filters to ingest all capacities, workspaces, reports, and dashboards except for those you specify:
capacityFilterexcludedNamesexcludedIds
workspaceFilterexcludedNamesexcludedIds
reportFilterexcludedNamesexcludedIds
dashboardFilterexcludedNamesexcludedIds
Wildcards are supported for name-based inclusion and exclusion filters, for capacities, workspaces, dashboards, and reports.
You can combine inclusion and exclusion filters in the source configuration.
In this example, the metadata from all workspaces is uploaded to the Collibra Data Lineage service instance. Then, the metadata in all of the workspaces in CapacityABC, except for Workspace1, is ingested in Data Catalog.
{
"filters":[
{
"domainId":"07d5d441-b9f8-4add-982f-d7a5d6ba06cc",
"description":"Domain for BICatalog",
"capacityFilter": {
"includedNames": ["CapacityABC"]
},
"workspaceFilter": {
"excludedNames": ["Workspace1"]
}
}
]
}
Assets are ingested in the domain in Collibra with reference ID 07d5d441-b9f8-4add-982f-d7a5d6ba06cc.
Enforce collection-time filtering
To ensure that workspaceFilter/includedIds is applied before metadata collection, set enforceRemoteFiltering to true in the source configuration, at the same level as the filters array. This forces workspace filtering to be applied before metadata is retrieved, even when other filter properties are present.
This property applies to filtering only.
In this example, only the specified workspace is harvested. To prevent the workspaces in a capacity from being added back to the results, capacityFilter uses excludedNames with a wildcard to exclude all capacities.
{
"enforceRemoteFiltering":true,
"filters":[
{
"domainId":"07d5d441-b9f8-4add-982f-d7a5d6ba06cc",
"description":"Domain for BICatalog",
"capacityFilter": {
"excludedNames": ["*"]
},
"workspaceFilter": {
"includedIds": ["workspace ID"]
}
}
]
}
Filter on reports in published Power BI apps
If you add a report or dashboard to an app in Power BI, what actually happens is that a copy of the original report or dashboard is created in the app. The original report or dashboard still exists outside of the app.
When integrating Power BI, by default Collibra Data Lineage:
- Harvests the original report and the in-app version of the report.
- Ingests both of them, meaning it creates 2 Power BI Report assets in Data Catalog:
- One for the original report, for example:
report-abc - One for the in-app version. The prefix "[App]" is used to identify the in-app report, for example:
[App] report-abc.
- One for the original report, for example:
The two asset pages contain the same information, except for the URL. The original report asset links to the original report in Power BI, while the [App] report asset links to the report in the Power BI app.
There are two filter keywords that you can use alone or in combination, to modify how Collibra Data Lineage handles in-app reports.
| Keyword | Description |
|---|---|
createAppReports
|
Use this keyword to specify that you don't want to ingest the in-app versions of reports.
If
If If you don't use the |
includedInApp
|
Use this keyword to specify how you want Collibra Data Lineage to address reports that are included in published Power BI apps. If
If If you don't use the
|
If you have 8 reports in Power BI:
- 5 reports are not included in an app.
- 3 reports are included in an app, which means there are also 3 in-app versions of these reports.
The following table shows which of these reports are ingested, based on how you use the 2 keywords.
"createAppReports": true (or not used) |
"createAppReports": false
|
|
|---|---|---|
includedInApp is not used |
11 reports are ingested:
|
8 reports are ingested:
The 3 in-app versions of these reports are not created or ingested. |
"includedInApp": true
|
6 reports are ingested:
|
3 reports are ingested:
The 3 in-app versions of these reports are not created or ingested. |
"includedInApp": false
|
5 reports are ingested:
|
5 reports are ingested:
|
"filters":[
{
"reportFilter": {
"excludedNames": "*restricted*",
"createAppReports": false,
"includedInApp": true
}
}
]
Common patterns
The following examples show how to combine inclusion and exclusion filters for the most common Power BI filtering scenarios. For complete source configuration details, go to Power BI source configuration.
You can filter on a capacity to ingest the metadata from all workspaces in that capacity. Let's say, for example, that you have 50,000 workspaces but you only want to ingest metadata from the workspaces related to a specific department in your organization. You could specify each of the relevant workspaces in the source configuration, but that would be tedious. Furthermore, if someone in your organization creates a new workspace, it will have to be added to your source configuration. Instead, you can filter on a capacity. Then, when a new workspace is created, ensure that it is added to the relevant capacity and metadata from that workspace is automatically ingested, without having to update the source configuration.
Let's say that you have three workspaces, each dedicated to a different department in your organization: HR, Finance, and Marketing. You want to ingest the metadata from these three workspaces into three different domains and set the permissions in Collibra so that people can access only the domain for the department to which they belong.
{
"filters":[
{
"domainId":"b5d02896-8a79-49a3-bab0-12a7b37f45c6",
"description":"<Any description, for the HR department>",
"workspaceFilter": {
"includedIds": ["HR's workspace ID"]
}
},
{
"domainId":"b5d3h796-wg79-86a3-hab3-e7cdj48r9fk49",
"description":"<Any description, for the Finance department>",
"workspaceFilter": {
"includedIds": ["Finances's workspace ID"]
}
},
{
"domainId":"8sue2896-0s79-93d3-ki90-2fr459jht4s4",
"description":"<Any description, for the Marketing department>",
"workspaceFilter": {
"includedIds": ["Marketing's workspace ID"]
}
}
]
}
If you use only the workspace IDs inclusion properties in your configuration:
- Collibra Data Lineage connects only to those workspaces.
- Collibra bypasses the endpoint:
GetModifiedWorkspaces, which lists all of the workspaces in your tenant.
If the GetModifiedWorkspaces endpoint is bypassed, Collibra is unaware of any other workspaces that exist in your tenant. This makes the harvesting job a lot faster and more secure.
Filter validation
Filter configurations are validated against the following scenarios:
- Duplicate keywords.
- Unknown or unsupported keywords.
- Contradicting inclusion and exclusion filters.
- Mixed filter v1 and filter v2 keywords.
- A single workspace is mapped to more than one domain. (In this case, only the first filter is considered.)
If validation fails for any of these scenarios, a warning with failure details is shown in an analyze error on the Technical lineage Sources tab page. Critical errors occur only if the source configuration is incorrectly formatted or doesn't contain valid keywords. In such cases, the filter configuration is not processed. If configured inclusion and exclusion filters are contradicting, only the exclusion filter is taken into consideration.
Legacy filtering
Legacy filtering is the original Power BI filtering configuration and is still supported. Unlike filtering, Legacy filtering supports filtering on capacities and workspaces only, not on reports or dashboards.
You can use the following inclusion filters:
capacityNamescapacityIdsworkspaceNamesworkspaceIds
You can use the following exclusion filters:
excludeWorkspaceNamesexcludeWorkspaceIds
Wildcards are supported for the capacityNames, workspaceNames, and excludeWorkspaceNames properties.
You can combine inclusion and exclusion filters in the source configuration.
In this example, the metadata from all workspaces is uploaded to the Collibra Data Lineage service instance. Then, the metadata in all of the workspaces in CapacityABC, except for Workspace1, is ingested in Data Catalog.
{
"filters":[
{
"domainId":"07d5d441-b9f8-4add-982f-d7a5d6ba06cc",
"description":"Domain for BICatalog",
"capacityNames":["CapacityABC"],
"excludeWorkspaceNames":["Workspace1"]
}
]
}
Assets are ingested in the domain in Collibra with reference ID 07d5d441-b9f8-4add-982f-d7a5d6ba06cc.
Let's say that you have three workspaces, each dedicated to a different department in your organization: HR, Finance, and Marketing. You want to ingest the metadata from these three workspaces into three different domains and set the permissions in Collibra so that people can access only the domain for the department to which they belong.
{
"filters":[
{
"domainId":"b5d02896-8a79-49a3-bab0-12a7b37f45c6",
"description":"<Any description, for the HR department>",
"workspaceIds":"<HR's workspace ID>"
},
{
"domainId":"b5d3h796-wg79-86a3-hab3-e7cdj48r9fk49",
"description":"<Any description, for the Finance department>",
"workspaceIds":"<Finance's workspace ID>"
},
{
"domainId":"8sue2896-0s79-93d3-ki90-2fr459jht4s4",
"description":"<Any description, for the Marketing department>",
"workspaceIds":"<Marketing's workspace ID>"
}
]
}