Solved

Working within groups conditionally

Posted on 2012-03-30
226 Views
I simply cannot wrap my head around working within groups. Can someone explain to me how limiting formulas to just what's inside groups works? What techniques/tutorials can you share that would shed some more light on this subject?

My problem is that I have a report that contains data grouped by Patient Name. The report's group header needs to show if Document A, B, C or D is due or needs to be signed.

1. If Document A has not been created for the patient of the group, then show "Create document A"
1a. If Document A was created, but not signed, show "Sign Document A"

Note: I would also need to be able to show messages based on name of document, user of document, not just dates.

The logic would pretty much continue from there. The groups can have an infinite amount of records returned based on how many documents have been created at the time the report was run.

Maybe if we could work out a solution for this example, it might help me understand the logic a bit more.
0
Question by:susnewyork
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

• Help others & share knowledge
• Earn cash & points
• 2
• 2

LVL 77

Expert Comment

ID: 37788202
You will have to explain how the conditions you describe are identified.

So how do you identify if DocA has been created or if it has or has not been signed?
0

LVL 1

Author Comment

ID: 37788268
There will be an entry into the Document table stating when it was created and what the status of the signature is (signed or not)
0

LVL 101

Accepted Solution

mlmcc earned 500 total points
ID: 37789069
So you have 1 record per document for a user?

Try something like this
Name - IsDocumentA
If {DocumentType} = 'A' then
1
Else
0

You can then use a summary for the field on the group to see if it is created
If Sum({@IsDocumentA},{PatientId}) =  0 then
"No Document A created"

For a signature on document A
Name - IsDocumentASigned
If {DocumentType} = 'A' AND {IsSignedField} = True then
1
Else
0

You can then use a summary for the field on the group to see if it is created and signed
If Sum({@IsDocumentA},{PatientId}) =  1 and Sum({@IsDocumentA},{PatientId}) = 0 then
"Document A created, unsigned"

Similarly for other document fields and signatures

mlmcc
0

LVL 101

Expert Comment

ID: 37789078
I think you are also asking how the SUMMARY functions can be limited to a group

SummaryFunction({SomeField},{GroupField})

By adding the GroupField in the summary function, Crystal then limits the summary evaluation to records in the current group rather than for the entire report.

mlmcc
0

LVL 1

Author Closing Comment

ID: 37798306
Thanks for the help, as usual. I have another question most likely coming your way.
0

Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Crystal Reports: 5 Tests for Top Performance It is complete, your masterpiece report.  Not only does it meet your customer’s expectations, it blows them out the water, all they want is beautifully summarised and displayed in a myriad of ways. …
Hot fix for .Net Crystal Reports 10.2.3600.0 to fix problems with sub reports running on 64 bit operating systems ISSUE: Reports which contain subreports fail with error "Missing Parameter Value" DEPLOYMENT SERVER OS: Windows 2008 with 64 bi…
If you're a developer or IT admin, you’re probably tasked with managing multiple websites, servers, applications, and levels of security on a daily basis. While this can be extremely time consuming, it can also be frustrating when systems aren't wor…
There are cases when e.g. an IT administrator wants to have full access and view into selected mailboxes on Exchange server, directly from his own email account in Outlook or Outlook Web Access. This proves useful when for example administrator want…
Suggested Courses
Course of the Month4 days, 16 hours left to enroll