BookmarkSubscribeRSS Feed

SAS Macro - ① %STR

Started ‎10-28-2025 by
Modified ‎10-28-2025 by
Views 112

%STR

특수문자나 공백을 다룰 때 사용하는 매크로입니다.

STR은 String의 약자로 매크로 프로세사가 특수문자가 명령어가 아닌 일반 텍스트로 처리하도록 만든 함수입니다.

SAS에서는 특수문자가 명령어로 인식됩니다.

  • ; (세미콜론) : 문장 끝

  • +, - : 연산자

  • , (쉼표) : 매개변수 구분

  • () (괄호) : 함수 또는 표현식

 

 

■ ;(세미콜론) 을 문장 끝으로 인식한 경우

 

%LET text = a;b;c;
%PUT &text;

image.png

 

 

text에 문자열 a 만 할당되어 b, c 문자는 tet에 할당되지 않습니다.

또한, 유효한 syntax가 아니기 때문에 오류가 발생되어 로그에 표시됩니다.

 

 

 

 

■ ;(세미콜론) 을 문자열로 인식하는 방법

 

%LET text = %STR(a;b;c);
%PUT &text;

 

;(세미콜론) 이나 따옴표(" " ' ')와 같은 특수문자가 포함되어 있을 경우

Macro Quoting 인 괄호 ( ) 를 활용해 괄호 안에 있는 텍스트를 문자열로 취급할 수 있게 합니다.

 

 

 

■ 등호(=) 표시를 문자열로 인식하는 방법

방법1)

 

%LET equation = x=15;
%PUT 방정식: &equation;

 

위 %LET 문에서 매크로와 관련된 특수문자( ; , "") 등이 포함되지 않았습니다.

매크로 관련 특수문자가 포함되어 있지 않기 때문에 Macro Quoting(매크로 인용) 없이도 x = 15 자체가 문자열로 인식할 수 있습니다.

 

 

image.png

 

 

 

방법2)

 
%LET equation = %STR(x=5);
%PUT 방정식: &equation;
image.png

 

 
 
■ 공백까지 문자열로 인식하는 방법
 
%LET text1 =    안녕하세요;
%PUT [&text1];

 image.png

 

 

SAS 매크로 변수에 값을 할당할 때에는 텍스트의 양쪽 끝에 있는 공백을 자동으로 제거합니다.

%LET 문으로 변수에 공백까지 넣었던 경우 공백은 사라집니다.

 

 

%LET text2 = %STR(    안녕하세요);
%PUT [&text2];

%LET text3 = %STR(안녕하세요    );
%PUT [&text3];

 

image.png

 

 

공백을 문자처럼 인식하기 위해서 %STR 문을 활용합니다.

%STR은 괄호 안의 모든 문자를 그대로 텍스트로 인식할 수 있게 합니다.

 

Contributors
Version history
Last update:
‎10-28-2025 10:19 PM
Updated by:

sas-innovate-2026-white.png



April 27 – 30 | Gaylord Texan | Grapevine, Texas

Registration is open

Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!

Register now

Article Labels
Article Tags