Hello!
I'm working on creating a label for variables that are being created, but I'd like them to have the old names as their labels. I keep gettin an error message saying there is a syntax error on the LABEL line.
Any help is greatly appreciated!!
DATA %SCAN(&DATA,&i);
SET %SCAN(&DATA,&i);
ARRAY %SCAN(&DATA,&i) [&Count] &List;
ARRAY BIN_%SCAN(&DATA,&i)[&Count] BIN_%SCAN(&DATA,&i)1 - BIN_%SCAN(&DATA,&i)&Count;
DO j = 1 TO &Count;
IF %SCAN(&DATA,&i)(j) = '' THEN BIN_%SCAN(&DATA,&i)(j) = 0;
ELSE BIN_%SCAN(&DATA,&i)(j) = 1;
LABEL BIN_%SCAN(&DATA,&i)(j) = %SCAN(&DATA,&i)(j);
END;
FORMAT BIN_%SCAN(&DATA,&i)1 - BIN_%SCAN(&DATA,&i)&Count Issues.;
RUN;
Thank you! I looked at it differently and did make it much easier.
Thank you :).
I don't think you can reference a variable to assign a label by using the array reference, ie this line:
LABEL BIN_%SCAN(&DATA,&i)(j) = %SCAN(&DATA,&i)(j);
You'll need to either get the variables names which you may have in another macro variable (LIST)
or you can do it in another step, using the metadata from SASHELP.VCOLUMN and PROC DATASETS.
I'm looking at your code though and betting there's an easier way to accomplish what you're trying to do....so what are you trying to do 🙂
Thank you! I looked at it differently and did make it much easier.
Thank you :).
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.