ssrs multivalued parameter that selects which reports to execute - reporting-services

In an SSRS 2008 report, I would like to be able to allow the user the option of selecting between 1 to 30 different ssrs reports that they would like to run as a parameter value. Basically when the main report starts to run, I would like to allow the user the option to pick which report(s) they would like to run as a multivalued parameter. This would be different than a user clicking on a link that would call a subreport or click on a link that would call a different report.
Can you tell me if the above option is possible in SSRS 2008? If so, can you tell me how to accomplish this goal? If this is not possible, can you make any recommendations on other possible options on how users can select which report(s) will run and tell me how to set this up in SSRS 2008?
If this option is not available in ssrs 2008, is it an option in SSRTS 2012? If so, can you tell me how to make the multiple report selection option a possibility?

Here is one way to go about it.
1. Create a main report with you multi-value that has values A and B.
2. Create a sub report that contains Report A and B as sub reports with a parameter that accepts multi-value.
3. Perform rendering logic created in step 2.

Whether you decide to use sub-reports or a group of tables you can display or hide them by adding an IIF expression in each tablix's (or subreport's) visibility properties.
=IIF(Parameter!ReportOption.Value=1, FALSE, TRUE)
...where ReportOption is the parameter your user clicks on to choose which report they want to see. Add this parameter by going to the Report Parameter Properties and entering your list of reports (via Available Values).
Example
Label: Report XYZ | Value: 1
Label: Report ABC | Value: 2
Side note: If you decide to add a table for each report you'll need to add its respective datasets/datasources.
Hope this helps.

Related

SSRS Create As Many Tables As Needed (Using One Dataset) Based on a DataSet Field

I have a query that returns relevant data about inspectors and how long it takes them to respond to issues. The only parameters are a BeginDate and EndDate so for any given date range there could be anywhere from 0 to 100 inspectors.
I am using only one dataset and it contains an "Inspector" field that I'm hoping can be used as a filter to create as many tables as there are inspectors.
I know you can set filters on tables but from my (limited) SSRS knowledge, you must already have the tables created and the filters are typically hard-coded. What I need, is some way for the report to see how many Inspectors there are in the dataset and group those records into their own tables, repeating the same one created tablix over and over as needed.
This is being done strictly in SSRS 2012, not using a ReportViewer where back-end code could help me out unfortunately...
I don't have any code examples to provide, like I said I know you can do filtering but I am at a loss when it comes to doing something like this dynamically based on data... Sorry.
Depending on the report design you could either...
Single report with grouping
1. Create a single tablix.
2. Create a row group by Inspector and then add whatever fields you need to the details section.
3. You can optionally set page breaks between instances of your Inspector rowgroup from the rowgroup properties.
Sub report method
1. Create a subreport that accepts a parameter (InspectorID for example).
2. In the subreport filter the dataset using the parameter passed in so it only return data for a single inspector.
3. Add whatever controls you need to the report to handle a single Inspector
4. Create a main report
5. Add a dataset that gives you a simple distinct list of Inspectors, this will be used to pass parameters to the subreport.
Lets assume it just contains a list of InspectorIDs.
6. Add a list control to the report and set it's dataset property to the dataset that contains your list of InspectorIDs
7. Right-click in the list control's 'cell' and insert a subreport.
8. Set the subreport property to the subreport you created earlier and set that parmameter IsnpectorID to your InpsectorID field.
This will produce a subreport for each instance of inspector it finds.
Sorry about the format of this answer, in a rush!

SSRS Drill Through using multiple values

I am trying to add a drill though from my main SSRS report into a detail report and cannot figure out how to pass multiple values. The report looks something like this...
Loc Tech #ofCalls
1 Bill 23
1 Jim 20
The # of calls is a count of the individual call records. I want to provide a drill through into a report I have that displays the details of each of the calls. I need to pass the multiple CallId's for that technician and location into the subreport when the user clicks on the # of calls. How can I achieve this?
Drill through reports and subreports aren't the same thing. Subreports get the data at the same time as the main report, while a drill through report links to a completely separate report once the user clicks a link, button or image, and retrieves the data.
It sounds like a better approach, would be to create a separate report, that would accept perhaps a Loc and Tech parameter, and returns all of the details(calls) based on those parameters. Basically what you have in your main report, but rather than doing a COUNT on the #calls, simply return the details.
Then in the main report:
Right click on the textbox, or link for #of Calls
Go to Properties, then Actions
Under enable as Actions, select "Go to report"
In the Specify Report drop, select your newly created call detail report.
Under the parameters section, add possibly the fields from your main report as Parameters, Loc and Tech.

Is there any way to hide SSRS report paramteres using expressions?

I have created one report in SSRS-2012. I need to show/hide(not inactive) one parameter based on one formula. Is it possible. I am using Visual studio 2010 for my front-end development and report viewer control for showing the report.
Help me please
Currently there is no way to dinamically hide parameters in SSRS. Depending on your requeriments you may have two ways to handle this issue.
Create one subreport for all parameters and another subreport that does not include the parameter you want to hide, then show dinamically the subreport to the user based on your expression.
Other option is have another parameter set as internal. And conditionally populate that parameter based on your expression. If your condition yields true, populate the parameter with the user selection, otherwise use a default value or populate it to null. At presentation level your parameter keeps appearing but the user selection will take effect only based on your expression.
I think the second option is easier, let me know if you need further help.

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.

reporting services, have two reports in rdl

I have a SSRS 2008 report that shows some information based on a start date.
I would now like to add another instance of the report to the same rdl, with a different start date.
How can I add a second instance of the same report to the rdl file? There doesn't seem to be a way to copy and paste it in.
The dataset is the same, just a parameter value changes, but both need to be shown on the same report.
Your question sounds a little confusing, because you're talking of "a report in an rdl", but an RDL is a report. What you should probably be looking into is creating a subreport. You can create a "master" report that holds the subreport either exactly twice (2 times) or in a list (n times).
The business case around your start date will determine which option is best for you. If you just have a master report with merely two subreports right below eachother, you can hard-code the parameter "start date" for both subreports. In this case you don't even need a data-set in the master report.
If you need or want to be more flexible use the other option with the subreport in a list. You could create a dataset with a column "start date" and bind that to the parameter for the subreport. This way it's easy to extend the setup to show the report three, four, or n times.
In any case, either option allows you to minimize copy/paste action, which is a good thing.