Navigate to report in different folder

I have multiple reports, in multiple folders, that have fields in them and those fields are set to Navigate to the same report. I'd like to store a single copy of the report being navigated to in one hidden folder.

Example

Report "Inventory Value" in folder Accounting has the Item Number field set to navigate to the report "Item Details"stored in folder Linked Reports

Paths

//ReportServer/Accounting/Inventory_Value

//ReportServer/Linked_Reports/Item_Details

Is there a way to do this?

September 14th, 2015 1:28pm

It sounds like "Linked Reports" might help...

https://msdn.microsoft.com/en-us/library/ms155998.aspx?f=255&MSPPError=-2147217396

Free Windows Admin Tool Kit Click here and download it now
September 14th, 2015 2:10pm

In Report Manager, make a Linked Report.
On the report go to the Properties tab and click "Create a Linked Report"
This way only one report to deploy and maintain.

Note, that (in the linked reports) the margin size is not propagated to the linked reports. No matter what size your report margin is it will be one inch in the linked reports. Here is the script that will fix the report.

Declare @Properties as XML;
--Get the Report Properties for the Base Tech Task list report
Set @Properties = 
(
	Select convert(XML,[Property]) as [Property]
	from ReportServer.dbo.Catalog
	where [Path] ='/Infosys/Technician Task Lists/Technician Task List'  --Change this to your report path
	and Type= 2
)

--Update the property column with the values shredded from the XML from above...
Update ReportServer.dbo.Catalog
Set Property = 
(
Select '<Properties>' + 
	'<PageHeight>' +  T.C.value('./PageHeight[1]','varchar(MAX)') + '</PageHeight>' +
	'<PageWidth>' + T.C.value('./PageWidth[1]','varchar(MAX)') +'</PageWidth>' + 
	'<LeftMargin>' + T.C.value('./LeftMargin[1]','varchar(MAX)') + '</LeftMargin>' + 
	'<RightMargin>' + T.C.value('./RightMargin[1]','varchar(MAX)') + '</RightMargin>' + 
	'<TopMargin>' + C.value('./TopMargin[1]','varchar(100)') + '</TopMargin>' + 
	'<BottomMargin>' + T.C.value('./BottomMargin[1]','varchar(MAX)') + '</BottomMargin>' + 
	'</Properties>'as [XML]
from @Properties.nodes('//Properties') T(C)
)
where [Path] like '/Infosys/Technician Task Lists/%'  --Change this to your report path
and Type = 4  --Linked reports

Select '<Properties>' + 
	'<PageHeight>' +  T.C.value('./PageHeight[1]','varchar(MAX)') + '</PageHeight>' +
	'<PageWidth>' + T.C.value('./PageWidth[1]','varchar(MAX)') +'</PageWidth>' + 
	'<LeftMargin>' + T.C.value('./LeftMargin[1]','varchar(MAX)') + '</LeftMargin>' + 
	'<RightMargin>' + T.C.value('./RightMargin[1]','varchar(MAX)') + '</RightMargin>' + 
	'<TopMargin>' + C.value('./TopMargin[1]','varchar(100)') + '</TopMargin>' + 
	'<BottomMargin>' + T.C.value('./BottomMargin[1]','varchar(MAX)') + '</BottomMargin>' + 
	'</Properties>'as [XML]
from @Properties.nodes('//Properties') T(C)

Select * 
from ReportServer.dbo.Catalog

where [Path] like '/Infosys/Technician Task Lists/%'  --Change this to your report path
and Type = 4



September 14th, 2015 2:49pm

Linked reports is how I'm doing it now.  I was hoping for a more elegant solution so I don't need to have linked reports in the folders. 
Free Windows Admin Tool Kit Click here and download it now
September 14th, 2015 3:02pm

I'm not sure there is a more elegant way than Linked Reports.  A linked report isn't a copy of the report, so you're only storing a single copy once still.  No matter what, you're always going to need some link or item in the folder to link back to the original report.  So you could for example create an HTML document that is essentially a link to the report in the hidden folder.  I don't think you gain anything over linked reports though.
September 14th, 2015 4:16pm

Hi, 

According to your description, you want to go to the item detail report based on the item number when viewing the main report, right? 

In Reporting Services, if we want to view the detail information based on the field value in the main report, we can use "Go to Report" in the main report. In your scenario, since you mentioned that you have a "Inventory Value" main report, and then you can click the item number so that the report will go to the subreport which display detail information about the item with parameter value. How to use "Go to Report" action, please refer to this article

If you have any other question, please feel free to ask. 

Regards,
Shrek Li


Free Windows Admin Tool Kit Click here and download it now
September 14th, 2015 11:00pm