【发布时间】:2019-02-16 17:01:12
【问题描述】:
我正在使用以下数据集
data have;
input repricingdate1-repricingdate3;
datalines;
'30SEP2019'd '31DEC2020'd '31MAR2022'd
'31DEC2020'd '30JUN2023'd '31DEC2025'd
;
run;
如果这不是输入日期的正确方法,请原谅,我不确定,但我有一个使用 intnx 函数的表格,其中包含这些值
我希望创建一个变量“Flag”,如果重新定价日期与标志年份匹配,即第一行的 Flag(2019)=1,两行的 Flag(2020)=1,则返回“1”,依此类推.
我正在使用下面的代码,但看不到我的错误在哪里,它甚至在更大的数据集中找到了几行,但是是零星的
data want;
set have;
array flag(2018:2021) flag2018-flag2021;
array repricingdate(1:3);
do i = 2018 to 2021;
do j = 1 to 3;
if put(repricingdate(j), 4.) = compress(vname(flag(i)),, 'kd')
then flag(i)=1;
end;
end;
drop i;
run;
如果有人能指出我的错误,我将不胜感激,谢谢。
【问题讨论】:
标签: arrays sas do-loops sas-studio