My first thing involving any time, date or datetime related issue: Make sure the values are SAS time, date or datetime valued variables.
You don't say what you are going to do with multiple datasets but I bet it compounds doing more looping, macro or otherwise. Formats for the date variables can create very useable groups. Here's a very simple example. The first data step is just to create some dummy data for the proc tabulate to demonstrate creating a report with separate sections for the branch and totals by month.
data example;
length account $ 15;
do branch = 'A','B','C';
do num = 1001 to 1005;
account= cats(branch,num);
do date = '01jan2015'd to '15jul2015'd by 20;
deposit = round(1000*ranuni(456),.01);
output;
end;
end;
end;
run;
proc tabulate data=example;
class branch date;
format date monyy7.;
var deposit;
tables branch,
date='Month',
Deposit*sum*f=dollar10.2
;
run;
You can get similar results from proc means, freq, summary and report using formats on a single date varible. Also most of the modeling procedures will honor the format for creating levels of modeled variables.
... View more