<?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 Re: SAS Macros Help - Generating IF ELSE Conditions dynamically using macros in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/SAS-Macros-Help-Generating-IF-ELSE-Conditions-dynamically-using/m-p/78528#M288149</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Without seeing your code it is impossible to know why you get the above mentioned error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;An alternative way could be using user-defined formats to assign labels(Ages 0 or greater than 100 are not accounted for).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Zafer&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc format;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; value age&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 -&amp;lt; 20 = 'Child' /* [1,20) */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20 -&amp;lt; 40 = 'Youth' /* [20,40) */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 40 - 100 = 'Oldies' /* [40,100] */;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;data test;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; input Age;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Group = PUT(Age,age.);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; put (Age Group) (=); &lt;/P&gt;&lt;P&gt;datalines;&lt;/P&gt;&lt;P&gt;1&lt;/P&gt;&lt;P&gt;19&lt;/P&gt;&lt;P&gt;20&lt;/P&gt;&lt;P&gt;39&lt;/P&gt;&lt;P&gt;40&lt;/P&gt;&lt;P&gt;100&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Age=1 Group=Child&lt;/P&gt;&lt;P&gt;Age=19 Group=Child&lt;/P&gt;&lt;P&gt;Age=20 Group=Youth&lt;/P&gt;&lt;P&gt;Age=39 Group=Youth&lt;/P&gt;&lt;P&gt;Age=40 Group=Oldies&lt;/P&gt;&lt;P&gt;Age=100 Group=Oldies&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 08 Jun 2012 08:26:11 GMT</pubDate>
    <dc:creator>Alpay</dc:creator>
    <dc:date>2012-06-08T08:26:11Z</dc:date>
    <item>
      <title>SAS Macros Help - Generating IF ELSE Conditions dynamically using macros</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-Macros-Help-Generating-IF-ELSE-Conditions-dynamically-using/m-p/78526#M288147</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; I am facing the problem here. I am using sas 9.2 and would like to build a dataset in the following way.&lt;/P&gt;&lt;P&gt;I have a table called rules which has variable Name, and its lower and upper bound based classifications&lt;/P&gt;&lt;P&gt;eg.&lt;/P&gt;&lt;P&gt;age 1&amp;nbsp;&amp;nbsp; 20 Child&lt;/P&gt;&lt;P&gt;age 20 40 Youth&lt;/P&gt;&lt;P&gt;age 40 100 Oldies&lt;/P&gt;&lt;P&gt;height.....&lt;/P&gt;&lt;P&gt;etc...&lt;/P&gt;&lt;P&gt;Now i want to run this on a base data, and create a separate group variable which will indicate whether they are children Youth or Oldies.&lt;/P&gt;&lt;P&gt;I am stuck at this for quite sometime now trying to use macros to generate the if conditions, but end up getting a &lt;STRONG&gt;this statement is not valid or out of order&lt;/STRONG&gt; as error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance for the help. &lt;/P&gt;&lt;P&gt;CHeers&lt;/P&gt;&lt;P&gt;Sudharshan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Jun 2012 07:24:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-Macros-Help-Generating-IF-ELSE-Conditions-dynamically-using/m-p/78526#M288147</guid>
      <dc:creator>psbbboyz</dc:creator>
      <dc:date>2012-06-08T07:24:07Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Macros Help - Generating IF ELSE Conditions dynamically using macros</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-Macros-Help-Generating-IF-ELSE-Conditions-dynamically-using/m-p/78527#M288148</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Is this what you want..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data rules;&lt;/P&gt;&lt;P&gt;input lbound hbound desc $;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;1&amp;nbsp; 20 Child&lt;/P&gt;&lt;P&gt;20 40 Youth&lt;/P&gt;&lt;P&gt;40 100 Oldies&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt; data fmt (keep=FMTNAME START END LABEL TYPE);&lt;/P&gt;&lt;P&gt;length FMTNAME $30. START END $256.;&lt;/P&gt;&lt;P&gt;set WORK.rules;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FMTNAME = 'age' ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; START&amp;nbsp;&amp;nbsp; = lbound;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; END&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = hbound;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LABEL&amp;nbsp;&amp;nbsp; = desc;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TYPE&amp;nbsp;&amp;nbsp;&amp;nbsp; = 'N' ;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;proc format cntlin=fmt lib=work; run;&lt;/P&gt;&lt;P&gt;data basetable;&lt;/P&gt;&lt;P&gt;input age;&lt;/P&gt;&lt;P&gt;desc=put(age,age.);&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;24&lt;/P&gt;&lt;P&gt;45&lt;/P&gt;&lt;P&gt;22&lt;/P&gt;&lt;P&gt;99&lt;/P&gt;&lt;P&gt;11&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Shiva&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Jun 2012 08:16:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-Macros-Help-Generating-IF-ELSE-Conditions-dynamically-using/m-p/78527#M288148</guid>
      <dc:creator>shivas</dc:creator>
      <dc:date>2012-06-08T08:16:10Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Macros Help - Generating IF ELSE Conditions dynamically using macros</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-Macros-Help-Generating-IF-ELSE-Conditions-dynamically-using/m-p/78528#M288149</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Without seeing your code it is impossible to know why you get the above mentioned error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;An alternative way could be using user-defined formats to assign labels(Ages 0 or greater than 100 are not accounted for).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Zafer&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc format;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; value age&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 -&amp;lt; 20 = 'Child' /* [1,20) */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20 -&amp;lt; 40 = 'Youth' /* [20,40) */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 40 - 100 = 'Oldies' /* [40,100] */;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;data test;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; input Age;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Group = PUT(Age,age.);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; put (Age Group) (=); &lt;/P&gt;&lt;P&gt;datalines;&lt;/P&gt;&lt;P&gt;1&lt;/P&gt;&lt;P&gt;19&lt;/P&gt;&lt;P&gt;20&lt;/P&gt;&lt;P&gt;39&lt;/P&gt;&lt;P&gt;40&lt;/P&gt;&lt;P&gt;100&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Age=1 Group=Child&lt;/P&gt;&lt;P&gt;Age=19 Group=Child&lt;/P&gt;&lt;P&gt;Age=20 Group=Youth&lt;/P&gt;&lt;P&gt;Age=39 Group=Youth&lt;/P&gt;&lt;P&gt;Age=40 Group=Oldies&lt;/P&gt;&lt;P&gt;Age=100 Group=Oldies&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Jun 2012 08:26:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-Macros-Help-Generating-IF-ELSE-Conditions-dynamically-using/m-p/78528#M288149</guid>
      <dc:creator>Alpay</dc:creator>
      <dc:date>2012-06-08T08:26:11Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Macros Help - Generating IF ELSE Conditions dynamically using macros</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-Macros-Help-Generating-IF-ELSE-Conditions-dynamically-using/m-p/78529#M288150</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks a lot guys&lt;/P&gt;&lt;P&gt;I didn't know of proc format previously, and this definitely seems to be a better option than the previous idea of mine&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Jun 2012 10:41:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-Macros-Help-Generating-IF-ELSE-Conditions-dynamically-using/m-p/78529#M288150</guid>
      <dc:creator>psbbboyz</dc:creator>
      <dc:date>2012-06-08T10:41:48Z</dc:date>
    </item>
  </channel>
</rss>

