how to display a macro variabile in a %window

Accepted Solution Solved
Reply
New Contributor
Posts: 4
Accepted Solution

how to display a macro variabile in a %window

Hello,

I want to display a macro variabile in a %window. My program is:

 

%let t=hello;

 

%window info

#6 @5 'your macro variabili is:'

#8 @5 &t;

%display info;

 

But with this code I see only 'your macro varibile is:', but I would like tu see 'hello'. How could I do?

 

 


Accepted Solutions
Solution
‎06-03-2018 06:11 AM
Super User
Posts: 6,785

Re: how to display a macro variabile in a %window

Posted in reply to leti_ors96

When you leave out quotes, that tells SAS that &t is the name of a macro variable.  The user is allowed to enter a value for it when the %window gets %displayed.

 

In this case, the %display statement allows the user to enter a value for the macro variable named hello.

 

If you want &t to become part of the displayed text, rather than a name that the user can type into the %display, put it in quotes.  Double quotes are needed:

 

#8  @5  "&t" ;

 

If you want the macro variable t to be supplied by the user when %displaying the %window, get rid of the &:

 

#8  @5  t  5;

 

The 5 characters are enough that the user can enter "hello".

View solution in original post


All Replies
Super User
Posts: 23,776

Re: how to display a macro variabile in a %window

Posted in reply to leti_ors96

Try using double quotes instead of single Macro variables do not resolve in single quotes.

 


@leti_ors96 wrote:

Hello,

I want to display a macro variabile in a %window. My program is:

 

%let t=hello;

 

%window info

#6 @5 'your macro variabili is:'

#8 @5 &t;

%display info;

 

But with this code I see only 'your macro varibile is:', but I would like tu see 'hello'. How could I do?

 

 


 

Solution
‎06-03-2018 06:11 AM
Super User
Posts: 6,785

Re: how to display a macro variabile in a %window

Posted in reply to leti_ors96

When you leave out quotes, that tells SAS that &t is the name of a macro variable.  The user is allowed to enter a value for it when the %window gets %displayed.

 

In this case, the %display statement allows the user to enter a value for the macro variable named hello.

 

If you want &t to become part of the displayed text, rather than a name that the user can type into the %display, put it in quotes.  Double quotes are needed:

 

#8  @5  "&t" ;

 

If you want the macro variable t to be supplied by the user when %displaying the %window, get rid of the &:

 

#8  @5  t  5;

 

The 5 characters are enough that the user can enter "hello".

☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 121 views
  • 0 likes
  • 3 in conversation