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 :).
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
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.