Difference between Drill Through and Linked Reports in SSRS - reporting-services

Could anybody explain me the difference between Linked reports and drill through reports in ssrs (version 2012)..
Been through several videos and a bit confused as in terms of functionality both look similar...linking one report to the other(parent-child) by passing a parameter from one to the other..
So what's the difference.. whether or not functionality-wise or just in terms of a business requirement..?

Drill Through Reports: The word "drill-through" indicates that we can drill into a specific value on one report for getting additional information from another report. For example, consider a scenario where you have two reports like Orders and Order Details. The Orders report has a list of all orders with OrderIDs and the OrderItems report is a separate report which displays the details of an orderID which is passed as a parameter to the report. You can set up these reports in such a way that when you click on the OrderID value of the Orders report, you can pass this ID value to OrderDetails and open this report to see the details of this order.
This is how drill-through report work. The two report can be different or same reports and they are not dependent on each other.
Linked Reports: Linked reports are usually created from a report manager only. Linked reports are not developed from BIDS or Visual Studio. Hence, they do not have a .rdl file. Linked reports are usually created from a parent/base report. The base report may have multiple parameters. When you create a linked report, you can create a separate report from the base report with fixed parameter values.When you make changes on the report design on the base report, the same changes are automatically applied to the linked reports also.

Related

SSRS - Two different reports in one Excel?

I am pretty new to SSRS, so forgive me if I am asking something that is either obviously not possible (or easy) - I haven't found what I am looking for so far!!
I have a Detailed report, which splits by group onto multiple Excel tabs (pages). I also have a separate Summary report which outputs onto one page.
I want to merge these two into one report, so the users receive just one email, with tab 1 showing the Summary report and tab 2 on wards showing all the Detail.
The datasets come from two stored procedures and whilst related, they are different so I can't use the same dataset.
Is this possible in SSRS?
Thanks
Mark
Take your Detailed report and insert a subreport at the start of it. Set the subreport properties to point your Summary report.
If you have any manually set parameters in the Summary report, you'll need to set them up in the Detailed report (if they don't already exist) so you can pass the parameters to the subreport.
Now you have a single report with everything in.

Add a Filter to SSRS

I need to add a filter to a Report, that within anotherreport, the filtered results appear in the drilldown report.
For example: An .rdl file displays the first report, in that report a link can be clicked to access another report (.rdl) file. The report that displays after clicking link should be filtered by option selected from the first report(.rdl).
How could this be done? My thought that two datasets in each report could provide the information for the filter, however the filter expression is not valid this way...? I know this may not be the best way to do this.
So creating a drilldown report would be more acceptable. Creating one report and including a dataset with it by setting parameters to be called in the drilldown.
Does there need to be two datasets for each report to do this? I was assuming that the filter expression be written to do this: Field!.name.value AND Field!.name.value, etc to the whatever value I need to compare to or by.
Could this be a shared dataset to do this?
I was able to solve or partially solve this. I created a new report, with a query with the necessary columns that I needed in report 2. The drillthrough report(report 2) is linked from a textbox from a report allowing a user to view the information they need by clicking a link that displays the new report(passing the parameters from report 2 to the new report). If anyone has trouble with this, the simplest way would be to create one report and pass parameters to report two with parameters created from whatever query you want to use that has the values you want as columns in the report.

How to pass parameters to subreports?

I have 5 reports that all have 2 parameters: startdate and enddate.
select * from table where date between startdate and enddate
This is a simplified version of what I have, but for this problem, it should work.
I need to have all of the tables in 1 compiled report and link all of their parameters. I think I might be approaching this problem incorrectly. First of all, the server that I'm publishing the report to is SQL Server 2008, not SQL Server 2008 R2, so I don't think I can use report parts (correct me if I'm wrong). Because of this, I thought that the best way to approach this would be to use subreports. I created a new report that will contain the other reports as subreports. In the subreport properties, I set startdate equal to:
=Parameters!startdate.Value
Startdate exists in the new final report and it has a default value. I did the same thing with enddate. However, when I run it, I get the error "One or more parameters were not specified for the subreport, 'Subreport', located at :/Subreport."
I'd really appreciate any help with this, and I apologize for the length of this post. I tried to find this online, but I couldn't, so I finally made an account so that I could ask this question.
Edit: I never found the solution to this problem, but I achieved the result I wanted by just copy and pasting the tables and adding the respective datasets to the main report.
First, you have to define startDate and endDate in your main report as well as all reports that will be used as a SubReport. I don't think you are mapping the paremeters. SSRS will not auto-map same named parameters.
Add a SubReport component from the toolbox onto your main report
Right click on the SubReport and select sub-report properties
Select the Parameters list view item from the left hand list view
NOTE : If the SubReport is contained in the same vs project as your main report you should see the available SubReport parameters.
Map the name of the SubReport parameter to the value of your main report's associated parameter.

SSRS 2005 page break per report

I have a specific type report that I need to generate multiple copies of. What I want to do is pass a string of report IDs to SSRS and generate all of the individual reports (let call them subreports) with those IDs in one master report with each subreport on a new page. I've already tried making a subreport and placing it in a table with grouping. This worked the closest so far. It gave me all the pages I needed, but it generated the report for the first ID number over and over. Is there anyway to do this or am I gonna have to jump through a lot of hoops?
If you are passing the string of report IDs to a parameter on the master report, I think using a table and subreport should work. You'll need a way to split out the report IDs using a dataset on the master report and return them one per row (so you can pass each report ID individually to the subreport via the details row of the table).
I was going to recommend a table-valued parameter for this, but since they don't exist in SQL Server 2005 check out Arrays and Lists in SQL Server 2005 by Erland Sommarskog for a few other options.

SSRS - How to render child datasets

I'm designing a SSRS report in Visual Studio for use as a local report (so a SQL Server is not involved).
I have a table with customers/addresses that has the following columns:
AddressID
Firstname
Lastname
Street
Another table keeps orders and looks like this
OrderID
CustomerAddressID
ShopAddressID
So two columns from my order table link to datasets in the address table. I want to display both addresses in my report. The datasource for the report is a xsd dataset.
What's the best way to do this in SSRS? I'm pretty new to SSRS and kind of lost with the dataregions, lists, etc.
You should edit the source for the second dataset to include a parameterized query based on the first one. Something like:
SELECT * FROM other_table
WHERE CustomerAddressID = #adress
OR ShopAddressID = #address
Of course you should create the address parameter as report parameter(pointing to the first dataset)
Hope this makes sense.
Look at subreports.
To be a bit more specific, you need to define multiple data sources in your report that these other regions, tables, or whatever, obtain their data from. You then need callback handlers in your app that can provide that data for each datasource (quoting: "your application must handle the SubreportProcessing event of the LocalReport object.". The article explains this in detail.
Just curious (because I am going to through the same thing right now) - are you really designing SSRS reports (2008), or VS reports (2005)? Because the 2008 ReportViewer control cannot render SSRS 2008 reports ....