<?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: How to design the code with multiple conditions? in SAS Enterprise Guide</title>
    <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-design-the-code-with-multiple-conditions/m-p/554234#M33581</link>
    <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/270821"&gt;@y3arire_7&lt;/a&gt;&amp;nbsp;if I understand your question correctly you are going to need to make use of the &lt;A href="https://go.documentation.sas.com/?cdcId=pgmsascdc&amp;amp;cdcVersion=9.4_3.4&amp;amp;docsetId=lrcon&amp;amp;docsetTarget=n138da4gme3zb7n1nifpfhqv7clq.htm&amp;amp;locale=en" target="_self"&gt;by group processing&lt;/A&gt;,&amp;nbsp;&lt;A href="https://go.documentation.sas.com/?cdcId=pgmsascdc&amp;amp;cdcVersion=9.4_3.4&amp;amp;docsetId=lestmtsref&amp;amp;docsetTarget=p0t2ac0tfzcgbjn112mu96hkgg9o.htm&amp;amp;locale=en" target="_self"&gt;retain statement&lt;/A&gt; and &lt;A href="https://go.documentation.sas.com/?cdcId=pgmsascdc&amp;amp;cdcVersion=9.4_3.4&amp;amp;docsetId=lefunctionsref&amp;amp;docsetTarget=n0l66p5oqex1f2n1quuopdvtcjqb.htm&amp;amp;locale=en" target="_self"&gt;lag&lt;EM&gt;n&amp;nbsp;&lt;/EM&gt;function&lt;/A&gt;&amp;nbsp;(see links to documentation)&lt;BR /&gt;&lt;BR /&gt;Below is an example using your sample data, I first load your data along with your desired result (want_type), then calculate the type, and check it against your desired value setting correct to YES|NO&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/* Load test data */

data have ;
	format date yymmn6. ;
	input date : yymmn6. cid $ balance $ want_type $ ;
cards; 
201304	1	0	G
201305	1	0	G
201306	1	120	G
201307	1	0	G
201308	1	130	G
201309	1	50	G
201310	1	80	G
201311	1	0	G
201312	1	0	G
201401	1	50	G
201402	1	70	B
201403	1	0	B
201404	1	0	B
201405	1	0	B
201406	1	0	G
201407	1	50	B
201408	1	30	B
201409	1	80	B
201410	1	0	G
201411	1	0	G
201412	1	0	G
201304	8	0	G
201305	8	0	G
201306	8	0	G
201307	8	0	G
201308	8	0	G
201309	8	0	G
201310	8	0	G
201311	8	0	G
201312	8	0	G
201401	8	0	G
201402	8	0	G
201403	8	0	G
201404	8	70	G
201405	8	80	G
201406	8	0	G
201407	8	0	G
201408	8	50	G
201409	8	60	G
201410	8	70	G
201411	8	90	B
201412	8	30	B
;
run ;

/* Sort data by cid &amp;amp; date */
proc sort data=have ;
	by cid date ;
run ;


data want ;
	/* Retain a counter, keeps the value of count over itterations of the data step */
	retain count 0 ;
	/* Read input data */
	set have ;
	by cid date ;
	/* If this is the first observation for a customer ID then reset count to 0 */
	if first.cid then
		count=0 ;
	/* if there is a +ve balance add 1 to counter */
	if balance&amp;gt;0 then
		count=count+1 ;
	/* if the 12th prior balance is +ve and count is +ve then subtract 1 from count */
	check=lag12(balance) ;
	if count&amp;gt;0 and lag12(balance)&amp;gt;0 then
	do ;
		count=count-1 ;
	end ;
	/* if count&amp;gt;=6 set type to B else G */
	if count&amp;gt;=6 then
		type="B" ;
	else
		type="G" ;
	/* compare the calculated type to test data want_type */
	if type=want_type then
		correct="YES" ;
	else
		correct="NO" ;
	
run ;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 26 Apr 2019 12:46:29 GMT</pubDate>
    <dc:creator>AMSAS</dc:creator>
    <dc:date>2019-04-26T12:46:29Z</dc:date>
    <item>
      <title>How to design the code with multiple conditions?</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-design-the-code-with-multiple-conditions/m-p/554164#M33576</link>
      <description>&lt;P&gt;Hihi &lt;img id="smileyvery-happy" class="emoticon emoticon-smileyvery-happy" src="https://communities.sas.com/i/smilies/16x16_smiley-very-happy.png" alt="Smiley Very Happy" title="Smiley Very Happy" /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;May I know how to design the code with multiple conditions?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1) The result for "Desired Type" needs to be by "Customer ID".&lt;/P&gt;&lt;P&gt;2) There are&amp;nbsp;few conditions to produce "Desired Type" :&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&amp;nbsp;( if the&amp;nbsp;&lt;FONT color="#ff0000"&gt;count of the value&amp;nbsp;in "Balance" more than 0&lt;/FONT&gt; ) &lt;FONT color="#0000ff"&gt;greater than or equal to 6 in the past 12 months&lt;/FONT&gt;&amp;nbsp;&lt;FONT color="#993300"&gt;then the "Desired Type" is "B" else "G"&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;On top of that, could anyone share the opinion how to understand or simplify the concept to design the code when encountering the multiple or nested conditions?&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you so much &lt;img id="heart" class="emoticon emoticon-heart" src="https://communities.sas.com/i/smilies/16x16_heart.png" alt="Heart" title="Heart" /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Period&lt;/TD&gt;&lt;TD&gt;Customer ID&lt;/TD&gt;&lt;TD&gt;Balance&lt;/TD&gt;&lt;TD&gt;Desired Type&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201304&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;G&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201305&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;G&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201306&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;120&lt;/TD&gt;&lt;TD&gt;G&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201307&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;G&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201308&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;130&lt;/TD&gt;&lt;TD&gt;G&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201309&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;50&lt;/TD&gt;&lt;TD&gt;G&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201310&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;80&lt;/TD&gt;&lt;TD&gt;G&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201311&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;G&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201312&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;G&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201401&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;50&lt;/TD&gt;&lt;TD&gt;G&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201402&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;70&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201403&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201404&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201405&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201406&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;G&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201407&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;50&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201408&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201409&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;80&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201410&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;G&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201411&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;G&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201412&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;G&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201304&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;G&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201305&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;G&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201306&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;G&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201307&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;G&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201308&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;G&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201309&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;G&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201310&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;G&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201311&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;G&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201312&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;G&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201401&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;G&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201402&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;G&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201403&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;G&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201404&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;70&lt;/TD&gt;&lt;TD&gt;G&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201405&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;80&lt;/TD&gt;&lt;TD&gt;G&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201406&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;G&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201407&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;G&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201408&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;50&lt;/TD&gt;&lt;TD&gt;G&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201409&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;60&lt;/TD&gt;&lt;TD&gt;G&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201410&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;70&lt;/TD&gt;&lt;TD&gt;G&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201411&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;90&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201412&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Fri, 26 Apr 2019 05:09:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-design-the-code-with-multiple-conditions/m-p/554164#M33576</guid>
      <dc:creator>y3arire_7</dc:creator>
      <dc:date>2019-04-26T05:09:54Z</dc:date>
    </item>
    <item>
      <title>Re: How to design the code with multiple conditions?</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-design-the-code-with-multiple-conditions/m-p/554234#M33581</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/270821"&gt;@y3arire_7&lt;/a&gt;&amp;nbsp;if I understand your question correctly you are going to need to make use of the &lt;A href="https://go.documentation.sas.com/?cdcId=pgmsascdc&amp;amp;cdcVersion=9.4_3.4&amp;amp;docsetId=lrcon&amp;amp;docsetTarget=n138da4gme3zb7n1nifpfhqv7clq.htm&amp;amp;locale=en" target="_self"&gt;by group processing&lt;/A&gt;,&amp;nbsp;&lt;A href="https://go.documentation.sas.com/?cdcId=pgmsascdc&amp;amp;cdcVersion=9.4_3.4&amp;amp;docsetId=lestmtsref&amp;amp;docsetTarget=p0t2ac0tfzcgbjn112mu96hkgg9o.htm&amp;amp;locale=en" target="_self"&gt;retain statement&lt;/A&gt; and &lt;A href="https://go.documentation.sas.com/?cdcId=pgmsascdc&amp;amp;cdcVersion=9.4_3.4&amp;amp;docsetId=lefunctionsref&amp;amp;docsetTarget=n0l66p5oqex1f2n1quuopdvtcjqb.htm&amp;amp;locale=en" target="_self"&gt;lag&lt;EM&gt;n&amp;nbsp;&lt;/EM&gt;function&lt;/A&gt;&amp;nbsp;(see links to documentation)&lt;BR /&gt;&lt;BR /&gt;Below is an example using your sample data, I first load your data along with your desired result (want_type), then calculate the type, and check it against your desired value setting correct to YES|NO&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/* Load test data */

data have ;
	format date yymmn6. ;
	input date : yymmn6. cid $ balance $ want_type $ ;
cards; 
201304	1	0	G
201305	1	0	G
201306	1	120	G
201307	1	0	G
201308	1	130	G
201309	1	50	G
201310	1	80	G
201311	1	0	G
201312	1	0	G
201401	1	50	G
201402	1	70	B
201403	1	0	B
201404	1	0	B
201405	1	0	B
201406	1	0	G
201407	1	50	B
201408	1	30	B
201409	1	80	B
201410	1	0	G
201411	1	0	G
201412	1	0	G
201304	8	0	G
201305	8	0	G
201306	8	0	G
201307	8	0	G
201308	8	0	G
201309	8	0	G
201310	8	0	G
201311	8	0	G
201312	8	0	G
201401	8	0	G
201402	8	0	G
201403	8	0	G
201404	8	70	G
201405	8	80	G
201406	8	0	G
201407	8	0	G
201408	8	50	G
201409	8	60	G
201410	8	70	G
201411	8	90	B
201412	8	30	B
;
run ;

/* Sort data by cid &amp;amp; date */
proc sort data=have ;
	by cid date ;
run ;


data want ;
	/* Retain a counter, keeps the value of count over itterations of the data step */
	retain count 0 ;
	/* Read input data */
	set have ;
	by cid date ;
	/* If this is the first observation for a customer ID then reset count to 0 */
	if first.cid then
		count=0 ;
	/* if there is a +ve balance add 1 to counter */
	if balance&amp;gt;0 then
		count=count+1 ;
	/* if the 12th prior balance is +ve and count is +ve then subtract 1 from count */
	check=lag12(balance) ;
	if count&amp;gt;0 and lag12(balance)&amp;gt;0 then
	do ;
		count=count-1 ;
	end ;
	/* if count&amp;gt;=6 set type to B else G */
	if count&amp;gt;=6 then
		type="B" ;
	else
		type="G" ;
	/* compare the calculated type to test data want_type */
	if type=want_type then
		correct="YES" ;
	else
		correct="NO" ;
	
run ;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 26 Apr 2019 12:46:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-design-the-code-with-multiple-conditions/m-p/554234#M33581</guid>
      <dc:creator>AMSAS</dc:creator>
      <dc:date>2019-04-26T12:46:29Z</dc:date>
    </item>
    <item>
      <title>Re: How to design the code with multiple conditions?</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-design-the-code-with-multiple-conditions/m-p/554368#M33586</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/270821"&gt;@y3arire_7&lt;/a&gt;,&amp;nbsp;I'm guessing that your two threads are related &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You can expand on my code given in your thread &lt;A href="https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-assign-a-value-with-conditions-for-two-variables-and/m-p/554197#M33579" target="_self"&gt;here&lt;/A&gt;. However, for a problem like this, I would use PROC SQL and do something like this.&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/270821"&gt;@y3arire_7&lt;/a&gt;&amp;nbsp;, did this work for you? &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have ;
 format Period yymmn6. ;
 input Period :yymmn6. Customer_ID Balance;
cards; 
201304 1 0
201305 1 0
201306 1 120
201307 1 0
201308 1 130
201309 1 50
201310 1 80
201311 1 0
201312 1 0
201401 1 50
201402 1 70
201403 1 0
201404 1 0
201405 1 0
201406 1 0
201407 1 50
201408 1 30
201409 1 80
201410 1 0
201411 1 0
201412 1 0
201304 8 0
201305 8 0
201306 8 0
201307 8 0
201308 8 0
201309 8 0
201310 8 0
201311 8 0
201312 8 0
201401 8 0
201402 8 0
201403 8 0
201404 8 70
201405 8 80
201406 8 0
201407 8 0
201408 8 50
201409 8 60
201410 8 70
201411 8 90
201412 8 30
;
run;

proc sql;
   create table want as
   select *, 
          (select count(*) from have 
              where Customer_ID=a.Customer_ID 
                and Balance&amp;gt;0
                and (intnx('month', a.Period, -11, 's') le Period le a.Period)) as count,
         (case when calculated count ge 6 then 'B' 
               else 'G' end) as Desired_Type
   from have as a;
quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 29 Apr 2019 21:37:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-to-design-the-code-with-multiple-conditions/m-p/554368#M33586</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2019-04-29T21:37:52Z</dc:date>
    </item>
  </channel>
</rss>

