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

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

Reply
Shubhambh18
Frequent Visitor

How to Export Data from All Visuals in a Single Report Page at Once?

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!

 

 
2 ACCEPTED SOLUTIONS
DataNinja777
Super User
Super User

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,

 

View solution in original post

Shubhambh18
Frequent Visitor

@DataNinja777  @V-yubandi-msft 

 

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:

Use Case

To dynamically export data based on different fields selected by the user.

 

Step 1: Create a Dummy Table

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.

DAX
FieldSelection = DATATABLE(
    "FieldName", STRING,
    {
        {"Column1"},
        {"Column2"},
        {"Column3"}
    }
)
 

Step 2: Configure the Matrix

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:

DAX
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
)
 

Step 3: Add an Error Message

To handle cases where no fields are selected, add a measure to display an error message:

DAX
SelectionCheck = 
IF(
    COUNTROWS(VALUES(FieldSelection[FieldName])) = 0, 
    "Please select at least one field",
    ""
)

Outcome

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!

 

View solution in original post

4 REPLIES 4
Shubhambh18
Frequent Visitor

@DataNinja777  @V-yubandi-msft 

 

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:

Use Case

To dynamically export data based on different fields selected by the user.

 

Step 1: Create a Dummy Table

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.

DAX
FieldSelection = DATATABLE(
    "FieldName", STRING,
    {
        {"Column1"},
        {"Column2"},
        {"Column3"}
    }
)
 

Step 2: Configure the Matrix

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:

DAX
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
)
 

Step 3: Add an Error Message

To handle cases where no fields are selected, add a measure to display an error message:

DAX
SelectionCheck = 
IF(
    COUNTROWS(VALUES(FieldSelection[FieldName])) = 0, 
    "Please select at least one field",
    ""
)

Outcome

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,

V-yubandi-msft
Community Support
Community Support

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:

Vyubandimsft_0-1743068626782.png

 

 

Vyubandimsft_1-1743068626787.png

 

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. 

DataNinja777
Super User
Super User

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,

 

Helpful resources

Announcements
July 2025 community update carousel

Fabric Community Update - July 2025

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

July PBI25 Carousel

Power BI Monthly Update - July 2025

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

Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.