This would be horrible from a performance standpoint but if you can create a shared variable in each sub report, pass those to the main report and then use them to suppress. However, since the variable in the main report has to be after the sub report you would have to run both sub reports to get the variables then run them each again to after that and conditinally supress using the main report shared variables. Running 4 sub reports each time for each group may really kill performance.