我尝试将SDC IPO数据合并到cusip代码上的Compustat。SDC提供cusip9 (有一些遗漏)和cusip6 (没有遗漏),Compustat只提供cusip9。我通过子串Compustat来获取Compustat中的“我自己的”cusip6变量。然而,我宁愿首先在给定的cusip9上进行合并,并且只有在cusip9中缺少的情况下才进行合并,然后在cusip6上进行合并。到目前为止,我的代码是proc sql步骤上的标准合并代码:
proc sql;
create table sdc_comp
as select a.*, b.*
from compustat as a left join sdc as b
on a.cusip9 = b.cusip9
order by ipodate, gvkey, fyear;
quit;有什么建议吗?如果数据步骤可以做得更好,那是没有问题的。提前谢谢。
发布于 2019-05-16 17:57:11
尝试使用coalsece函数。它将返回第一个非缺失值(它在您的情况下适用于数值)。尝试获取cusip6值,然后尝试获取cusip9。它将如下所示:SELECT COALESCE(cusip6, cusip9);
https://stackoverflow.com/questions/56164011
复制相似问题