BookmarkSubscribeRSS Feed

SAS Macro - %SUPERQ

Started ‎11-30-2025 by
Modified ‎11-30-2025 by
Views 111

%SUPERQ는 텍스트를 그대로 return하는 구문입니다.

즉, 매크로를 실행 중에 특수문자를 그대로 문자로 처리해 문자 그대로 처리할 수 있습니다.

매크로 변수 중에 콤마, %, &, 따옴표 등이 있을 수 있습니다. 매크로가 특수문자를 명령으로 인식하지 않도록 보호할 때 사용하며 데이터 입력값이나 외부 파일 경로처럼 그대로 사용할 때 활용할 수 있습니다.

%SUPERQ 기본 Syntax

 

%SUPERQ(매크로변수명)

 

 

 

■ 특수문자가 포함된 변수 읽기

 

%let name = amy, clara & paul;
%put %superq(name);

 

image.png

 

 

&는 매크로 변수를 호출하는 문자열입니다.

하지만, %SUPERQ(변수명) 은 값을 그대로 가져와서 특수문자(&, %, 따옴표) 등을 보호하여 특수문자를 해석하지 못하게 합니다.

 

 

■ %SCAN + &SUPERQ

 

%let name = amy, clara & paul;
%put %SCAN(%SUPERQ(name), 2, %STR(,));

 

image.png

 

 

 

%SUPERQ(name)으로 값을 그대로 가져옵니다.

특수문자를 매크로 기호로 해석하지 않고 일반 텍스트로 가져와서 'amy, clara & paul' 로 인식합니다.

 

 

%SCAN(문자열, 위치, 구분자) 

 

%STR은 쉼표를 마스킹하여 매크로 구문이 아닌 일반 문자로 처리합니다.

두번째 단어를 추출하여 쉼표로 구분자를 사용합니다.