I have a requirement to schedule individual run for a report for each possible database values for the customer parameter. So, if we have 1000 customers in the customer table. The report needs to run an instance for each customer value - i.e a 1000 versions. This needs to happen once a month. Please suggest on ways to accomplish this dynamically.
Create a Crystal Report that supplies id, full name, and email address (the names don't need to match):
Add report to Enterprise.
Create new Publication:
Select dynamic recipients, Crystal Reports, then the report that you published earlier:
Map the report's fields to the interface:
Configure Personalization:
You need a data driven reports - run a query and then run a report for each record returned by the query. Check R-Tag (www.r-tag.com). Their scheduler supports data driven reports. They have also a free community edition just for Crystal reports, which may support this feature too.
Related
In Crystal Reports, what is the correct way of linking a parament subreport to the main report so the subreport does not run separately for each row of the main report?
The subquery (called paragon on the screenshot) is placed in a Group Header and it's linked to the main report with two parameters:
The main report returns about 300 records and watching it run, I can see that the subreport is run separately for every returned record which takes a fair bit of time.
If I run the SQL, which looks something like, directly say from PowerPivot,
with cte (select membership_info
from server1)
select appointment_info, cte.membership_info
from server 2
it only takes a few seconds to run. Unfortunately, because of REASONS (completely beyond my control) the query has to be run and formatted using Crystal Reports and it's scheduled to be run at regular intervals.
is there a better way of linking the report to the subreport, so the subreport executes only once?
Subreport should fire once for each instance of a section you place it in (GH3 in your case). There is no way around that. But there are alternative approaches...
For example, why not simply join the membership and appointment tables in the main report? You can suppress the appointments detail if all you need is some summary info...
This is a little bit of a stretch, but we're trying to convert old reports in an increasingly unstable Access Database and I have a question.
Here's what the report does in Access currently:
The user gets prompted for one of our many Suppliers in a drop down style list
Once the supplier is entered, that Suppliers list of parts will be populated
The report then pulls an email address from our system (IFS) and emails the list that has been populated to the email in our files.
We've made a SQL Query that will pull in the information that we need to replicate the report, but we're at a sort of cross-roads with how to get it to automatically go through the list of Suppliers that are in the Parameters and send off the email to them all automatically.
Would there be an easier way to do this in Crystal Reports (2011) besides automating the report and selecting all the parameters manually or in Oracle SQL Developer through maybe a WHILE LOOP?
Thanks in advance, and if you need any more information, I'll try and clarify!
This looks like a data driven report ( publication). You will run a query to retrieve the list if suppliers and their emails then run a report for each record returned by the query. Let say you have a report , which accepts a parameter SupplierID and the query returns data like this
SupplierID SupplierEmail
ID=1 email=supplierA#mail.com
ID=2 email=supplierB#mail.com
ID=3 email=supplierC#mail.com
The software will get row #1 and will use ID=1, as a parameter for Suppliers report, will export the report and will send the exported file to supplierA#mail.com. Then it will move to the next row and will use ID=2 as a parameter for the next run of the same report, export it and send it to supplierB#mail.com. The same will happen for row #3. You can check also this video, which demonstrates the proces: http://www.r-tag.com/Pages/Preview_CreateBatchJob.aspx .
Because the values for report parameters, emails etc are returned by the query this approach is known as data driven report ( publication).
Data driven publications are available in SSRS if you own SQLServer Enterprise license. There are other types of software who support them. The sample video above is from R-Tag, which could be useful too and supports SSRS, Crystal reports and SQL Ad-hoc queries. If you use Ad-hoc query you can export suppliers data to Excel without creating a special report.
I have a report that displays data for a specified date. The report runs daily and emails a copy to the recipients. The default subject for the email is "#ReportName was executed at #ExecutionTime." Rather than include the execution date, I want to include the date of the report data, which is available in a parameter called #date.
How can I include a report parameter's value in the subject line of the subscription email?
I'd recommend looking into data-driven subscriptions. Basically they allow you to write a query to set your parameter value(s) and define additional columns that can be used for subject line, message body, etc. Here's one helpful resource:
Data-driven subscriptions in SSRS 2008 R2, which includes some additional info to keep in mind when using data-driven subscriptions
Also, I should point out that data-driven subscriptions are only available on certain versions of SQL Server (Evaluation, Developer, Enterprise).
Including the values of report parameters in the subject line of an email subscription does not appear to be possible with SSRS. Data-driven subscriptions allow you to build the subject line dynamically at run-time, but it does not let you query and insert the parameters into the subject line. From what I can tell, this is just not possible.
It should be possible by not using subscriptions, but e.g. from SSIS to
* render the SSRS report and save e.g. as html file,
* create an e-mail and put the file from the report either into the body or as attachment,
* and set the e-mail subject. This bears again the challenge to read out a value or parameter from the rendered report, where I presently don't have an answer. But here you have all means including .net available, so should be possible.
Mike
The parameter values are found in the Parameters field of the dbo.Subscriptions table in the ReportServer database. If you update the ExtensionSettings field's subject section with values from the Parameters field, you can achieve this without purchasing the enterprise license. Just remember that ExtensionSettings is ntext so you will need to CAST to NVARCHAR(MAX) to do your REPLACE() statement.
I used to create crystal reports by going into database expert, selecting tables and specifying the link manually. As I get a bit more comfortable with CR, there is a need for me to put the underlying SQL query into a store procedure to provide data to the report. But doing so will require me to rewrite the whole report which is time consuming.
So, my question is if there are any guru in the community that could and/or have tried to replace the underlying SQL (created by manually add table and links) with a store procedure or cmd without having to rewrite the whole report? I would love to get some hint of how to do that as I have a couple dozen of reports that need "adjustments" and time does not permit me to rewrite them all.
My Crystal Report versions are CR 2008 and CR 2012.
Thank you in advance.
In case you can use an existing software : this feature is available in a free Crystal reports viewer. Here is the documentation, which explains the use :
http://www.r-tag.com/Documents/RTag%20DataSource.pdf
... and here is where you can get your free license:
http://www.r-tag.com/Pages/FreeCrystalReportsViewer.aspx
Crystal does an absolutely horrible job of migrating from many tables to a single DB object, be it a Command or stored procedure.
You might be able to Database | Set datasource location... to map your SP to one of the many tables in the report (choose the one that has the most fields in use); I've never been able to get this feature to work trying to map a Command to a table.
'Best practice' for a really-poor 'feature' set:
create a formula field for each field that will be on the canvas, but isn't grouped (these fields won't be removed when you change datasources)
add the Command to the report; link tables if desired
manually switch grouping, record-selection formula, sorting, etc.
I am new in using crystal reports. I already tried to create a report but it doesn't look like what I wanted. What I want to create is an individual report of each employees where it displays their information like name, age, birth date, address, etc.. But then, crystal reports will display all reports of each employees in a single document. Is there any way that I could make each employees information to display in a single document like I could use an arrow to navigate to next employee information if I want to see their report?
By the way, I used Microsoft SQL R2 in getting data for my reports. Thanks.
hi the question is not clear..as my knowledge i suggest..that if you design
the crystal report of one employee in single document and attach stored procedure to that
report your problem is solved ..you will get every employee details in a serial order this is the answer if i understand your question correctly,if not can you please repeat the questi
on with changes which i can understand
thank you