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.
Related
Let's say I have the following data:
In my SSRS report I have a parameter that prompts for MainID.
Now If I put MainID as 1, I should get one report. If I put MainID as 6, I should get 3 reports. Is there a way I can generate these reports dynamically using SSRS? Thanks.
I would approach this by creating a report that uses a List control, and has a page break between each item that you use to group by within that List. One report, a different page for each item of interest, SubID in this case.
Create a new report with an empty body.
Add the Data Source(s), Parameter(s), and Dataset(s) that are needed.
Add a List object to the body. Drag and drop it into the body from the Toolbox.
Set the Dataset for the list to the one you are using to return the data you have listed in your question.
In the Row Groups pane of the Visual Studio report designer, right click on the Details row, and choose Group Properties. On the General page, click the Add button under Group expressions, choose SubID from the Group on dropdown.
While in the same dialog, go to the Page Breaks page and check the Between each instance of a group option. Click OK.
Add a Tablix inside the List. This is what will show your data.
Add some fields to the Tablix. Add Detail and Notes, for no good reason on my part.
Run the report. If you have setup the data source and data set to properly run and filter base on your parameters, you should see something. Maybe an empty report.
Now (based on the data you provided), if you choose 1 for your MainID parameter, the report will display one page, but if you choose 6, you will get 3 page3, or however many records there are related to the parameter value for MainID in the database.
One report, multiple pages depending on the parameter/data. It's not a 3 different reports solutions, but something that could work for your situation.
I have the requirement to generate chart in SSRS 2008 and clicking on specific region of chart I need to generate sub report. I am already done with pie chart and the report but not able to generate the sub-report dynamically
I need to generate different reports when I click on different bars in bar graph
can anyone help with that
A Subreport is a report already embedded in the report.
I think what you want is actually a Drill Through report where you click on an item and a new report pops up showing you the detail of whatever data you just clicked on.
You'll need to create a new report with a table. If your query has the detail you need, you can re-use the same query otherwise you need to create a query to show the detail you want.
You'll need to a parameter to filter for the value you select from your chart. Your chart says Emp_ID but I am guessing that's just a count and you really want the text from the X axis (i.e. Deliver Client projects... ) - your employee's Experience.
When you've created the drill through report with the parameter for the field, go back to the main report and add an ACTION. Specify your new drill through report, Add the parameter by selecting it in the Name drop down and select the field you want to get the value from (the category Group field from the bar chart).
Now when you click on a bar, your new subreport will open with the detail filtered by the field you click on. If you click on the bar for Delivered Client Projects and proficient, your new report with a table of the 31 employees will appear.
Here's some more detailed info:
https://technet.microsoft.com/en-us/library/aa337477(v=sql.105).aspx
https://msdn.microsoft.com/en-us/library/ff519554.aspx
You need to have already made the sub-reports and set your chart elements to load that report on their click through properties - You cannot simply generate a report by clicking on a report element.
If you want to go to different reports depending on data behind the pie chart section that is clicked on, you can set that up either in your original dataset with a column for which report to load or you can add a switch statement in the expression for the address of the report to load. To handle your parameters, this is probably easiest done with URL addressing.
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.
All,
I've been working on a custom timesheet report that uses multiple datasets (8 to be exact). Each dataset selects the data by the same ID field which is currently input as a parameter. It works great like that. But now I'm told that the end user wants to input a date and have all the reports printed out for that date rather than having to enter in an ID each time. Each timesheet is 2 - 3 pages. It is intended to emulate a form and contains some data but a lot of blank areas to allow the field people to write in any changes that have occurred.
My question, is this: what is the best way of accommodating the new requirement? Should I build it all as one big dataset and use the date as a parameter?
Should I create a wrapper report that would prompt for the date and then use the existing report as sub report? Would that even work?
Is there any way I can just create a new date parameter and put that ahead of the ID parameter and get them to print out like that? I've got a few hidden parameter fields on the body that get used in the page header and are used to link some of the datasets.
any help is appreciated.
Easiest way to achieve this is indeed by creating a wrapper report with the date parameter. The data set in this report will then fetch all items (with ID) that match the query by the user. The report can then have a list for that dataset, with the original report as a subreport. If you pass the ID parameter from the dataset to the subreport you wouldn't need to change hardly anything in the original report.
Two things to watch out for:
the Report Header and Footer in a subreport are not rendered - these are only rendered for the wrapper report
you may need to tweak your page breaks in the subreport and on the new list in the wrapper report so each new form starts on a fresh page
I am creating a report where the parameter selection = customer_name and the report is one page and has 5 tablix relating to the customer. What my team would like is to be able to select more than one customer at a time to save time; however they want a separate page per customer_name. Can this be done with multi-value parameter and if so, how do I group so that the data does not comingle with each other?
Ex.
ABC Customer
RentTablix
ExpenseTablix
PAGE BREAK
EFG Customer
RentTablix
ExpenseTablix
I am over thinking this??? Please help ;-)
On the report parameter enable the multi-select option. Pass this through to your reporting procs ensuring it's handled properly (I think it's a comma seperated list). In the report add a list control and put all the tablix control into the list area. Set the grouping on the list region to be base on customer and specify a page break on change of customer in the list control.