I am working on a research project and have trouble come up with a way to conduct a rolling window regression. In my proc model I include this macro to do my rolling window.
%do fen = %eval(&dfen) %to 100;
where %eval(&fen) le obs le %eval(36+&fen-1);
However, my proc model is done by id and as you can see in this macro I suppose that the number of observations is 100 for each id but this is not true I have a different number of observation for each id. In my database I add a column which indicates the number of total number of observation for each id (nb).
How can I change the fixed number 100 to a changing variables called nb?
I try to do it like this :
%do fen = %eval(&dfen) %to %eval(&nb);
where %eval(&fen) le obs le %eval(36+&fen-1);
but I have this error
ARNING: Apparent symbolic reference NB not resolved.
ERROR: The text expression &NB contains a recursive reference to the macro variable NB. The
macro variable will be assigned the null value.
I was also looking for the solution to the similar error but I did not find your solution when I clicked your link
Chandra
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.