proc sort data=_final0 out=&OUTPUT_DATASET.(label=&dslbl);
by &sortby;
run;
SYMBOLGEN: Macro variable OUTPUT_DATASET resolves to lptda.addili
SYMBOLGEN: Macro variable DSLBL resolves to DILI Reporting Analysis Dataset (SI)
NOTE 137-205: Line generated by the invoked macro "ADD0ATTRIBUTE".
1125 **sort output dataset then add label; proc sort data=_final0 out=&OUTPUT_DATASET.(label=&dslbl);
-
22
1125! by &sortby; run;
ERROR 22-322: Syntax error, expecting one of the following: ;, ASCII, BUFFNO, DANISH, DATA, DATECOPY, DETAILS, DIAG,
DUPOUT, EBCDIC, EQUALS, FINNISH, FORCE, IN, ISA, L, LEAVE, LIST, MESSAGE, MSG, NATIONAL, NODUP, NODUPKEY,
NODUPKEYS, NODUPLICATE, NODUPLICATES, NODUPREC, NODUPRECS, NODUPS, NOEQUALS, NORWEGIAN, NOTHREADS,
NOUNIKEY, NOUNIKEYS, NOUNIQUEKEY, NOUNIQUEKEYS, NOUNIQUEREC, NOUNIQUERECS, NOUNIREC, NOUNIRECS, OSA, OUT,
OVERWRITE, PAGESIZE, PRESORTED, PSIZE, REVERSE, SIZE, SORTSEQ, SORTSIZE, SORTWKNO, SWEDISH, T, TAGSORT,
TECH, TECHNIQUE, TESTHSI, THREADS, UNIOUT, UNIQUEOUT, WKNO, WORKNO.
NOTE: Line generated by the invoked macro "ADD0ATTRIBUTE".
1125 **sort output dataset then add label; proc sort data=_final0 out=&OUTPUT_DATASET.(label=&dslbl);
-
200
1125! by &sortby; run;
ERROR 200-322: The symbol is not recognized and will be ignored.
SYMBOLGEN: Macro variable SORTBY resolves to USUBJID PARAMCD AEPOCH ADT
MPRINT(ADD0ATTRIBUTE): proc sort data=_final0 out=lptda.addili(label=DILI Reporting Analysis Dataset (SI)) by USUBJID
PARAMCD AEPOCH ADT ;
MPRINT(ADD0ATTRIBUTE): run;
NOTE: The SAS System stopped processing this step because of errors.
WARNING: The data set LPTDA.ADDILI may be incomplete. When this step was stopped there were 0 observations and 0
variables.
WARNING: Data set LPTDA.ADDILI was not replaced because this step was stopped.
NOTE: PROCEDURE SORT used (Total process time):
real time 2.40 seconds
cpu time 0.01 seconds
Dear,
I am running a macro that has this "proc sort data=_final0 out=&OUTPUT_DATASET.(label=&dslbl);
by &sortby;
run;"
The macro variables are resolving &OUTPUT_DATASET and &dslbl and &sortby all are resolving. Below is the resolving code. But I am getting errors because the semicolon is missing in resolved code after Label statement and before By statement eventhough there is semicolon in macro Label statement and before By statement. Please suggest. Thank you. I am also copied the log file where it showing error (22).
proc sort data=_final0 out=lptda.addili(label=DILI Reporting Analysis Dataset (SI)) by USUBJID
PARAMCD AEPOCH ADT ;
MPRINT(ADD0ATTRIBUTE): run;
Your label ends with a ")". Try using double quotes around your label macro:
(label="&dslbl");
Register today and join us virtually on June 16!
sasglobalforum.com | #SASGF
View now: on-demand content for SAS users
You also want to be very cautious about using *statement; style comments in macros.
Either use the %*statement ; or /* statement; */
Under some syntax combinations the statement style comment may be submitted as code to be treated as though it should be executed.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.