Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
Hello everyone,
I’m trying to find a way to export all the data from multiple visuals at once. On one screen, I have around 8 visuals (bar and line charts), and currently, I have to export the data from each chart individually before combining it all for analysis.
Is it possible to export data from all the visuals on a single report page at once?
I understand that creating a separate page with a table to consolidate the data could be a workaround, but I’m looking for a solution that allows data extraction directly from the same screen.
Note: I’m not looking for any solutions based on Power Automate.
Thank you in advance for your help!
Solved! Go to Solution.
Hi @Shubhambh18 ,
Power BI does not currently offer a built-in feature to export data from all visuals on a single report page at once. By default, each visual must be exported individually, which can be time-consuming when dealing with multiple visuals. While one workaround is to build a separate page with a table consolidating all the data, you're looking for a solution that allows extraction directly from the existing screen. Although Power Automate could automate this task, since you're not interested in that route, there are still a couple of manual but practical options available.
One effective method is to use the Performance Analyzer in Power BI Desktop. You can open the Performance Analyzer from the "View" tab, click "Start Recording", and then refresh the visuals. This will capture the DAX queries for each visual. You can expand each visual's entry and click "Copy Query", then paste the queries into DAX Studio to run them. From DAX Studio, you can export the results to Excel or CSV, giving you access to the raw data behind each visual in one place.
For example, if one of the visuals uses a measure like this:
Total Sales = SUM(Sales[Amount])
The Performance Analyzer will show the underlying DAX query used for that visual. You can run a similar query in DAX Studio like:
EVALUATE
SUMMARIZECOLUMNS(
'Date'[Month],
"Total Sales", [Total Sales]
)
If you're comfortable with DAX, another option is to recreate the visuals' logic using UNION or ADDCOLUMNS in a single table visual. For example:
CombinedData =
UNION(
SELECTCOLUMNS('Sales', "Category", "Sales", "Value", [Total Sales]),
SELECTCOLUMNS('Sales', "Category", "Profit", "Value", [Total Profit])
)
This approach lets you display all key metrics in one table visual, which can be exported in one go using the “Export data” option.
There is no out-of-the-box feature or API that allows you to export all visuals’ data from the same screen with one click. But using Performance Analyzer with DAX Studio, or building a consolidated DAX table, are your best alternatives for now. If you'd like help reconstructing one of your visuals' DAX queries or building a consolidated export table, I can help with that too.
Best regards,
Apologies for taking some time to reply—I was busy trying and testing multiple approaches in the meantime.
I have tried your solution, and it is working well. I used a similar approach to achieve the same end goal.
Here is the step-by-step solution I implemented:
To dynamically export data based on different fields selected by the user.
Create a dummy table to store all the FieldNames that will be used to dynamically add or remove columns in the exported dataset. Use this table as a slicer on the export page.
FieldSelection = DATATABLE( "FieldName", STRING, { {"Column1"}, {"Column2"}, {"Column3"} } )
Add a matrix visual and use the newly created dynamic fields (FieldName) to append or remove the columns from the matrix. Use static rows from your dataset in the matrix rows. Here's the DAX measure for the dynamic values:
DynamicData = VAR SelectedFields = VALUES(FieldSelection[FieldName]) RETURN IF( ISFILTERED(FieldSelection[FieldName]), -- Ensure slicer has an active filter SWITCH( TRUE(), "Column1" IN SelectedFields, masterTable[Column1], -- Columns to be displayed "Column2" IN SelectedFields, masterTable[Column2], "Column3" IN SelectedFields, masterTable[Column3], BLANK() ), BLANK() -- Show blank if no fields are selected )
To handle cases where no fields are selected, add a measure to display an error message:
SelectionCheck = IF( COUNTROWS(VALUES(FieldSelection[FieldName])) = 0, "Please select at least one field", "" )
By interacting with the slicer, I was able to dynamically add or remove data fields in the matrix and export the customized data.
Thank you all for your suggestions! Feel free to accept this as a solution if it helps.
Cheers!
Apologies for taking some time to reply—I was busy trying and testing multiple approaches in the meantime.
I have tried your solution, and it is working well. I used a similar approach to achieve the same end goal.
Here is the step-by-step solution I implemented:
To dynamically export data based on different fields selected by the user.
Create a dummy table to store all the FieldNames that will be used to dynamically add or remove columns in the exported dataset. Use this table as a slicer on the export page.
FieldSelection = DATATABLE( "FieldName", STRING, { {"Column1"}, {"Column2"}, {"Column3"} } )
Add a matrix visual and use the newly created dynamic fields (FieldName) to append or remove the columns from the matrix. Use static rows from your dataset in the matrix rows. Here's the DAX measure for the dynamic values:
DynamicData = VAR SelectedFields = VALUES(FieldSelection[FieldName]) RETURN IF( ISFILTERED(FieldSelection[FieldName]), -- Ensure slicer has an active filter SWITCH( TRUE(), "Column1" IN SelectedFields, masterTable[Column1], -- Columns to be displayed "Column2" IN SelectedFields, masterTable[Column2], "Column3" IN SelectedFields, masterTable[Column3], BLANK() ), BLANK() -- Show blank if no fields are selected )
To handle cases where no fields are selected, add a measure to display an error message:
SelectionCheck = IF( COUNTROWS(VALUES(FieldSelection[FieldName])) = 0, "Please select at least one field", "" )
By interacting with the slicer, I was able to dynamically add or remove data fields in the matrix and export the customized data.
Thank you all for your suggestions! Feel free to accept this as a solution if it helps.
Cheers!
@Shubhambh18 — that’s an awesome workaround!
Thanks for sharing the detailed steps — super helpful for others who might want more flexibility when exporting customized datasets without leaving the report page.
One little suggestion to make your post even clearer:
In Step 2, you might consider wrapping the SWITCH(TRUE(), ...) logic inside a loop like CONCATENATEX if you’re planning to show multiple columns simultaneously, since SWITCH alone will return just one match. Right now it’s structured to return only the first match in the condition — which works great if you're allowing selection of one field at a time, but might limit users who want to see multiple columns.
Also, love the inclusion of the SelectionCheck message! That’s such a nice touch for user experience.
Best regards,
Hi @Shubhambh18 ,
Thank you for reaching out to the Microsoft Fabric community.
@DataNinja777 , Thanks for your solution. I followed the steps using Performance Analyzer and DAX Studio, and I managed to extract data from individual visuals successfully. But while exporting the data to Excel, I ran into an issue. When I export, each query result from a visual goes to a new sheet.
1. However, if I try to send data from multiple visuals to the same sheet, the new data overwrites the old one instead of adding it.
2. This makes it hard to gather all the visual data into a single file while keeping separate tables for each visual.
FYI:
As @DataNinja777 , mentioned, if you're comfortable with DAX, another approach is to recreate the visuals' logic using UNION or ADDCOLUMNS within a single table visual. This method allows you to consolidate all relevant data in one place, making it easier to export everything at once without needing DAX Studio.
Refernce: UNION function (DAX) - DAX | Microsoft Learn
Additionally, I found a similar discussion in the Microsoft Fabric Community that might be helpful. You can check it here.
Solved: Export data from All visuals at once - Microsoft Fabric Community
If there is any post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi @Shubhambh18 ,
Power BI does not currently offer a built-in feature to export data from all visuals on a single report page at once. By default, each visual must be exported individually, which can be time-consuming when dealing with multiple visuals. While one workaround is to build a separate page with a table consolidating all the data, you're looking for a solution that allows extraction directly from the existing screen. Although Power Automate could automate this task, since you're not interested in that route, there are still a couple of manual but practical options available.
One effective method is to use the Performance Analyzer in Power BI Desktop. You can open the Performance Analyzer from the "View" tab, click "Start Recording", and then refresh the visuals. This will capture the DAX queries for each visual. You can expand each visual's entry and click "Copy Query", then paste the queries into DAX Studio to run them. From DAX Studio, you can export the results to Excel or CSV, giving you access to the raw data behind each visual in one place.
For example, if one of the visuals uses a measure like this:
Total Sales = SUM(Sales[Amount])
The Performance Analyzer will show the underlying DAX query used for that visual. You can run a similar query in DAX Studio like:
EVALUATE
SUMMARIZECOLUMNS(
'Date'[Month],
"Total Sales", [Total Sales]
)
If you're comfortable with DAX, another option is to recreate the visuals' logic using UNION or ADDCOLUMNS in a single table visual. For example:
CombinedData =
UNION(
SELECTCOLUMNS('Sales', "Category", "Sales", "Value", [Total Sales]),
SELECTCOLUMNS('Sales', "Category", "Profit", "Value", [Total Profit])
)
This approach lets you display all key metrics in one table visual, which can be exported in one go using the “Export data” option.
There is no out-of-the-box feature or API that allows you to export all visuals’ data from the same screen with one click. But using Performance Analyzer with DAX Studio, or building a consolidated DAX table, are your best alternatives for now. If you'd like help reconstructing one of your visuals' DAX queries or building a consolidated export table, I can help with that too.
Best regards,
Check out the July 2025 Power BI update to learn about new features.
User | Count |
---|---|
6 | |
6 | |
3 | |
2 | |
2 |