Hi all, I have this code: proc sql;
create table AltmanV3.Donnee_Avant_F as
select distinct b.*,ID
from AltmanV3.Last_Avail_Bnkrpt as a, AltmanV3.Inactive as b
where b.gvkey=a.gvkey and (b.fyear = (a.Fyear-5) and (b.fyear <= a.Fyear));
quit; it works perfectly. The purpose of it is to give me all the matching companies that are bankrupt at a given year (a.Fyear- x (x can be any number)). Here is the result: 625
626 /* OPTION 1 AVEC FYEAR*/
627 proc sql;
628 create table AltmanV3.Donnee_Avant_F as
629 select distinct b.*,ID
630 from AltmanV3.Last_Avail_Bnkrpt as a, AltmanV3.Inactive as b
631 where b.gvkey=a.gvkey and ((b.fyear = (a.fyear-5) ) and (b.fyear <= a.fyear));
NOTE: Table ALTMANV3.DONNEE_AVANT_F created, with 1128 rows and 18 columns.
632 quit; But when I do it like this: proc sql;
create table AltmanV3.Donnee_Avant_F as
select distinct b.*,ID
from AltmanV3.Last_Avail_Bnkrpt as a, AltmanV3.Inactive as b
where b.gvkey=a.gvkey and (b.fyear = (a.DLDTE-5) and (b.fyear <= a.DLDTE));
quit; it just doesn`t properly. here is the log screen: 320 proc sql;
321 create table AltmanV3.Donnee_Avant_F as
322 select distinct b.*,ID
323 from AltmanV3.Last_Avail_Bnkrpt as a, AltmanV3.Inactive as b
324 where b.gvkey=a.gvkey and (b.fyear = (a.DLDTE-5) and (b.fyear <= a.DLDTE));
NOTE: Table ALTMANV3.DONNEE_AVANT_F created, with 0 rows and 18 columns.
325 quit;
This way I am using the companies deletion year from the system to compare. Both DLDTE and FYEAR are in Year. format so I dont understand why or how can I make it work
... View more