Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations gkittelson on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Hit Database once / Report and filter many?

Status
Not open for further replies.

DanERAC

Programmer
May 26, 2006
2
US
Hi Everyone,
I am using Crystal 10 running against Oracle 9i and I have a reporting scenario where we want to avoid hitting the database multiple times for report data requests (i.e. refreshing or running reports against the database) The ideal scenario would be to run the "Summary Level" report to return all data and then return only the piece of the report that interests a particular user:

Report Example:
Group 1
Region 1
Region 2
Region 3

Group 2
Region 1
Region 2
Region 3

Group 3
Region 1
Region 2
Region 3

In the report scenario listed above, a user only needs to see Group 2 information, is there a way I could conditionally suppress information not related to Group 2 without refreshing the data. This way the user would not see the Group 1 and Group 3 information. Next if a user associated to Group 1 logs in, the same filtering for their group would apply?

Basically run the report to hit the database once and then report multiple times?

I do have Crystal Enterprise and the end result will be a report used to display in a Java product.

Thank you for any guidance on this!!!

DanERAC
 
It doesn't work precisely as you suggest, and saying view the report once isn't descriptive, do you mean you'll run it once a day, once a week, once a month, or once in the life of the report?

A more common scenario would be to schedule the report to run 3 times in CE, then they can log into CE and view the results.

There are other potential solutions, such as report bursting, wherein a report is run one time but each subset of the data is cut to different destinations, this however requires 3rd party products.

-k
 
Thank you for the information, unfortunately these ideas will not accomplish my goal. I will need to have the report run once a month and allow users to only see information related to their "user id's"... It seems the only way to do this is to run the report for ALL data, creating an unfiltered instance of the report once a month, store it on the Crystal Server, then through Java, limit the data viewed by the userid security. This would make the report very fast, since it has already rendered the full report, however I wanted to do the majority of this with in Crystal Reports and Enterprise. I think I'm just out of luck.
 
I would suggest running 3 scheduled instances with the appropriate credentials for each.

No external code required, and you'll have historical instances.

Another option would be to use Crystal Business Views:


I'm opposed to embedding business rules in proprietary layers, but if you're going to write custom code anyway, which is worse still, this should prove simpler.

-k
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top