<?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 code help in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/SAS-code-help/m-p/505761#M135477</link>
    <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
set have;
if var2 lt 10 and var3 gt 15
then do;
if var1 = 'a' then final = 'a-1';
else if var1 = 'b' then final = 'b-1';
else if var1 = 'c' then final = 'c-1';
end;

... similarly for points 2 and 3 ...

run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Thu, 18 Oct 2018 20:36:24 GMT</pubDate>
    <dc:creator>pink_poodle</dc:creator>
    <dc:date>2018-10-18T20:36:24Z</dc:date>
    <item>
      <title>SAS code help</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-code-help/m-p/505752#M135474</link>
      <description>&lt;P&gt;Hi I have data like this&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;var1&lt;/TD&gt;&lt;TD&gt;var2&lt;/TD&gt;&lt;TD&gt;var3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;a&lt;/TD&gt;&lt;TD&gt;16&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;a&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;a&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;a&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;b&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;b&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;a&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;16&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;b&lt;/TD&gt;&lt;TD&gt;16&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;c&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;b&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;c&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;18&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;a&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;b&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;c&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;c&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;b&lt;/TD&gt;&lt;TD&gt;17&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;c&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;and want to apply these 3 conditions&lt;/P&gt;&lt;P&gt;1:&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var2&amp;lt;10&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var3&amp;gt;15&lt;/P&gt;&lt;P&gt;then the value in new final column should be = "a-1" (if var1=a), "1-b"(if var1=b), "c-1"(if var1=c)&lt;/P&gt;&lt;P&gt;2:&amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var2&amp;gt;10&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var3&amp;gt;15&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;SPAN&gt;then the value in new final column should be = "a-2" (if var1=a), "2-b"(if var1=b), "c-2"(if var1=c)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;3:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; var2&amp;gt;10&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; var3&amp;lt;15&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;then the value in new final column should be = "a-3" (if var1=a), "3-b"(if var1=b), "c-3"(if var1=c)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I want my output be like this&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;var1&lt;/TD&gt;&lt;TD&gt;var2&lt;/TD&gt;&lt;TD&gt;var3&lt;/TD&gt;&lt;TD&gt;final&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;a&lt;/TD&gt;&lt;TD&gt;16&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;a-3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;a&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;19&lt;/TD&gt;&lt;TD&gt;a-1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;a&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;a&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;b&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;3-b&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;b&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;a&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;16&lt;/TD&gt;&lt;TD&gt;a-2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;b&lt;/TD&gt;&lt;TD&gt;16&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;3-b&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;c&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;c-3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;b&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;c&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;18&lt;/TD&gt;&lt;TD&gt;c-1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;a&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;a-3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;b&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;3-b&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;c&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;c-3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;c&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;c-3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;b&lt;/TD&gt;&lt;TD&gt;17&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;c&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c-3&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please help me in code&lt;/P&gt;</description>
      <pubDate>Thu, 18 Oct 2018 20:20:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-code-help/m-p/505752#M135474</guid>
      <dc:creator>Nidhi_vats</dc:creator>
      <dc:date>2018-10-18T20:20:53Z</dc:date>
    </item>
    <item>
      <title>Re: SAS code help</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-code-help/m-p/505761#M135477</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
set have;
if var2 lt 10 and var3 gt 15
then do;
if var1 = 'a' then final = 'a-1';
else if var1 = 'b' then final = 'b-1';
else if var1 = 'c' then final = 'c-1';
end;

... similarly for points 2 and 3 ...

run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 18 Oct 2018 20:36:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-code-help/m-p/505761#M135477</guid>
      <dc:creator>pink_poodle</dc:creator>
      <dc:date>2018-10-18T20:36:24Z</dc:date>
    </item>
    <item>
      <title>Re: SAS code help</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-code-help/m-p/505794#M135493</link>
      <description>&lt;P&gt;Here's one way.&lt;/P&gt;
&lt;PRE&gt;data want;
   set have;
   length newfinal $ 5;
   select ;
      when (var2&amp;lt;10) select ;
         when (var3&amp;gt;15) select (var1);
            when ('a','c') newfinal = catx('-',var1,1);
            when ('b')     newfinal = catx('-',1,var1);
            otherwise;
         end;
         otherwise;
      end;
      when (var2&amp;gt;10) select ;
         when(var3&amp;gt;15) select (var1);
            when ('a','c') newfinal = catx('-',var1,2);
            when ('b')     newfinal = catx('-',2,var1);
            otherwise;
         end;
         when(var3&amp;lt;15) select (var1);
            when ('a','c') newfinal = catx('-',var1,3);
            when ('b')     newfinal = catx('-',3,var1);
            otherwise;
         end;
         otherwise;
      end;
      otherwise;
   end;
run;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;SELECT/WHEN/END blocks are a way of simplifying multiple similar If/then/else. without a variable after select you can place an expression in the WHEN statement to specify condition. With a variable then you can provide lists of values.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The otherwise statement in each block is what you would do if none of the specified conditions were true.&lt;/P&gt;
&lt;P&gt;CATX is a string function to place the first value between all occurrences of other variables and removes any trailing blanks there might be.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Another using a function that can return up to three values depending on a condition&lt;/P&gt;
&lt;PRE&gt;data want;
   set have;
   length newfinal $ 5;
   select ;
      when (var2&amp;lt;10) select ;
         when (var3&amp;gt;15) newfinal= ifc(var1='b','1-b',catx('-',var1,1));
         otherwise;
      end;
      when (var2&amp;gt;10) select ;
         when (var3&amp;gt;15) newfinal= ifc(var1='b','2-b',catx('-',var1,2));
         when (var3&amp;lt;15) newfinal= ifc(var1='b','3-b',catx('-',var1,3));
         otherwise;
      end;
      otherwise;
   end;
run;&lt;/PRE&gt;</description>
      <pubDate>Thu, 18 Oct 2018 23:22:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-code-help/m-p/505794#M135493</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2018-10-18T23:22:21Z</dc:date>
    </item>
    <item>
      <title>Re: SAS code help</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-code-help/m-p/505846#M135517</link>
      <description>&lt;P&gt;I also tried with these tree loops but is it possible that we can apply these three conditions in single and compact loop?&lt;/P&gt;</description>
      <pubDate>Fri, 19 Oct 2018 07:33:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-code-help/m-p/505846#M135517</guid>
      <dc:creator>Nidhi_vats</dc:creator>
      <dc:date>2018-10-19T07:33:42Z</dc:date>
    </item>
    <item>
      <title>Re: SAS code help</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-code-help/m-p/505847#M135518</link>
      <description>&lt;P&gt;Please help me with a single loop&lt;/P&gt;</description>
      <pubDate>Fri, 19 Oct 2018 07:35:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-code-help/m-p/505847#M135518</guid>
      <dc:creator>Nidhi_vats</dc:creator>
      <dc:date>2018-10-19T07:35:46Z</dc:date>
    </item>
    <item>
      <title>Re: SAS code help</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-code-help/m-p/505893#M135534</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/234688"&gt;@Nidhi_vats&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;I also tried with these tree loops but is it possible that we can apply these three conditions in single and compact loop?&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Maybe i am blind, but i can't see any loops (except for the implicit data-step-loop) in the suggested solution.&lt;/P&gt;</description>
      <pubDate>Fri, 19 Oct 2018 11:47:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-code-help/m-p/505893#M135534</guid>
      <dc:creator>andreas_lds</dc:creator>
      <dc:date>2018-10-19T11:47:33Z</dc:date>
    </item>
    <item>
      <title>Re: SAS code help</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-code-help/m-p/505906#M135537</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/234688"&gt;@Nidhi_vats&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;I also tried with these tree loops but is it possible that we can apply these three conditions in single and compact loop?&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/234688"&gt;@Nidhi_vats&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Is this "compact" enough?&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
set have;
length final $3;
_n_=3*(var2&amp;gt;10)*(var3~=15)+(var3&amp;gt;15)*((var2~=10)-2*(var2&amp;gt;10));
if _n_ then final=putc(cats(var1,'-',_n_),ifc(var1='b','$revers','$'),3);
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 19 Oct 2018 13:12:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-code-help/m-p/505906#M135537</guid>
      <dc:creator>FreelanceReinh</dc:creator>
      <dc:date>2018-10-19T13:12:58Z</dc:date>
    </item>
    <item>
      <title>Re: SAS code help</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-code-help/m-p/505992#M135573</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/32733"&gt;@FreelanceReinh&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/234688"&gt;@Nidhi_vats&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;I also tried with these tree loops but is it possible that we can apply these three conditions in single and compact loop?&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/234688"&gt;@Nidhi_vats&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Is this "compact" enough?&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
set have;
length final $3;
_n_=3*(var2&amp;gt;10)*(var3~=15)+(var3&amp;gt;15)*((var2~=10)-2*(var2&amp;gt;10));
if _n_ then final=putc(cats(var1,'-',_n_),ifc(var1='b','$revers','$'),3);
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Slick.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Of course I am waiting for the OP to come back with another question involving var1 = d (or ??) and another operation like * ….&lt;/P&gt;</description>
      <pubDate>Fri, 19 Oct 2018 15:53:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-code-help/m-p/505992#M135573</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2018-10-19T15:53:51Z</dc:date>
    </item>
  </channel>
</rss>

