SSSRS 2008 R2
My BIDS project has a few reports but those reports reference a large number of subreports. How do I move all the subreports into their own folder and reference them in the body of my main report?
I tried creating a folder and manually moving the subreports into it. That didn't work. BIDS couldn't find the subreports and the folder didn't appear in the project structure.
The problem here is that BIDS expects all subreports to be in the same folder as the main report, you can't use paths or subfolders.
However, when deployed to the report server relative paths (e.g. /SomeFolder/MyReport) will work and so you can alter your main report to point to reports in any subfolder or relative path and this will work once deployed. You will not be able to see the subreports in the main report when running it in BIDS though.
While developing in Visual Studio, you cannot use the folder path reference. If you do you will receive an error message “Could not find a part of the file path”.
For development, you will need to make sure the Subreport is in your project, then you use the dropdown to select the report. When development is complete, the Main report needs to be changed to reference the correct folder (/Sub reports/myReport.rdl) and the Subreport needs to be deployed to the correct folder (/Sub reports). This means there will be 2 copies of the sub report-- 1 in your MainReport project, and 1 in your SubReport project. Not ideal that there's two copies to keep up-to-date, but it works.
Also, if the first forward slash is excluded (Sub reports/myReport.rdl), your reference is to look in a child folder. With the forward slash at the beginning (/Sub reports/myReport.rdl), your reference path is starting from the root folder of the SSRS web portal.
In case someone finds this years later. My current solution was to open the report using Report Builder. In that interface, you can set subreports to a relative path on the server and a different folder path than the main parent report. You cannot seem to do via SSDT or BIDS.
You can then download the main report into SSDT and bring it back into your project.
To run the report, you have to setup the same folder structure that the report manager has for reports in your projects Bin\Debug folder. If you do not do this, it will error asking for that folder structure to appear there.
That hack worked for me.
I've found a decent workaround by creating a symbolic link to your projects folder\bin\debug\full\subreport\path
Details and screenshots are here: http://www.andrewmosey.com/subreport-in-a-sub-folder-working-in-visual-studio-and-ssrs
Related
In report builder (SSRS) I have a parent report with a link via order_no to open a drill through child report. Is there a way to make the expression dynamic specifically the URL so it will call the report server where the Parent report is running? What happen to my report is that it was working fine in UAT because my existing setting is in UAT. Once I uploaded it to PROD, the parent report was ok but it was still re-directing to UAT for the child report.
="javascript:void window.open('http://UATSERVER/ReportServer/Pages/ReportViewer.aspx?/Order/Reports/Orderdetails" &
"&unit=" & Fields!Order_NO.Value &
"&rs:Command=Render','_blank')"
Tried other scripts I found in the other's advise but still no avail. My work around is to just edit the PROD with the PROD servername.
You can use =Globals!ReportServerUrl in your expression. This will return the server URL in the format
http://myServerName/ReportServer
This will only work when the report is deployed to the server, so it will return nothing when you run the report from Visual Studio etc.
From you comments it looks like you are trying to point to the _vti_bin folder but that does not make sense, that folder will not be on the server and it you are in your dev environment then there is no report server to reference.
Dears,
I am quite new with Report Builder, and also with SSRS so sorry in advance if I raise irrelevant questions. My goal, essentially, is to deploy a sort of SQL Monitoring dashboard (I just uploaded a demo picture of it, here the link 1 ), that is composed by a main report with some charts and toggled sub reports. All these sub reports are filtered by the SQL instance name, and other parameters like number of monitoring days, months etc...
Plus I make use only of shared datasets.
Now, if I deploy the whole solution with Visual Studio against my report server, it works perfectly and all the report parts are uploaded without any issue against the report site.
If I try to deploy the report using the report website manager (by trying to upload the whole solution file by file), it does not upload anything, even if I create first the data source and then trying to add the existing datasets.
If I try to deploy the solution with Report Builder (after having giving to it the target report server URL and an existing folder that starts with slash), the only option I have is to open the solution as file, and save it against the target report server configured. But then the annoying error appears even if I the path has less than 260 char and even if the path starts with the slash:
"Error: The path of the dataset "" is not valid. The full path must be
less than 260 characters long; other restrictions apply. If the report
server is in native mode, the path must start with slash.
(rsInvalidItemPath)"
What am I doing wrong? I thought that a tool like that, used also for publishing, would make the life easier, but apparently I may not know exactly how to use it.
Source files for shared datasets are lost/missing. Any way to generate these from the SSRS report definition that is referencing them?
Thanks!
You can just download them from the server again.
Go to you SSRS home page (Report Manager, or Web Portal as its known in later versions of SSRS).
You might need to show hidden items, then open the datasets folder and you will see your shared datasets.
Click the one you need and there are options to either download the *.rsd file or open it directly in Report Builder, either way you will have *.rsd file which you can either add back into your Visual Studio project or open in a text editor and get the command text.
We have a fully working TFS 2013 and have access to the default reports of the process template that we are using. Now we created a new report and try to make it appear in the team explorer of VS2013. Searching the internet indicated that the only possible option would be to download the process template, change the reporting part (e.g. adding the new report as default report) and then upload the "default" reports then via command line tool (tfpt addprojectreports ...)
Since changing (including adding) areas, iterations and other stuff can be done in the "live" system (without editing the process TEMPLATE), it is hard for me to believe that there is no way to add reports without changing the process template.
Does anyone know how to upload a new report? Of course, in the end we would like to see the report in the team explorer...
try http://yourReportingServer/Reports/Pages/Folder.aspx
then navigate via collection, project to the folder you want the report to show up in, then "upload file".
You can directly upload the .rdl file to SSRS of your TFS instance.
I am using SSRS 2008. Currently everything works find so long as I put all reports in the Reports folder of the Report Server Project in Visual Studio.
I attempted a work-around, which is to have multiple Report Server projects, each pointing to a different folder on the report server. This has the side effect of not letting me reference the sub report from another project.
So, is there a way of referencing a sub-report from another project and still have the ability to preview?
Is there a way to get sub-folders in Report Server project?
it's not built-in to SSRS; but there is a workaround. Simply keep the reports under one project (to allow the reference) and manualy control the deployment location per report.
If you go this route, you may want to look automating this by creating a deployment script using rs.exe
rs.exe
There are also some attempts at solving this on codeplex; but I haven't had a chance to take a look at this yet:
rsbuild
I know it's a long time since the question was first asked but, if anyone is looking for an answer these days like me here's what I was able to do.
Move all your reports into whatever folder structure you want.
Then edit your .rptproj file and find where your report item group is. It will look something like:
<ItemGroup>
<Report Include="Report1.rdl" />
<Report Include="Report2.rdl" />
</ItemGroup>
Just update those file names to be the full path like this:
<ItemGroup>
<Report Include="Folder1/Report1.rdl" />
<Report Include="Folder2/Report2.rdl" />
</ItemGroup>
Reload your report project and it works.... (well it does for me!)
So far everything seems to work for me.
When deploying your SSRS Report to SubFolders do the following:
TargetReportFolder => /Institutional Statements/Monthly Statements
Institutional Statements being the master folder for your solution
and Monthly Statements being the child folder within them.