Working within groups conditionally

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.
LVL 1
susnewyorkAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

peter57rCommented:
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
susnewyorkAuthor Commented:
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
mlmccCommented:
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

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
mlmccCommented:
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
susnewyorkAuthor Commented:
Thanks for the help, as usual. I have another question most likely coming your way.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Crystal Reports

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.