我希望在我的 SAS 代码中具有灵活的导入结构。从 excel 导入表如下所示:
data have;
input Fixed_or_Floating $ asset_or_liability $ Base_rate_new;
datalines;
FIX A 10
FIX L Average Maturity
FLT A 20
FLT L Average Maturity
;
run;
我正在使用的原始数据集如下所示:
data have2;
input ID Fixed_or_Floating $ asset_or_liability $ Base_rate;
datalines;
1 FIX A 10
2 FIX L 20
3 FIX A 30
4 FLT A 40
5 FLT L 30
6 FLT A 20
7 FIX L 10
;
run;
只有当新利率由债券的平均到期日确定时,占位符“平均到期日”才存在于excel文件中。我有一个单独的功能,它允许我搜索然后离开加入新的基本利率,具体取决于最接近的利率。例如,如果债券的到期日为 10 年,我将使用 10 年利率。
所以我的问题是,如何使用与此类似的代码执行简单的合并:
proc sort data = have;
by fixed_or_floating asset_or_liability;
run;
proc sort data = have2;
by fixed_or_floating asset_or_liability;
run;
data have3 (drop = base_rate);
merge have2 (in = a)
have1 (in = b);
by fixed_or_floating asset_or_liability;
run;
目前的问题是我的占位符值没有读入,我需要它是一个单词,因为这就是 excel 在其查找表中的工作方式 - 然后我使用 if 语句,例如
if base_rate_new = "Average Maturity" then do;
(Insert existing Function Here)
end;
所以请只导入带有占位符功能的excel,谢谢。
TIA。