It's conceivable that you are actually asking a simpler set of questions. Given all the work you have done so far, why aren't the formats being used? And how can you create variables that group according to the formats?
Creating formats doesn't actually apply them to any variables. There are two ways to apply formats: (1) associate a format with a variable (either permanently or temporarily), and (2) create a new variable by using the format.
That second step is something that is fairly easy given the work you have done so far:
data want;
set have;
age_grouping = put(age, age_fmt.);
ga_grouping = put(age, ga_fmt.);
run;
That adds two character variables to your data set (AGE_GROUPING and GA_GROUPING), holding the results of grouping the original AGE values by applying your formats. As you can see, there are values of AGE that are not defined by the formats. You might want to change that (adding to the format definitions), because the new variables holding the grouped versions will reflect the unformatted values of AGE. Take a look at the results and you'll see what I'm talking about.
... View more