f



'&&&&a'="&&&&a."

I need a data step that is equivalent to

data _NULL_;
file print;
put '&&&&&&a='    "&&&&&&a";
run;

Yet the number of  & is a variable, I need to write a Macro, so far I
got only half of the code('&&&&&&a.='), I don't know how to put
the other half ("&&&&&&a.") into Macro

Thanks.

%Macro R(k);
data _NULL_;
file print;
put
%do i= 1 %to &k.;
'&'
%end;
'a='
;

run;

%mend;

%R(10);

==============================================================================
This communication, together with any attachments hereto or links contained herein, is for the sole use of the intended recipient(s) and may contain information that is confidential or legally protected. If you are not the intended recipient, you are hereby notified that any review, disclosure, copying, dissemination, distribution or use of this communication is STRICTLY PROHIBITED.  If you have received this communication in error, please notify the sender immediately by return e-mail message and delete the original and all copies of the communication, along with any attachments hereto or links herein, from your system.

==============================================================================
The Travelers e-mail system made this annotation on 06/12/07, 10:22:42.
0
JWANG (16)
6/12/2007 2:22:40 PM
comp.soft-sys.sas 142828 articles. 3 followers. Post Follow

1 Replies
1531 Views

Similar Articles

[PageSpeed] 38

No sure that I follow what you are doing with &&&&&&, but as a suggested
start can you refine the question based on the following code example?

filename outfile "c:\test.lst";

%macro r(k);
  data test;
   %do i= 1 %to &k.;
     a=put("&i",3.);
     output;
   %end;
  run;

  proc print data=test;
  run;

  data _null_;
   file outfile recfm=V lrecl=300;
   %do i= 1 %to &k.;
     a=put("&i",3.);
     put @1 a;
   %end;
  run;

%mend r;

%r(10);



On 6/12/07, Wang,Jue <JWANG@travelers.com> wrote:
>
> I need a data step that is equivalent to
>
> data _NULL_;
> file print;
> put '&&&&&&a='    "&&&&&&a";
> run;
>
> Yet the number of  & is a variable, I need to write a Macro, so far I
> got only half of the code('&&&&&&a.='), I don't know how to put
> the other half ("&&&&&&a.") into Macro
>
> Thanks.
>
> %Macro R(k);
> data _NULL_;
> file print;
> put
> %do i= 1 %to &k.;
> '&'
> %end;
> 'a='
> ;
>
> run;
>
> %mend;
>
> %R(10);
>
>
> ==============================================================================
> This communication, together with any attachments hereto or links
> contained herein, is for the sole use of the intended recipient(s) and may
> contain information that is confidential or legally protected. If you are
> not the intended recipient, you are hereby notified that any review,
> disclosure, copying, dissemination, distribution or use of this
> communication is STRICTLY PROHIBITED.  If you have received this
> communication in error, please notify the sender immediately by return
> e-mail message and delete the original and all copies of the communication,
> along with any attachments hereto or links herein, from your system.
>
>
> ==============================================================================
> The Travelers e-mail system made this annotation on 06/12/07, 10:22:42.
>
0
johbee (320)
6/12/2007 5:25:18 PM
Reply:

Similar Artilces:

Re: &&&&&&
Talbot, Its basic macro aper math. With each pass of the macro processor it reduces && to &. in yoru case: %put &&mlv&mlin. = &&&&&&mlv&mlin. ; 1st pass: &mlv5 = &&&mlv5 2nd Pass: Daisy = &Daisy 3rd Pass : Daisy = Yellow Toby Dunn From: Talbot Michael Katz <topkatz@MSN.COM> Reply-To: Talbot Michael Katz <topkatz@MSN.COM> To: SAS-L@LISTSERV.UGA.EDU Subject: &&&&&& Date: Thu, 9 Jun 2005 13:38:44 -0400 Received: from malibu.cc.uga.edu ([128.192.1.103]) by MC8-F21.hotmail...

&& and &
What exactly is the difference between && and & (|| and |)? When does it generates different results? Is the & wrong now from R14 on? Best regards Prom Prom wrote: > What exactly is the difference between && and & (|| and |)? When does > it generates different results? Is the & wrong now from R14 on? > > Best regards > Prom 'help &' shows: Logical operators. Short-circuit logical AND && Short-circuit logical OR || and - Element-wise logical AND &...

& and &amp;
How can one stop a browser from converting &amp; to & ? We have a textarea in our system wehre a user can type in some html code and have it saved to the database. When the data is retireved and redisplayed it is displayed as simply &. HTML snippet: <TEXTAREA NAME="p_html" ROWS=6 COLS=70 ALIGN="VIRTUAL" WRAP="YES"> fred & &amp; </TEXTAREA> When displayed, the user predictably sees fred & & What workarounds are there for this - I am sure it's a problem for others - is there a way...

Re: &&&&&& #6
This is a prime example I use when I discuss what is wrong with the macro language. Yes, you can figure it out but an alternative would be to simply write your data step code out and then bring it back in so you know what is being submitted. data _null_ ; file 'c:\myfile.sas' ; put 'data ...;' ; ...more put statements... run; %include 'c:\myfile.sas' ; Others will argue for SCL or something else. Regardless, this application probably requires a complete rethink if you are using 6 ampersands. Thanks, Alan Savian "Bridging SAS and Microsoft Technologies...

Re: &&&&&& #7
Alan, I seem to have started a hail storm here and I probably should have stated earlier that I don't disagree with SCL or a rework of the code, but rather building and then sending the code out to a temp file and then %including it back in I like not. I have found that while in certain situations this may be the only way to accomplish something easily, it is over used and causes way more headaches than it is worth. As for the rest of your post I am right behind you. Toby Dunn From: Alan Churchill <SASL001@SAVIAN.NET> Reply-To: Alan Churchill <SASL001@SAVIAN.NET> To: ...

Re: &&&&&& #5
Toby, Fair to disagree but the approach I suggested works extremely well, is easy to debug, and has proven itself time after time. As the famous macro or not debate showed a few months back, there are lots of ways to handle code gen...macro is merely 1 way. The limit here is one of comfort: where does an individual programmer feel comfortable technology and approach-wise. If macro is it, then that is what you will tend to drift toward. If it is SCL, as Joe states, then it will be SCL. Personally, I use macros (to a point), %includes, c#, CodeSmith, and a host of other methods to gen code dep...

Re: &&&&&& #2
Alan, I disagree with that statement. I think the best solution would be to build the dang thing the way he want with less macros. By sending your code out then back in is in MO to much hassel for too little. the whole thingy could be done like this: data one ; flower = 'Daisy' ; color = 'Yellow' ; run ; data two ; set one ; call symput ( compress('text'||_n_),compbl(flower||'='||color) ) ; call symput ( 'index' , compress(_n_) ) ; run ; %put &&text&index ; Toby Dunn From: Alan Churchill <SASL001@SAVIAN.NET> Reply-To: A...

Re: &&&&&& #3
toby dunn <tobydunn@hotmail.com> replied: > Alan, > > I disagree with that statement. I think the best solution would be to build > the dang thing the way he want with less macros. By sending your code out > then back in is in MO to much hassel for too little. > > the whole thingy could be done like this: > > data one ; > flower = 'Daisy' ; > color = 'Yellow' ; > run ; > > data two ; > set one ; > call symput ( compress('text'||_n_),compbl(flower||'='||color) ) ; > call symput ( 'index' , compre...

Re: &&&&&& #8
On Thu, 9 Jun 2005 13:38:44 -0400, Talbot Michael Katz <topkatz@MSN.COM> wrote: >Hi. > >It requires SIX ampersands to resolve the macro variable example below: > >data _null_ ; > set DS1 end = last ; > call symput("mlv" || compress(put(_N_,best32.)), mli) > ; > call symput(mli, tdt) ; > if last then do ; > call symput("mlin", compress(put(_N_,best32.))) ; > end ; >run ; >%put &&mlv&mlin. = &&&&&&mlv&mlin. ; > >(So, if there are five observations in the data set, and the fifth va...

Re: &&&&&& #13
Bold=Ian Whitlock Faint Italics=Joe Whitehurst A macro variable can be thought of as a name pointing at a value. A named scl list item can be thought of as a name pointing at a value. So a name can point at a name that can point at a value, etc. So a named scl list item can be thought of as a named scl list item that can point at a named scl list item that can point at a named scl list item that can point at a value which can continue to whatever level of abstraction you wish without ever using any concatenated ampersands. Let's look at the problem by analogy. Suppose you go to a pa...

Re: &&&&&& #11
Michael, Where were you when I needed you? Just how long have you kept that naughty question bottled up where it cannot see the light of day? How many others harbor that naughty question? Well, all of you got some answers today. Some technically perfect regurgitations of the SAS documentation without a care about consequences which those who don't like to read for themselves will find somewhat useful. Some sagely suggesting that some newer SAS Constructs might be worth investigating, and, indeed, there may be something worth examining about your approach to solving problems when you t...

Re: &&&&&& #12
Talbot, From another message you already seem satisfied with the information given about your problem, but I will add my penny thoughts for they give a different point of view. The basic question might be interpreted as, "Why does it take so many ampersands to express 'daisy=yellow'?" The implied question might be what is wrong with my structure and how should it be fixed? I am interested in both. A macro variable can be thought of as a name pointing at a value. So a name can point at a name that can point at a value, etc. Let's look at the problem by analogy. Suppo...

Re: &&&&&& #4
> From: Talbot Michael Katz > It requires SIX ampersands to resolve the macro variable > example below: > > data _null_ ; > set DS1 end = last ; > call symput("mlv" || compress(put(_N_,best32.)), mli) > ; > call symput(mli, tdt) ; > if last then do ; > call symput("mlin", compress(put(_N_,best32.))) ; > end ; > run ; > %put &&mlv&mlin. = &&&&&&mlv&mlin. ; > > (So, if there are five observations in the data set, and the > fifth value of > mli is "DAISY" and the fi...

Re: &&&&&& #9
"I have found that while in certain situations this may be the only way to accomplish something easily, it is over used and causes way more headaches than it is worth" My feeling on macros... Thanks, Alan Savian "Bridging SAS and Microsoft Technologies" -----Original Message----- From: SAS(r) Discussion [mailto:SAS-L@LISTSERV.UGA.EDU] On Behalf Of toby dunn Sent: Thursday, June 09, 2005 12:56 PM To: SAS-L@LISTSERV.UGA.EDU Subject: Re: &&&&&& Alan, I seem to have started a hail storm here and I probably should have stated earlier that I don'...

Web resources about - '&&&&a'="&&&&a." - comp.soft-sys.sas

Resources last updated: 2/7/2016 1:35:31 AM