Reputation: 8659
I have a crystal report that has a report parameter that can be a value between 1 and 100. If the value is less than 50, I need to group by CustomerID. If the value is greater than 50, I need to group by OrderID.
I've been searching the web on how to do this and I've come across several links that says this can be done via a formula. So inside the formula I have:
if {ReportParameter} < 50 then
{TableName.CustomerID}
else
{TableName.OrderID}
I created a group manually that correctly sifts through the data, but when I drag the formula into a grouped category, it's not working for me.
Is there an additional step I'm missing?
Upvotes: 5
Views: 5982
Reputation: 8659
OK, here is how I ended up doing this:
I defined the formula, but I didn't link the group to the formula. So I went back to the Group Header > Change Group > Change Group Options > Options Tab
and pointed to the name of my formula and it worked.
I thought that by adding the formula to the Group Header, CR would automatically associate my formula with the Group Header. DOH!!!
Upvotes: 1
Reputation: 11791
There are several ways for me to tackle this one...
If I understand your follow-up comments correctly, all you did was change the display name of the group, you didn't actually change the grouping. I tried this myself just to make sure and that's what it looks like to me.
Second, (someone correct me if I'm wrong), you cannot group on a formula. I also tried this in CR2010 and couldn't do it.
(Edit scratch that. Ryan is right. I am wrong)
I can think of 2 ways of setting up your report that would make this issue null and void:
OR
Upvotes: 0