%BQUOTE (문자열 | 문자식)
%NRBQUOTE(문자열 | 문자식)
문자열이나 문자식에 포함되어 있는 특수문자를 문자로만 받아들인다.
이에 해당되는 특수 문자들은,
' " ( ) + - * / < > = ^ ~ ; , blank
AND OR NOT EQ NE LE LT GE GT
%NRBQUOTE 은 여기에 ‘&’ 과 ‘%’ 이 포함된다.
[Example] 변수인용부호
%macro fileit(infile); %if %bquote(&infile) NE %then %do; %let char1 = %bquote(%substr(&infile,1,1)); -- 1) %if %bquote(&char1) = %str(%’) ---------------- 2) or %bquote(&char1) = %str(%") ------------- 3) %then %let command=FILE &infile; %else %let command=FILE "&infile"; %end; %put &command; %mend fileit; %fileit(myfile); [로그창] FILE "myfile" %fileit('myfile'); [로그창] FILE 'myfile' |
1)매크로 변수 INFILE 에 들어있는 문자열의 첫글자를 특수문자에 상관없이 다른 매크로 변수인 CHAR1에 넣음. CHAR1 의 결과에 따라 %IF 문 조건에 맞춰 문장을 실행함
2)CHAR1 변수의 결과가 인용부호 ‘ 이거나
3)CHAR1 변수의 결과가 인용부호 “ 일 경우를 의미
'Biostat > SAS Macro' 카테고리의 다른 글
SAS MACRO - SYMGET vs. CALL SYMPUT (0) | 2023.11.13 |
---|---|
SAS - INTNX (0) | 2023.11.13 |
SAS Macro 매크로 인용함수 %STR, %NRSTR (0) | 2023.10.26 |
SAS Macro 매크로 변수값 출력 %PUT (0) | 2023.10.23 |
SAS Macro Data step 에서 사용하는 매크로변수 CALL SYMPUT (0) | 2023.10.23 |