Right now I have an application which uses Reporting Services to render reports.
This is working nicely, I call each report with a given value (e.g. a ClientId), and the report gets rendered correctly.
However, what I'd like to do now is being able to send multiple ClientIDs to the report, and would like to get 1 pdf file with count(ClientsIDs) pages, each containing the report, according to the ClienID.
How is that possible? I don't really know how to name what I want to do, so I don't really find answers on the net right now. Maybe someone has a tutorial for me?
Thanks in advance !
I believe what you're looking for are multi-value parameters. You could create a new "main" report that contains a multi-value param to accept your client IDs. Then use a subreport as Martin already mentioned to generate your current report for each client ID.
Here's the MS page on multi-value params: http://msdn.microsoft.com/en-us/library/aa337292.aspx
And I wrote an article about using them with a stored proc: http://blog.hoegaerden.be/2009/11/21/reporting-on-data-from-stored-procedures-part-2/
Even though in your case you may not be using SPs, it should help you to understand how these params work.
Related
Guys I am working on getting data as tables from QuickBase using Requests library (Python). I found somebody doing it using the URL of the report, but he added two parameters to the URL like that:
&dlta=xs%xx&ridlist=xxxx.
Can anybody please tell me what are those two parameters, I searched for them in the internet but found nothing related to them.
I've been using Quickbase for over ten years and haven't seen documentation for either of these parameters. I have noticed that ridList seems to be used by Quickbase's grid edit view of reports (I suspect it's an ID for a server-side cached list of record IDs to display especially when using the type-ahead search of a report before choosing to grid edit) and dlta is used in the "Download report as CSV" button.
That example you're following may have simply copy and pasted a link generated by Quickbase as a hack to get a CSV instead of XML response. I recommend following the Quickbase HTTP API Reference instead. If you don't want an XML response, Quickbase also has a JSON RESTful API which may be easier to work with.
I have been exploring Azure Form Recognizer for one of my project where we wants to perform OCR on some hand written texts.
The problem is that when we give scanned images to the tool to process, it some time doesn't even recognize the text written on it (even if it is clearly written). I tried multiple type of images by performing enhancement on it and also the B/W or colored copy of it but it doesn't works.
Some times it recognize value of two fields as one and this leads to incorrect data where one field is completely blank and other is having value of other one along with its own.
When there is NO VALUE in the tagged field in the testing data, it try to read the from some other place which is not even closer to that field or sometimes un-tagged
Could you please help with these queries.
Thanks in advance.
Can you please share also sample forms please make sure data is anonymized and without any real data ?
Please contact customer service to debug this issue.
Thanks,
Neta - MSFT
I am extending an existing app to host SSRS reports with an ASP.Net WebForms ReportViewer control. There are a large number of existing reports. That would not be a problem except that we also need to pass another parameter to each report.
Someone on our team suggested that we might be able to add another parameter and SSRS would pass it along to the stored procedure associated with each report. Not knowing anything about reporting services I looked into it.
I tried the following:
private void AddNewParameter(Report report)
{
var reportParameters = new List<ReportParameter> { new ReportParameter(paramName, "foo", false) };
report.SetParameters(reportParameters);
}
The call Report.SetParameters() complains about the new parameter not existing on the report. The MSDN page for SetParameters() has a note near the bottom that says:
"The parameters specified for the SetParameters method must be defined in the original report definition."
Can anyone confirm the sinking feeling I have that all of our reports must be changed to take the new parameter?
The approach you are attempting is going to be a dead end. Sorry. Sinking feeling is confirmed. However...
If there are a ton of reports then you could probably work out an automated approach to update them all by modifying the underlying Report Definition Language. The link I just posted will take you to the TechNet article that has further links to the actual schema definitions for each version etc.
RDL is really just XML, to quote the TechNet article directly:
RDL is composed of XML elements that match an
XML grammar created for Reporting Services. You can add your own
custom functions for controlling report item values, styles, and
formatting by accessing code assemblies within report definition
files.
Only you could weigh the work of developing this type of solution vs the manual approach.
To get an idea of changes required:
Save copy of one report.
Modify the report with changes
Compare modified rdl to original (BeyondCompare, notepad++, whatever)
If your comfortable with parsing XML, then reproducing the change across remaining reports would be entirely do-able.
I have a Crystal Report used in an ASP.NET web application that I've just come into a project I'm assessing/turning around.
The reports are called from a web page or web service and are sent an ADO.NET dataset - using ReportDocument.SetDataSource for some tables with a relation etc - all defined largely in code - initially loaded from the database, but it looks like some data is even altered after load in the datasets. (don't ask)
I have several XSDs (and a whole bunch of source repository history) but none seem to match the report, and trial and error to find the right one is taking way too long.
I have added some data in the code, but I cannot get the report to allow me to add fields until I update the report data source, but I don't have the original XSD to point it to. I have to get the report updated to solve immediate needs and then I can address the strategic direction of refactoring this design/architecture.
Is there a way to extract the XSD from the Crystal Report?
In the end I used ds.WriteXmlSchema() to write the schema to a file and then pointed the report at the file to fix it up.
I have got a task regarding parameter passing to Crystal Report via Crystal Report, I would like to find best way to achieve it.
Imagine that I have got parameterized and non reports-parameterized. I am developing a report manager that will enable users to subscribe to the reports and schedule them with their parameters. I have got a subscription web page with the list of reports. When a user wants to subscribe to a report and schedule it, if there is no parameter in the report, it is fine but if there is any parameter that needs to be passed to the report(which we can find from rpt file), user should be able to enter these parameters values via a panel in the page. and I will save those parameters' values to the database.
Effectively, I need to create a parameter entry panel to get the parameters and save them to the database with their type, value and so on, then I need to use these parameters programmatically for exporting reports to the different file formats.
Basically, I must develop parameter entry panel run time in accordance with the parameter types that the corresponding report has.
Does anyone have any idea what the best way is to achieve it?
Thanks for your help from now on and please ask for further clarification if needed/
Kind Regards.
You could use BusinessObjects Enterprise, but that will be expensive.
Otherwise, you will need to build your own parameter control. The control would interrogate the report, determine what types of parameters that it contains, then build the control's UI accordingly. It would need to maintain state between post-backs, capture and display the default values and current values collection for each parameter.
I started building such a control a few years back, but never completed it. It's quite a bit of work as you might guess.
In a comment on you're question you asked what would be suggested instead of Crystal Reports so I figured I'd offer up SSRS. If you are using SQL Server, I'd recommend that you look into using SQL Server Reporting Services. Though I believe that Crystal Reports are more robust (possibly just because I know them better), I believe that a lot of the subscription, scheduling, and parameter handing is ready to go after the initial configuration.
I'm not an expert on SSRS so maybe someone with more knowledge will edit my answer with more specific details. Hope this helps.
You can open each report as a ReportDocument object, then enumerate through the ParameterFields collection to evaluate the names, types and other info on each. With that info you can generate your parameter entry panel.