Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Copy and paste a table (tablix) in SSRS

I have a tablix that has data for one day, and I need to have the same data at the bottom but in 3 different lines. I'd like to copy the main day table 3 times at the bottom, and then use different datasets for each one.

I tried copying the tablix and pasting it into the Body beneath the tablix, but I get the following error:

Report Builder was unable to paste successfully.

How can I accomplish the copy and paste? Or if that isn't possible, is there another way to do what I am trying to accomplish?

Here's an animated screenshot:

Example

like image 465
urbanmojo Avatar asked Aug 11 '14 21:08

urbanmojo


2 Answers

You are likely getting the error message Report Builder was unable to paste successfully because somewhere in the grid there is a cell that uses Custom Code From the Report

i.e. you cannot copy a textbox with this custom code: “Code.MyCustomeCode()”
- Report Builder was unable to paste successfully

This has been a reported bug since SSRS 2008:

When using Visual Studio 2008 to create new reports, we cannot copy and paste multiple textboxes in a tablix, and receive a popup error stating "Report Builder was unable to paste successfully"
- Unable to copy and paste textboxes in SSRS reports with Custom Code after 2008 R2 SP2 upgrade

Workaround:

  1. Open up the XML view for the report, either in Visual Studio by right clicking the report and selecting View Code, or by editing in any text editor.
  2. Comment out Code. blocks. Ctrl + F your way through the document looking for Code.. The goal is to preserve the code in some way, while temporarily commenting out the line. Depending on your actual code, this might be different, but I here's what I like to do:
    • Find:               =Code.
    • Replace With: ='Code.
  3. Go back to the Designer View and Copy and Paste the Tablix. You can do this by right clicking the top left corner of the tablix control:
    Copy Tablix
  4. Go back to the XML View and reverse the find and replace
    • Find:                ='Code.
    • Replace With: =Code.

You should be all set!

Note: You cannot just copy the <tablix> block in the XML view after step 1 because it will create elements with the same exact name property

like image 154
KyleMit Avatar answered Nov 16 '22 09:11

KyleMit


Alternatively, you can just add a comment AFTER your code like so:

'custom code comment

Then you can copy and paste it as normal, without having to remove your comment afterwards or comment out your code beforehand.

like image 35
Jesse Sierks Avatar answered Nov 16 '22 09:11

Jesse Sierks