<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic MACRO CODE in Statistical Procedures</title>
    <link>https://communities.sas.com/t5/Statistical-Procedures/MACRO-CODE/m-p/80425#M3848</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Team, Could you please check if my macro needs to be made tidy or is this logic OK?&lt;/P&gt;&lt;P&gt;I have to subset observations into seperate cohorts(datasets) based on the codes&lt;/P&gt;&lt;P&gt;Sometimes using only 1 or 2 codes and sometimes using as many as 12 codes.&lt;/P&gt;&lt;P&gt;I did a macro because the A to J variables are common for all the "want" datasets and are coming from the same dataset "have"&lt;/P&gt;&lt;P&gt;I dont want to repeat the same steps 10 times&lt;/P&gt;&lt;P&gt;Would you recommend me to go ahead or u have any suggestions??&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%macro cohorts(want=,code1=,code2=,code3=,code4=,code5=,code6=,code7=,code8=,&lt;/P&gt;&lt;P&gt;code9=,code10=,code11=,code12=);&lt;/P&gt;&lt;P&gt;data &amp;amp;want;&lt;/P&gt;&lt;P&gt;set have(keep=A B C D E F G H I J );&lt;/P&gt;&lt;P&gt;where Proc_code in("&amp;amp;code1","&amp;amp;code2","&amp;amp;code3","&amp;amp;code4","&amp;amp;code5","&amp;amp;code6","&amp;amp;code7","&amp;amp;code8","&amp;amp;code9",&lt;/P&gt;&lt;P&gt;"&amp;amp;code10","&amp;amp;code11","&amp;amp;code12");&lt;/P&gt;&lt;P&gt;A1=put(A,agefmt.);&lt;/P&gt;&lt;P&gt;B1=compress(B);&lt;/P&gt;&lt;P&gt;B2=put(B1,$sexfmt.);&lt;/P&gt;&lt;P&gt;C1=put(C,BMIFMT.);&lt;/P&gt;&lt;P&gt;D1=D/3600;&lt;/P&gt;&lt;P&gt;D2=put(D1,OPTIMEFMT.);&lt;/P&gt;&lt;P&gt;E1=put(E,$DIA.);&lt;/P&gt;&lt;P&gt;F1=STRIP(F);&lt;/P&gt;&lt;P&gt;F2=put(F1,$SMOK.);&lt;/P&gt;&lt;P&gt;if substr(Pat,5) in("A", "B" ,"C","D","E") then pat=substr(Pat,1,4);else pat=Pat;&lt;/P&gt;&lt;P&gt;if Pat eq " " then delete;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;%mend&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%cohorts(want=headache,code1=32,code2=34,code3=36,code4=38);&lt;/P&gt;&lt;P&gt;%cohorts(want=fever,code1=57,code2=58);&lt;/P&gt;&lt;P&gt;%cohorts(want=nausea,code1=29);&lt;/P&gt;&lt;P&gt;%cohorts(want=jaundice,code1=630,code2=632,code3=633,code4=634,code5=635,code6=636,&lt;/P&gt;&lt;P&gt;code7=638,code8=639,code9=647,code10=677,code11=678,code12=679);&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 28 Sep 2012 19:14:21 GMT</pubDate>
    <dc:creator>robertrao</dc:creator>
    <dc:date>2012-09-28T19:14:21Z</dc:date>
    <item>
      <title>MACRO CODE</title>
      <link>https://communities.sas.com/t5/Statistical-Procedures/MACRO-CODE/m-p/80425#M3848</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Team, Could you please check if my macro needs to be made tidy or is this logic OK?&lt;/P&gt;&lt;P&gt;I have to subset observations into seperate cohorts(datasets) based on the codes&lt;/P&gt;&lt;P&gt;Sometimes using only 1 or 2 codes and sometimes using as many as 12 codes.&lt;/P&gt;&lt;P&gt;I did a macro because the A to J variables are common for all the "want" datasets and are coming from the same dataset "have"&lt;/P&gt;&lt;P&gt;I dont want to repeat the same steps 10 times&lt;/P&gt;&lt;P&gt;Would you recommend me to go ahead or u have any suggestions??&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%macro cohorts(want=,code1=,code2=,code3=,code4=,code5=,code6=,code7=,code8=,&lt;/P&gt;&lt;P&gt;code9=,code10=,code11=,code12=);&lt;/P&gt;&lt;P&gt;data &amp;amp;want;&lt;/P&gt;&lt;P&gt;set have(keep=A B C D E F G H I J );&lt;/P&gt;&lt;P&gt;where Proc_code in("&amp;amp;code1","&amp;amp;code2","&amp;amp;code3","&amp;amp;code4","&amp;amp;code5","&amp;amp;code6","&amp;amp;code7","&amp;amp;code8","&amp;amp;code9",&lt;/P&gt;&lt;P&gt;"&amp;amp;code10","&amp;amp;code11","&amp;amp;code12");&lt;/P&gt;&lt;P&gt;A1=put(A,agefmt.);&lt;/P&gt;&lt;P&gt;B1=compress(B);&lt;/P&gt;&lt;P&gt;B2=put(B1,$sexfmt.);&lt;/P&gt;&lt;P&gt;C1=put(C,BMIFMT.);&lt;/P&gt;&lt;P&gt;D1=D/3600;&lt;/P&gt;&lt;P&gt;D2=put(D1,OPTIMEFMT.);&lt;/P&gt;&lt;P&gt;E1=put(E,$DIA.);&lt;/P&gt;&lt;P&gt;F1=STRIP(F);&lt;/P&gt;&lt;P&gt;F2=put(F1,$SMOK.);&lt;/P&gt;&lt;P&gt;if substr(Pat,5) in("A", "B" ,"C","D","E") then pat=substr(Pat,1,4);else pat=Pat;&lt;/P&gt;&lt;P&gt;if Pat eq " " then delete;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;%mend&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%cohorts(want=headache,code1=32,code2=34,code3=36,code4=38);&lt;/P&gt;&lt;P&gt;%cohorts(want=fever,code1=57,code2=58);&lt;/P&gt;&lt;P&gt;%cohorts(want=nausea,code1=29);&lt;/P&gt;&lt;P&gt;%cohorts(want=jaundice,code1=630,code2=632,code3=633,code4=634,code5=635,code6=636,&lt;/P&gt;&lt;P&gt;code7=638,code8=639,code9=647,code10=677,code11=678,code12=679);&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Sep 2012 19:14:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Statistical-Procedures/MACRO-CODE/m-p/80425#M3848</guid>
      <dc:creator>robertrao</dc:creator>
      <dc:date>2012-09-28T19:14:21Z</dc:date>
    </item>
    <item>
      <title>Re: MACRO CODE</title>
      <link>https://communities.sas.com/t5/Statistical-Procedures/MACRO-CODE/m-p/80426#M3849</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;is your variable "Proc_code" a numeric or character variable?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Sep 2012 19:21:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Statistical-Procedures/MACRO-CODE/m-p/80426#M3849</guid>
      <dc:creator>Linlin</dc:creator>
      <dc:date>2012-09-28T19:21:46Z</dc:date>
    </item>
    <item>
      <title>Re: MACRO CODE</title>
      <link>https://communities.sas.com/t5/Statistical-Procedures/MACRO-CODE/m-p/80427#M3850</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for the reply LINLIN. Its charecter variable&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Sep 2012 19:27:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Statistical-Procedures/MACRO-CODE/m-p/80427#M3850</guid>
      <dc:creator>robertrao</dc:creator>
      <dc:date>2012-09-28T19:27:43Z</dc:date>
    </item>
    <item>
      <title>Re: MACRO CODE</title>
      <link>https://communities.sas.com/t5/Statistical-Procedures/MACRO-CODE/m-p/80428#M3851</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I made some changes to your code. Please let me know if it works or not.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%macro cohorts(want=,code=)&lt;/P&gt;&lt;P&gt;data &amp;amp;want;&lt;/P&gt;&lt;P&gt;set have(keep=A B C D E F G H I J );&lt;/P&gt;&lt;P&gt;where Proc_code in(&amp;amp;code) and pat ne ' ';&lt;/P&gt;&lt;P&gt;A1=put(A,agefmt.);&lt;/P&gt;&lt;P&gt;B1=compress(B);&lt;/P&gt;&lt;P&gt;B2=put(B1,$sexfmt.);&lt;/P&gt;&lt;P&gt;C1=put(C,BMIFMT.);&lt;/P&gt;&lt;P&gt;D1=D/3600;&lt;/P&gt;&lt;P&gt;D2=put(D1,OPTIMEFMT.);&lt;/P&gt;&lt;P&gt;E1=put(E,$DIA.);&lt;/P&gt;&lt;P&gt;F1=STRIP(F);&lt;/P&gt;&lt;P&gt;F2=put(F1,$SMOK.);&lt;/P&gt;&lt;P&gt;if substr(Pat,5,1) in("A", "B" ,"C","D","E") then pat=substr(Pat,1,4);&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;%mend;&lt;/P&gt;&lt;P&gt;%cohorts(want=headache,code="32","34","36","38");&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Sep 2012 19:32:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Statistical-Procedures/MACRO-CODE/m-p/80428#M3851</guid>
      <dc:creator>Linlin</dc:creator>
      <dc:date>2012-09-28T19:32:36Z</dc:date>
    </item>
    <item>
      <title>Re: MACRO CODE</title>
      <link>https://communities.sas.com/t5/Statistical-Procedures/MACRO-CODE/m-p/80429#M3852</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi LINLIN,&lt;/P&gt;&lt;P&gt;There is an error which says:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;46&amp;nbsp; %cohorts(want=graft,code="15732","15734","15736","15738");&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 8pt;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -------&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 8pt;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 180&lt;/P&gt;&lt;P&gt;ERROR: All positional parameters must precede keyword parameters.&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 8pt;"&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;ERROR 180-322: Statement is not valid or it is used out of proper order.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Sep 2012 20:00:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Statistical-Procedures/MACRO-CODE/m-p/80429#M3852</guid>
      <dc:creator>robertrao</dc:creator>
      <dc:date>2012-09-28T20:00:56Z</dc:date>
    </item>
    <item>
      <title>Re: MACRO CODE</title>
      <link>https://communities.sas.com/t5/Statistical-Procedures/MACRO-CODE/m-p/80430#M3853</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;then try:&lt;/P&gt;&lt;P&gt;%cohorts(want=headache,code="32" "34" "36" "38");&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Sep 2012 20:06:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Statistical-Procedures/MACRO-CODE/m-p/80430#M3853</guid>
      <dc:creator>Linlin</dc:creator>
      <dc:date>2012-09-28T20:06:02Z</dc:date>
    </item>
    <item>
      <title>Re: MACRO CODE</title>
      <link>https://communities.sas.com/t5/Statistical-Procedures/MACRO-CODE/m-p/80431#M3854</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It should work. You code is similar to the example below.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;BR /&gt;&amp;nbsp; set sashelp.class;&lt;BR /&gt;&amp;nbsp; proc_code=put(age,2.);&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;%macro cohorts(want=,code=);&lt;BR /&gt;data &amp;amp;want;&lt;BR /&gt;set have;&lt;BR /&gt;where Proc_code in(&amp;amp;code) ;&lt;BR /&gt;%mend;&lt;/P&gt;&lt;P&gt;%cohorts(want=headache,code="11" "12" "13" "38")&lt;BR /&gt;%cohorts(want=happy,code="15" "16")&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Sep 2012 20:14:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Statistical-Procedures/MACRO-CODE/m-p/80431#M3854</guid>
      <dc:creator>Linlin</dc:creator>
      <dc:date>2012-09-28T20:14:16Z</dc:date>
    </item>
    <item>
      <title>Re: MACRO CODE</title>
      <link>https://communities.sas.com/t5/Statistical-Procedures/MACRO-CODE/m-p/80432#M3855</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Linlin,&lt;/P&gt;&lt;P&gt;It works perfectly fine now. Whats the trick there?&lt;/P&gt;&lt;P&gt;Why shouldnt we seperate them by a comma????&lt;/P&gt;&lt;P&gt;PLease explain&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Sep 2012 20:18:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Statistical-Procedures/MACRO-CODE/m-p/80432#M3855</guid>
      <dc:creator>robertrao</dc:creator>
      <dc:date>2012-09-28T20:18:30Z</dc:date>
    </item>
    <item>
      <title>Re: MACRO CODE</title>
      <link>https://communities.sas.com/t5/Statistical-Procedures/MACRO-CODE/m-p/80433#M3856</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The comma is no longer required for use with the IN operator though much sample code will use commas as it was previously require. I'm not sure which exact version made the change.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Sep 2012 22:01:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Statistical-Procedures/MACRO-CODE/m-p/80433#M3856</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2012-09-28T22:01:41Z</dc:date>
    </item>
    <item>
      <title>Re: MACRO CODE</title>
      <link>https://communities.sas.com/t5/Statistical-Procedures/MACRO-CODE/m-p/80434#M3857</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Comma separates the macro variables. when we use "&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 12.727272033691406px; background-color: #ffffff;"&gt;%cohorts(want=headache,code="11" ,"12" ,"13", "38")".&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 12.727272033691406px; background-color: #ffffff;"&gt;macro variable code only takes one value (code="11").&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Sep 2012 22:09:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Statistical-Procedures/MACRO-CODE/m-p/80434#M3857</guid>
      <dc:creator>Linlin</dc:creator>
      <dc:date>2012-09-28T22:09:10Z</dc:date>
    </item>
  </channel>
</rss>

