A full join may be what you need. I would also anticipate the need to rollup by date both sales and purchases prior to joining.
data a;
input date sales;
datalines;
4 4000
5 8000
5 2000
;
data b;
input date value_purchased_items;
datalines;
1 100
2 200
3 300
3 600
5 125
5 250
5 500
5 1000
5 5000
;
proc sql;
create table summary as
select
coalesce(a.date,b.date) as date
, b.value_total
, b.value_line_count
, a.sales_total
, a.sales_line_count
from
(select date, sum(b.value_purchased_items) as value_total, count(b.value_purchased_items) as value_line_count
from b group by date) b
full join
(select date, sum(a.sales) as sales_total, count(a.sales) as sales_line_count
from a group by date) a
on
a.date = b.date
;
... View more