Я работаю со следующим набором данных
data have;
input repricingdate1-repricingdate3;
datalines;
'30SEP2019'd '31DEC2020'd '31MAR2022'd
'31DEC2020'd '30JUN2023'd '31DEC2025'd
;
run;
, извините, если это неправильный способ ввода дат, я не уверен, но у меня есть таблица с этими значениями с использованием функции intnx
Я ищу создать переменную «Флаг», которая возвращает «1», если дата переоценки соответствует году флага, т. Е. Флаг (2019) = 1 для первой строки, Флаг (2020) = 1 для обеих строк и т. Д.on.
Я использую приведенный ниже код и не вижу, в чем заключается моя ошибка, он даже собирает пару строк в большом наборе данных, но является спорадическим
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;
Я быспасибо, что кто-то может указать на мою ошибку, спасибо.