Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Score big with last-minute savings on the final tickets to FabCon Vienna. Secure your discount

Reply
BhavaniK
Frequent Visitor

Drill-through Not Working Between Pages Using Different Data Sources in Power BI

I’m trying to implement a drill-through from a main page to a subpage in Power BI. Each page is based on a different underlying data source, though both tables have the same column structure. However, the drill-through functionality is not working as expected.

Workarounds Attempted:

  • Created a view using UNION ALL to combine both source tables into a single dataset and introduced a source_table column to differentiate between the two sources.

  • Applied page-level filters using the source_table column to isolate records relevant to each page.

  • Added a slicer with the source_table field on both pages to dynamically control filtering.

Despite these attempts, the drill-through feature still does not function correctly.

Additional Context:
The ETL logic behind the two tables is as follows:

  • Table A includes a filter to retain only records with Rank = 1.

  • Table B contains the full dataset without ranking applied.
    Other than this difference, the column definitions in both tables are identical.

Please advise on how to enable drill-through functionality in this scenario or suggest an alternative approach.

1 ACCEPTED SOLUTION
Ilgar_Zarbali
Super User
Super User

Thanks to @johnbasha33 for always helping the community!

The drill-through doesn’t work because Power BI requires the same exact field from the same table (not just identical columns) to pass filter context between pages.

  • Simple Fix:
    Use the combined UNION ALL table as the main table for both report pages. Then, use that table’s fields (like CustomerID, etc.) for both the visuals and the drill-through target field.

Only fields from the same table can be used in drill-through — even if column names are identical across tables.

Hope this helps! If yes, please give kudos and accept as solution.

View solution in original post

6 REPLIES 6
v-hashadapu
Community Support
Community Support

Hi @BhavaniK ,

Hope you're doing okay! May we know if it worked for you, or are you still experiencing difficulties? Let us know — your feedback can really help others in the same situation.

v-hashadapu
Community Support
Community Support

Hi @BhavaniK , 

Hope you're doing okay! May we know if it worked for you, or are you still experiencing difficulties? Let us know — your feedback can really help others in the same situation.

 

v-hashadapu
Community Support
Community Support

Hi @BhavaniK , hope you are doing great. May we know if your issue is solved or if you are still experiencing difficulties. Please share the details as it will help the community, especially others with similar issues.

v-hashadapu
Community Support
Community Support

Hi @BhavaniK , Thank you for reaching out to the Microsoft Community Forum.

 

You've made good progress by creating a UNION ALL view and adding a source_table column, that’s exactly the right direction. As @johnbasha33  and @Ilgar_Zarbali rightly pointed out, though, Power BI requires that drill-through fields come from the same exact table, not just from tables with matching columns. Even small inconsistencies in data lineage will break the drill-through.

 

Most likely, your current setup still references TableA or TableB in some visuals or filters. To fix this, make sure every visual, slicer and the drill-through filter on both pages uses fields only from the combined table. Then, apply a filter like source_table = "A" on the main page and source_table = "B" on the drill-through page to isolate the relevant data, all while keeping everything within the same table structure. This ensures the filter context passes cleanly when a user drills through.

Ilgar_Zarbali
Super User
Super User

Thanks to @johnbasha33 for always helping the community!

The drill-through doesn’t work because Power BI requires the same exact field from the same table (not just identical columns) to pass filter context between pages.

  • Simple Fix:
    Use the combined UNION ALL table as the main table for both report pages. Then, use that table’s fields (like CustomerID, etc.) for both the visuals and the drill-through target field.

Only fields from the same table can be used in drill-through — even if column names are identical across tables.

Hope this helps! If yes, please give kudos and accept as solution.

johnbasha33
Super User
Super User

@BhavaniK 

Power BI Drill-Through Requirements:

  1. The target page must have a drill-through field (e.g., Customer ID, Order Num) in the drill-through filter well.

  2. The field in the source visual must come from the same table or lineage as the field in the target page.

Even if two columns are identical (in name and data type), if they come from different queries, Power BI will not pass the filter.

Correct Approach: Combined Table With Filtering

You were on the right path by using UNION ALL and creating a source_table column. Here’s how to refine this for working drill-through:

Create a Combined Table in Power Query or DAX

CombinedTable =
UNION (
SELECTCOLUMNS (
TableA,
"RecordID", TableA[RecordID],
"Customer", TableA[Customer],
...
"source_table", "A"
),
SELECTCOLUMNS (
TableB,
"RecordID", TableB[RecordID],
"Customer", TableB[Customer],
...
"source_table", "B"
)
)

Make sure all visuals on both pages use this CombinedTable only—not the original Table A or B directly.

Build Both Pages from the Combined Table

  • Main Page (Page 1): Use a report-level/page-level filter or slicer to show only source_table = "A".

  • Drill-through Page (Page 2): Set drill-through field from CombinedTable (e.g., RecordID or Customer) AND apply page-level filter source_table = "B".

Now the filter context can travel with lineage from source to drill-through, because it’s all in the same table.

Test With a Simple Visual First

  • Create a visual on the main page using CombinedTable[Customer] with filter source_table = "A".

  • Right-click and drill through to Page 2.

  • On Page 2, confirm:

    • Drill-through filter is active.

source_table = "B" filter is applied.

Alternative: Use Parameters and Dynamic Pages

If you want an even more flexible experience:

  • Create a parameter slicer to switch between A and B.

Use that to control what data is shown in visuals, while still using the same Combined Table.

Did I answer your question? Mark my post as a solution! Appreciate your Kudos !!



Helpful resources

Announcements
August Power BI Update Carousel

Power BI Monthly Update - August 2025

Check out the August 2025 Power BI update to learn about new features.

August 2025 community update carousel

Fabric Community Update - August 2025

Find out what's new and trending in the Fabric community.