Cumulative loan data with dates for a given firm in SAS

69 Views Asked by At

I'm working with a dataset dealscan and attempting to combine the tranche_amount for a given firm, subject to active date and maturity date, so I have a sum of total over a given period.

I have used left join

proc sql;

create table loancumulative as select a.startdate, sum(a.tranche_amount) as tranche_amount from dealscan as a left join dealscan as b on a.startdate >= b.startdate and a.startdate < b.enddate group by a.startdate order by a.startdate;

quit;

However need to also add by companyid, as I am running this across multiple firms .

Any comments?

Regards,

Seb

I added the perm_id as the company identifier in the tranche_amount some issues here?

Regards

1

There are 1 best solutions below

2
Samuel Awonorin On BEST ANSWER

According to GROUP BY Syntax, all fields included in the select must be present in the group by clause except for the aggregated fields.

For example: SELECT COUNT(CustomerID), Country FROM Customers GROUP BY Country;

In your case, I think your query should be:

create table loancumulative as 
 select a.startdate, a.perm_id
      , sum(a.tranche_amount) as tranche_amount 
 from dealscan as a 
 left join dealscan as b 
 on a.startdate >= b.startdate and a.startdate < b.enddate 
 group by a.startdate, a.perm_id 
 order by a.startdate, a.perm_id
;