<?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 streamline this data generating process? in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262642#M51334</link>
    <description>&lt;P&gt;Hi Reeza, I am very new to this forum, I just want to be respectful to everyone who responded to me. Clearly I see this is not the right way to interact with anyone in this forum, thanks for the heads up.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I ran your codes, it has done 50% of what I wanted, the desired result I would like to see is:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Account_ID P1 P2 P3 P4 P5 P6 P7&lt;/P&gt;&lt;P&gt;A00001&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp; 0&lt;/P&gt;&lt;P&gt;A00002&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp; 0 &amp;nbsp;&amp;nbsp; 3 &amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp; 0&lt;/P&gt;&lt;P&gt;A00003&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp; 3 &amp;nbsp;&amp;nbsp; 0 &amp;nbsp; 0&amp;nbsp;&amp;nbsp; 0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;After I got these result, and I would just want to figure out the maximum and minimum months each qualified account has stayed by max/min (of p1-p7).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Sat, 09 Apr 2016 04:36:45 GMT</pubDate>
    <dc:creator>Dancer_on_data</dc:creator>
    <dc:date>2016-04-09T04:36:45Z</dc:date>
    <item>
      <title>How to streamline this data generating process?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262616#M51314</link>
      <description>&lt;P&gt;Hello everyone, recently, I have encountered a problem that involves numerous if-else statements. Given the sheer volume of my data, if I were to follow this route, I would have spent days or even weeks keying in if else statements. I am wondering if there is a way to iterate this process through a combinantion of array and macro techniques. An example is shown below:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Let's say there is a data set named "account" that contains 100 observations and 11 variables.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Account_ID M1 M2 M3 M4 M5 M6 M7 M8 M9 M10&lt;/P&gt;&lt;P&gt;A00001&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C&amp;nbsp;&amp;nbsp;&amp;nbsp; M&amp;nbsp;&amp;nbsp; M&amp;nbsp;&amp;nbsp; M&amp;nbsp;&amp;nbsp; M&amp;nbsp;&amp;nbsp; M&amp;nbsp;&amp;nbsp; M&amp;nbsp;&amp;nbsp; M&amp;nbsp;&amp;nbsp; M&amp;nbsp; P&lt;/P&gt;&lt;P&gt;A00002&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C&amp;nbsp;&amp;nbsp;&amp;nbsp; P&amp;nbsp;&amp;nbsp; C&amp;nbsp;&amp;nbsp;&amp;nbsp; M&amp;nbsp;&amp;nbsp; M&amp;nbsp;&amp;nbsp; M&amp;nbsp;&amp;nbsp; M&amp;nbsp;&amp;nbsp; M&amp;nbsp;&amp;nbsp; M&amp;nbsp; M&lt;/P&gt;&lt;P&gt;A00003&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; P&amp;nbsp;&amp;nbsp;&amp;nbsp; P&amp;nbsp;&amp;nbsp; M&amp;nbsp;&amp;nbsp;&amp;nbsp; C&amp;nbsp;&amp;nbsp; M&amp;nbsp;&amp;nbsp; M&amp;nbsp;&amp;nbsp; M&amp;nbsp;&amp;nbsp; M&amp;nbsp;&amp;nbsp; M&amp;nbsp; M&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;A00100&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C&amp;nbsp;&amp;nbsp;&amp;nbsp; M&amp;nbsp;&amp;nbsp; C&amp;nbsp;&amp;nbsp;&amp;nbsp; M&amp;nbsp;&amp;nbsp; M&amp;nbsp;&amp;nbsp; M&amp;nbsp;&amp;nbsp; M&amp;nbsp;&amp;nbsp; M&amp;nbsp;&amp;nbsp; M&amp;nbsp; M&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What I tried to do is illustated in my codes below:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Data Account_Final;&lt;/P&gt;&lt;P&gt;Set Account;&lt;/P&gt;&lt;P&gt;if M1="C" and M2="M" and M3="M" and M4="M" then P1=3;&lt;/P&gt;&lt;P&gt;else P1=0;&lt;/P&gt;&lt;P&gt;if M2="C" and M3="M" and M4="M" and M5="M" then P2=3;&lt;/P&gt;&lt;P&gt;else P2=0;&lt;/P&gt;&lt;P&gt;if M3="C" and M4="M" and M5="M" and M6="M" then P3=3;&lt;/P&gt;&lt;P&gt;else P3=0;&lt;/P&gt;&lt;P&gt;if M4="C" and M5="M" and M6="M" and M7="M" then P4=3;&lt;/P&gt;&lt;P&gt;else P4=0;&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;if M7="C" and M8="M" and M9="M" and M10="M" then P7=3;&lt;/P&gt;&lt;P&gt;else P7=0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/***codes below are slightly different from those above***/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;if M1="C" and M2="M" and M3="M" and M4="M"&amp;nbsp; M5="M" then P8=4;&lt;/P&gt;&lt;P&gt;else P8=0;&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;if M6="C" and M7="M" and M8="M" and M9="M"&amp;nbsp; M10then P14=4;&lt;/P&gt;&lt;P&gt;else P7=0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*** the "if statement" expands by increment of one "and info" until it reaches the last variable "M10" in the data set***/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;if M1="C" and M2="M" and M3="M" and M4="M"&amp;nbsp; and M5="M" and&amp;nbsp; ... and M10="M" then PX=X;&lt;/P&gt;&lt;P&gt;else PX=0;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;As you can see, I have to write a lot of if else statements to accomplish my goal, but if the variable goes from 11 to 100, I am not able to write the lines of codes like I did above. I am wondering if there is another way for me to efficiently accomplish my goal with way fewer codes.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks so much.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best,&lt;/P&gt;</description>
      <pubDate>Fri, 08 Apr 2016 23:43:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262616#M51314</guid>
      <dc:creator>Dancer_on_data</dc:creator>
      <dc:date>2016-04-08T23:43:20Z</dc:date>
    </item>
    <item>
      <title>Re: How to streamline this data generating process?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262624#M51320</link>
      <description>&lt;P&gt;What's the logic behind your rules?&lt;/P&gt;</description>
      <pubDate>Sat, 09 Apr 2016 00:46:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262624#M51320</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-04-09T00:46:49Z</dc:date>
    </item>
    <item>
      <title>Re: How to streamline this data generating process?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262625#M51321</link>
      <description>&lt;P&gt;If you can have multiple occurences of 'CMMM' then you need to modify this code to loop through once you first find your X.&lt;/P&gt;
&lt;P&gt;Otherwise you can concatenate the results and then search for the string CMMM. The index will be the first position and you can set the P variable to 1.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
informat account_id $8. m1-m10 $1.;
input Account_ID $ M1-M10 $;
cards;
A00001 C M   M    M   M   M   M   M   M  P
A00002 C P   C    M   M   M   M   M   M  M
A00003 P P   M    C   M   M   M   M   M  M
;
run;

data want;
set have;
array m(10) m1-m10;
array p(10) p1-p10 (10*0);
	text=catt(of m1-m10);
	x= index(text, 'CMMM') ;
	if x&amp;gt;0 then p(x)=1;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;EDIT: re-reading this I don't think I got your rule, which is why you may want to explain it &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 09 Apr 2016 00:57:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262625#M51321</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-04-09T00:57:45Z</dc:date>
    </item>
    <item>
      <title>Re: How to streamline this data generating process?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262628#M51323</link>
      <description>&lt;P&gt;I've borrowed&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13879"&gt;@Reeza﻿&lt;/a&gt;'s code to do just the "3" scenario. This can be enhanced to do the other combinations.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
informat account_id $8. m1-m10 $1.;
input Account_ID $ M1-M10 $;
cards;
A00001 C M   M    M   M   M   M   M   M  P
A00002 C P   C    M   M   M   M   M   M  M
A00003 P P   M    C   M   M   M   M   M  M
;
run;

data want;
set have;
array m(10) m1-m10;
array p(10) p1-p10 (10*0);
do I = 1 to 7;
	text=catt(m(i), m(i+1), m(i+2), m(i+3);
	if index(text, 'CMMM') then p(i) = 3;
end;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 09 Apr 2016 02:48:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262628#M51323</guid>
      <dc:creator>SASKiwi</dc:creator>
      <dc:date>2016-04-09T02:48:02Z</dc:date>
    </item>
    <item>
      <title>Re: How to streamline this data generating process?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262630#M51324</link>
      <description>&lt;P&gt;Hi Reeza, thanks for your reply, let's think of M1- M10 as the first month all the way to the 10th month, and C stands for Core, M for Mid and P for Premier.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My logic is to figure out two things: 1, How many accounts moved from Core to Mid, and they also must stay in Mid for at least three consecutive months, that means "CMMM" is the minimum criteria to consider.2, Once it qualifies for consideration, I also want to figure out how many months those qualified accounts have stayed in Mid?Such as "CMMMMM"should be interpreted as 5, because 1. It qualifies for consideration when it moves from Core to Mid. 2. It has stayed in Mid for 5 months.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I hope I explained myself clearly to you, please let me know if you have any questions on it.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks a lot,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best,&lt;/P&gt;</description>
      <pubDate>Sat, 09 Apr 2016 03:41:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262630#M51324</guid>
      <dc:creator>Dancer_on_data</dc:creator>
      <dc:date>2016-04-09T03:41:53Z</dc:date>
    </item>
    <item>
      <title>Re: How to streamline this data generating process?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262631#M51325</link>
      <description>&lt;P&gt;Hi SASkiwi, thanks for your reply, I probably didn't explain my thoughts clearly in my codes previously.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class="lia-message-body lia-component-body"&gt;&lt;DIV class="lia-message-body-content"&gt;&lt;P&gt;In my previous dataset, let's think of M1- M10 as the first month to the10th month, and C stands for Core, M for Mid and P for Premier.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My logic is to figure out two things: 1, How many accounts moved from Core to Mid, and they also must stay in Mid for at least three consecutive months, that means "CMMM" is the minimum criteria to consider. 2, Once it qualifies for consideration, I also want to figure out how many months those qualified accounts have stayed in Mid? Such as "CMMMMM" should be interpreted as 5, becasue 1. It qualifies for consideration when moving from Core to Mid. 2. It has stayed in Mid for 5 months.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I hope I explained myself clearly to you this time, please let me know if you have any questions.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks a lot,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best,&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Sat, 09 Apr 2016 03:42:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262631#M51325</guid>
      <dc:creator>Dancer_on_data</dc:creator>
      <dc:date>2016-04-09T03:42:21Z</dc:date>
    </item>
    <item>
      <title>Re: How to streamline this data generating process?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262632#M51326</link>
      <description>&lt;P&gt;Thanks for the detailed explanation.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Can you try &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13879"&gt;@Reeza﻿&lt;/a&gt;&amp;nbsp;and my&amp;nbsp;example code to see if gives the right result for the 3 consecutive months or not? If it does then we can try the second part.&lt;/P&gt;</description>
      <pubDate>Sat, 09 Apr 2016 03:48:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262632#M51326</guid>
      <dc:creator>SASKiwi</dc:creator>
      <dc:date>2016-04-09T03:48:07Z</dc:date>
    </item>
    <item>
      <title>Re: How to streamline this data generating process?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262633#M51327</link>
      <description>&lt;P&gt;You don't need to post the same thing twice &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;A slight modification to my code. Instead of all the IF's I count the number of consecutive M, after the initial C. If you want, you can delete 3 from the number to account for the initial requirement.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
set have;
array m(10) m1-m10;
array p(10) p1-p10 (10*0);
    consecutiveM=0;
	text=catt(of m1-m10);
	x= index(text, 'CMMM') ;
	if x&amp;gt;0 then p(x)=1;
	
	if x&amp;gt;0 then do i=x+1 to dim(m);
        if char(text, i)='M' then consecutiveM+1;
        else leave;
	end;
	
	drop x i;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 09 Apr 2016 03:54:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262633#M51327</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-04-09T03:54:28Z</dc:date>
    </item>
    <item>
      <title>Re: How to streamline this data generating process?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262637#M51331</link>
      <description>&lt;P&gt;Hi SASkiwi, I ran your codes, and below are the results I got.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I think I am not getting the resuts as I expected, let's look at one example by focusing on the values for P1 variable. What I expected to see is P1 for first observation is 3 ( becasue its "CMMM" , and 0 for second observation (for it is "CPCM" and 0 for third observation (for it is "PPMC").On the contrary, I see 3 for all three observations.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Note: Sorry, for some reason, I am not able to line the P variables&amp;nbsp; correctly with its respective value in the table.&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; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; P1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; P2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; P3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;DIV class="dgrid-scroller"&gt;&lt;DIV class="dgrid-content ui-widget-content"&gt;&lt;DIV class=" dgrid-row dgrid-row-even ui-state-default"&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;A00001&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;P&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;DIV class=" dgrid-row dgrid-row-odd ui-state-default"&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;A00002&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; C&lt;/TD&gt;&lt;TD&gt;P&lt;/TD&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;DIV class=" dgrid-row ui-state-default dgrid-row-even"&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;A00003&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; P&lt;/TD&gt;&lt;TD&gt;P&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;M&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Sat, 09 Apr 2016 04:08:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262637#M51331</guid>
      <dc:creator>Dancer_on_data</dc:creator>
      <dc:date>2016-04-09T04:08:16Z</dc:date>
    </item>
    <item>
      <title>Re: How to streamline this data generating process?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262638#M51332</link>
      <description>&lt;P&gt;I didn't bother with the indicator variables just the total count. Based on your description of the problem it seems to make sense.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You could easily store the values into an array for a running count but that doesn't seem very useful.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 09 Apr 2016 04:15:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262638#M51332</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-04-09T04:15:37Z</dc:date>
    </item>
    <item>
      <title>Re: How to streamline this data generating process?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262639#M51333</link>
      <description>&lt;P&gt;Regular expressions easily bring this kind of flexibility.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data HAVE;
  input (X1-X10) (: $1.);
cards;
P C M M M M M M M P
P C M M C M M M M P
P C M M C M M C M P
run;&lt;BR /&gt;
data WANT;
  set HAVE;
  array P [10];
  RE=prxparse('/CM{3,}/');                     %* This means match a C followed by a least 3 Ms;
  call prxsubstr(RE,cat(of X1-X10), POS, LEN); %* and return the match position and length;
  if POS then P[POS]=LEN-1;
run;&lt;BR /&gt;
proc print noobs; 
  var P1-P10;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE class="table" summary="Procedure Print: Data Set WORK.WANT" frame="box" rules="all" cellpadding="5" cellspacing="0"&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="r header" scope="col"&gt;P1&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;P2&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;P3&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;P4&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;P5&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;P6&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;P7&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;P8&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;P9&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;P10&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;7&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;4&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;HR /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Exhaustive list of regular expressions supported by SAS in:&lt;BR /&gt;&lt;A href="http://www.amazon.com/High-Performance-SAS-Coding-Christian-Graffeuille/dp/1512397490" target="_blank"&gt;http://www.amazon.com/High-Performance-SAS-Coding-Christian-Graffeuille/dp/1512397490&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 10 Apr 2016 07:02:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262639#M51333</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2016-04-10T07:02:05Z</dc:date>
    </item>
    <item>
      <title>Re: How to streamline this data generating process?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262642#M51334</link>
      <description>&lt;P&gt;Hi Reeza, I am very new to this forum, I just want to be respectful to everyone who responded to me. Clearly I see this is not the right way to interact with anyone in this forum, thanks for the heads up.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I ran your codes, it has done 50% of what I wanted, the desired result I would like to see is:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Account_ID P1 P2 P3 P4 P5 P6 P7&lt;/P&gt;&lt;P&gt;A00001&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp; 0&lt;/P&gt;&lt;P&gt;A00002&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp; 0 &amp;nbsp;&amp;nbsp; 3 &amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp; 0&lt;/P&gt;&lt;P&gt;A00003&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp; 3 &amp;nbsp;&amp;nbsp; 0 &amp;nbsp; 0&amp;nbsp;&amp;nbsp; 0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;After I got these result, and I would just want to figure out the maximum and minimum months each qualified account has stayed by max/min (of p1-p7).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 09 Apr 2016 04:36:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262642#M51334</guid>
      <dc:creator>Dancer_on_data</dc:creator>
      <dc:date>2016-04-09T04:36:45Z</dc:date>
    </item>
    <item>
      <title>Re: How to streamline this data generating process?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262644#M51336</link>
      <description>&lt;P&gt;Hi SASkiwi, I drew on your insights, and added some other codes to finally create the result i desired, however,&amp;nbsp; i have to ran several times to arrive at the final result, please see my codes below:&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
informat account_id $8. m1-m10 $1.;
input Account_ID $ M1-M10 $;
cards;
A00001 C M   M    M   M   M   M   M   M  P
A00002 C P   C    M   M   M   M   M   M  M
A00003 P P   M    C   M   M   M   M   M  M
;
run;

data want;
set have;
array m(10) m1-m10;
array p(7)  p1-p7 ;
do I = 1 to 7;
	text=catt(m(i), m(i+1), m(i+2), m(i+3));
	if index(text, 'CMMM') then p(i) = 3;
	else p(i)=0;
end;
drop i text;
run;

data want1;
set want;
array m(10) m1-m10;
array p(6)  p8-p13 ;
do I= 1 to 6;
text=catt(m(i), m(i+1), m(i+2), m(i+3), m(i+4));
	if index(text, 'CMMMM') then p(i) = 4;
	else p(i)=0;
end;
drop i text;
run;

data want2;
set want1;
array m(10) m1-m10;
array p(5)  p14-p18 ;
do I= 1 to 5;
text=catt(m(i), m(i+1), m(i+2), m(i+3), m(i+4), m(i+5));
	if index(text, 'CMMMMM') then p(i) = 5;
	else p(i)=0;
end;
drop i text;
run;

Data want3;
set want2;
array m(10) m1-m10;
array p(4)  p19-p22 ;
do I= 1 to 4;
text=catt(m(i), m(i+1), m(i+2), m(i+3), m(i+4), m(i+5),m(i+6));
	if index(text, 'CMMMMMM') then p(i) = 6;
	else p(i)=0;
end;
drop i text;
run;

Data want4;
set want3;
array m(10) m1-m10;
array p(3)  p23-p25 ;
do I= 1 to 3;
text=catt(m(i), m(i+1), m(i+2), m(i+3), m(i+4), m(i+5),m(i+6),m(i+7));
	if index(text, 'CMMMMMMM') then p(i) = 7;
	else p(i)=0;
end;
drop i text;
run;

Data want_final;
set want4;
array m(10) m1-m10;
array p(2)  p26-p27 ;
do I= 1 to 2;
text=catt(m(i), m(i+1), m(i+2), m(i+3), m(i+4), m(i+5),m(i+6),m(i+7),m(1+8));
	if index(text, 'CMMMMMMMM') then p(i) = 8;
	else p(i)=0;
end;
drop i text;
Max=max(of p1-p27);
Min=min(of p1-p27);
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;I am wondering if there is a "magic wand" that you can help me wave&amp;nbsp; that turns them into a series of&amp;nbsp; coherent steps to produce the final result with one fell swoop.Thanks!&lt;/P&gt;</description>
      <pubDate>Sat, 09 Apr 2016 05:21:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262644#M51336</guid>
      <dc:creator>Dancer_on_data</dc:creator>
      <dc:date>2016-04-09T05:21:56Z</dc:date>
    </item>
    <item>
      <title>Re: How to streamline this data generating process?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262645#M51337</link>
      <description>&lt;P&gt;Well this might be one way of combining 2 of the rules as an example. Please test it.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
informat account_id $8. m1-m10 $1.;
input Account_ID $ M1-M10 $;
cards;
A00001 C M   M    M   M   M   M   M   M  P
A00002 C P   C    M   M   M   M   M   M  M
A00003 P P   M    C   M   M   M   M   M  M
;
run;

data want;
set have;
array m(10) m1-m10;
array p(13)  p1-p13 ;
do I = 1 to 7;
text=catt(m(i), m(i+1), m(i+2), m(i+3));
	if index(text, 'CMMM') then p(i) = 3;
	else p(i)=0;
end;

do I= 1 to 6;

        text=catt(m(i), m(i+1), m(i+2), m(i+3), m(i+4));
	if p(i) = 3 and index(text, 'CMMMM') then p(i +7) = 4;
	else p(i)=0;
end;

drop i text;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 09 Apr 2016 06:04:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262645#M51337</guid>
      <dc:creator>SASKiwi</dc:creator>
      <dc:date>2016-04-09T06:04:55Z</dc:date>
    </item>
    <item>
      <title>Re: How to streamline this data generating process?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262761#M51358</link>
      <description>&lt;P&gt;Hi SASkiwi, sorry about this delayed reply, it worked out perfectly except some missing values, I changed the codes a bit to make it look like exactly what i wanted.Thanks so much for you help. I will copy this idea and try to expand my variables from M1-M10 to M1-M100.&lt;img id="smileylol" class="emoticon emoticon-smileylol" src="https://communities.sas.com/i/smilies/16x16_smiley-lol.png" alt="Smiley LOL" title="Smiley LOL" /&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
informat account_id $8. m1-m10 $1.;
input Account_ID $ M1-M10 $;
cards;
A00001 C M   M    M   M   M   M   M   M  P
A00002 C P   C    M   M   M   M   M   M  M
A00003 P P   M    C   M   M   M   M   M  M
;
run;

data want;
set have;
array m(10) m1-m10;
array p(13)  p1-p13 ;
do I = 1 to 7;
text=catt(m(i), m(i+1), m(i+2), m(i+3));
	if index(text, 'CMMM') then p(i) = 3;
	else p(i)=0;
end;

do I= 1 to 6;
        text=catt(m(i), m(i+1), m(i+2), m(i+3), m(i+4));
	if index(text, 'CMMMM') then p(i +7) = 4;
	else p(i+7)=0;
end;
drop i text;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Best,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 11 Apr 2016 01:18:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262761#M51358</guid>
      <dc:creator>Dancer_on_data</dc:creator>
      <dc:date>2016-04-11T01:18:14Z</dc:date>
    </item>
    <item>
      <title>Re: How to streamline this data generating process?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262769#M51362</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/80455"&gt;@Dancer_on_data﻿&lt;/a&gt;&amp;nbsp;Why did you mark your answer as the correct answer?&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 11 Apr 2016 02:06:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262769#M51362</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-04-11T02:06:40Z</dc:date>
    </item>
    <item>
      <title>Re: How to streamline this data generating process?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262777#M51367</link>
      <description>&lt;P&gt;Hi Reeza, cos I got the right logic to answer my question.&lt;/P&gt;</description>
      <pubDate>Mon, 11 Apr 2016 02:38:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262777#M51367</guid>
      <dc:creator>Dancer_on_data</dc:creator>
      <dc:date>2016-04-11T02:38:09Z</dc:date>
    </item>
    <item>
      <title>Re: How to streamline this data generating process?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262778#M51368</link>
      <description>&lt;P&gt;:facepalm:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;How about you credit the person would&amp;nbsp;got there instead?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 11 Apr 2016 02:45:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262778#M51368</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2016-04-11T02:45:08Z</dc:date>
    </item>
    <item>
      <title>Re: How to streamline this data generating process?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262788#M51374</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/80455"&gt;@Dancer_on_data﻿&lt;/a&gt;&amp;nbsp;You got there all by yourself? That's awesome, guess you won't need help in the future either if you can answer your own questions &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;Besides the sarcasm...it's considerate to acknowledge that people actually spent time helping you to solve your problem. No one is really after the points here, they really are trying to help. &amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 11 Apr 2016 03:33:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262788#M51374</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-04-11T03:33:40Z</dc:date>
    </item>
    <item>
      <title>Re: How to streamline this data generating process?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262796#M51382</link>
      <description>&lt;P&gt;Hi &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13879"&gt;@Reeza﻿&lt;/a&gt;, I see your points. I have to admit there is a huge misunderstanding on why I marked it as solution between you and me.&lt;BR /&gt;I thought marking it as solution will allow everyone else to know the answer to my question has been found, therefore it could be of help to others who might have similar questions to mine in future and they can just copy the logic to his or her problems. I have never thought or tried to take away the credits from others. I am more interested in the form of active&amp;nbsp;inquiry with others than in feeling good about myself for figuring out something. I am a firm believer in this form of active&amp;nbsp;inquiry, which I think helps me free my mind from the bondage of false opinions.&lt;BR /&gt;&lt;BR /&gt;In addition, I think my answer to your question also might have caused some confusion. My true intent is to say I got the right logic through others' contributions to my question. If you interpreted my answer to your question differently, I apologize for my less thoughtful response.&lt;BR /&gt;&lt;BR /&gt;Last but not the least, I would like to take this opportunity to thank everyone who helped me in solving the problem!&lt;/P&gt;</description>
      <pubDate>Mon, 11 Apr 2016 14:24:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-streamline-this-data-generating-process/m-p/262796#M51382</guid>
      <dc:creator>Dancer_on_data</dc:creator>
      <dc:date>2016-04-11T14:24:59Z</dc:date>
    </item>
  </channel>
</rss>

