Using Business Intelligence Development Studio, I am creating a report for SSRS that requires the user to add a few notes before being printed. The notes do not need to be sent back to the SQL Server that the report is being generated from, they just need to be included when the report is printed or exported. I have some other solutions including:
Exporting to Word for edit, then the user can manually publish to pdf & send
Including parameters for the note fields which involves pulling the report, then adding in the notes and lastly re-pulling the report again to include the data
But I really don't want to add the extra steps to the user's process unless necessary. Has anyone tried this before? I've been tinkering and searching and have had no luck.
Thanks in advance.
Input to an SSRS report comes from data sources and the parameters. Some server settings are applied, but all the per-report stuff is from either of those two places.
Based on the OP comment, I would add a text parameter that allows blank values. You can set a default value of ="" so that the report will run on first access. Then any text the users adds can be inserted into the report simply by referring to the parameter's value.(=Parameters!MyParam1.Value)
user is pulling the report first to analyze the data. So they would pull it once, then add the notes, and then pull the report again with the parameters added.
Related
I've two reports in my DB that I want to combine. Both these reports have various fields populated from preceding steps and a hyperlink that opens a form for further processing. The form auto-populates some of the fields using the data from the report with
=[Reports].[MyReport].[LineItemID]
I'm using a 3rd unbound form to put the 2 reports on a single screen (using simple drag and drop). The hyperlinks on both the reports don't read data from respective reports anymore. I tried using
=[Reports].[MyReport1].[LineItemID] to read from individual reports and also
=[Reports].[CombinedReport].[LineItemID] to read from the combined report but doesn't seem to be working.
Any pointers on this would be very helpful.
Thanks,
When you placed the two reports into the unbound report, you also created a control of type subform/subreport for each in the unbound report.
This you have to respect in your reference. You will have to check and use the names of these controls.
So if the control for the first report would have been named MySubControl1 this is your full reference:
=[Reports].[MyReport1].[MySubControl1].[Report].[LineItemID]
The extra .[Report] is included because you now also need to explicitly reference the content of the control (which in this case is a report) to actually have a reference to your embedded report object, and be able to reference the required LineItemID control within it.
I have changed the SSRS report names in my reporting server projects. I have four reports and four linked reports in this projects. The linked reports are being called by an action setup on a column value where the parameters are being passed to the linked reports. After renaming all the report names I have made similar changes in the Action property in order direct the parameters to the changed report name. I have also saved the changes and re-built the project and have not got any errors. All the four main reports are working fine but the linked reports are trowing the following error while running the reports using preview options in MS Visual Studio 2010
An error occurred during local report processing. Object reference not set to an instance of an object.
I have deployed this to my local report server and on browser I getting the following error
The item '/Unit Reports/OLDREPORTNAME' cannot be found. (rsItemNotFound)
Here you can see that it is still trying to locate it to the old report name not the new changed one.
I have clean, built and deployed the project several times but still getting these errors
Please let me know if I need to make changes in any other files to avoid this error.
Thanks
Within the .rdl search for "OLDREPORTNAME" and replace with "NEWREPORTNAME"...
Take a backup first :-)
I have noticed that when I implement the Action property on the report field, it automatically set-up the same Action property of that text box where the field was defined.
I have found that the text box Action property was still pointing to the old report. I have changed text box Action property to point it to the new report and now my linked reports are working absolutely fine.
Thanks
Yogesh
I have a report for which there is sometimes no data to output. This report is run along with several other reports and all are then output to PDF. However, this report still produces the header and footer with a blank page even tho there is no data.
I can move the header and footer into the report and have tried to hide those elements with =if(rownumber("PersonalProfile")=0, True, False) in the Hidden property of those elements. It hides everything so now the page is blank, but it will will output a blank PDF. Is there a way to completely suppress the report?
I'm using 2008 and I don't see a Report Visibility property. All the data for the report is inside a single Tablix which is inside a rectangle.
There are 3 datasets: PersonalProfile which contains the meat of the data; BoardNames which just produces the name of the board for the report; BoardMeetings which allows the user to pick a date parameter.
If you are distributing your report using subscriptions and you have Enterprise Edition, then you can look at using Data Driven Subscriptions which will give you control over how and when reports are distributed based on whatever logic you need. Otherwise, there is no way to do what you are asking - as trubs says, Reporting Services must first render the report before it has any knowledge of whether there is any data to display.
You haven't explained how you are "running the reports" (e.g. manually in Report Manager, report subscription, third party app using URL access) - if you do perhaps someone can suggest a workaround.
There is no way to do what you want. ssrs has to produce the report in order to determine there is nothing to display.
I am making some changes and need to change the DataSource for my report. How can I do that without losing all of the work I have done? Assume the field names are the same.
Update: The reports are still in Visual Studio and I need to change from a TableAdapter to a DataTable which I will fill through a class.
Update 2: Currently it is using fields in CustomerService_report_vw_ServiceRequest, I want to change that to CustomerService_ServiceRequest. I am seeing this in the expression editor. So when I select the Fields option in the Expression Editor, I want to see the fields in CustomerService_ServiceRequest.
Does that make more sense?
Update 3: So if you add a field from the other DataTable, you can switch your DataSetName to the new one. Now, how do I remove the old one?
I manually edited the *rldc file in a text editor and edited the XML therein to removed the DataSet.
If you already have the reports uploaded to the report server, the simplest thing would be to go into the properties of your report and then configure the data source information in there.
More information: Setting Data Source Properties in Reporting Services
So I have a report in Reporting Services 2005. In it is one parameter (ConnectionString) which determines which data source the report will use. It also has several other parameters which are dropdown lists derived from the data source chosen in the ConnectionString parameter.
In Report Manager, this works great. All of the dropdowns are greyed out at the beginning. When you choose your data source, the page requeries/repaints and all of the available parameter values for the other parameters are filled in based on the queries for those fields.
However ...
In the ReportViewer web control, when the report is first loaded up, instead of dropdown boxes all of the other parameter fields are just empty textboxes. Choosing a different data source for the ConnectionString parameter doesn't requery/repaint the other parameters.
I've been flipping through the ReportViewer programming reference to see if there's some way to replicate the Report Manager's way of reloading the webpage with the report viewer upon certain parameter changes, but I can't find anything there that isn't over my poor little .NET head.
Any ideas?
Not sure if this is any help but I do have a suggestion. I would try pulling the logic for dropdown boxes out of the report and put them in an ASP.net page. Then pass the parameters to the report and control the rendering/refreshing.
HTH
UPDATE: So it turns out you must provide a default value for any parameters which in turn affect other parameters in your report in order to get the dropdown box to load properly on initialization. Also note this is recursive - so if you have a parameter which affects another parameter which affects another parameter, both the first and second parameter must have default values.