<?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: Do loops within a group in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Do-loops-within-a-group/m-p/80069#M17248</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks a ton for the last reply. I am stuck at a new prb. I have two datasets as follows&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Dataset A&lt;/P&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline;"&gt;ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exchange&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NYSE&lt;/P&gt;&lt;P&gt;B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NASDAQ&lt;/P&gt;&lt;P&gt;C&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BSE&lt;/P&gt;&lt;P&gt;D&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NSE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Dataset B&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline;"&gt;ID&amp;nbsp;&amp;nbsp;&amp;nbsp; Open&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Close&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20&lt;/P&gt;&lt;P&gt;B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 15&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20&lt;/P&gt;&lt;P&gt;C&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 30&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 40&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Dataset A contains more number of IDs than Dataset B. I wanted to Add the Column Exchange in Dataset B So that Final Output is like:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline;"&gt;ID&amp;nbsp;&amp;nbsp;&amp;nbsp; Open&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Close Exchange&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NYSE&lt;/P&gt;&lt;P&gt;B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 15&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NASDAQ&lt;/P&gt;&lt;P&gt;C&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 30&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 40&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BSE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When I use Merge statement, It automatically adds the ID values D and E as well. How to stop that and solve this prb. &lt;/P&gt;&lt;P&gt;Looking for your help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;P&gt;Ritesh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 16 Feb 2013 17:23:08 GMT</pubDate>
    <dc:creator>rkdubey84</dc:creator>
    <dc:date>2013-02-16T17:23:08Z</dc:date>
    <item>
      <title>Do loops within a group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-loops-within-a-group/m-p/80058#M17237</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm posting here for the first time so forgive me if I doing it incorrectly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm a new sas user and am having trouble figuring out how to calculate a variable using a do loop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The data I'm looking at is household vehicle trip activity. The variables include Trip ID, Trip start time, Trip end time, and Household ID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What I'm trying to figure out is whether a trip's time overlaps with the other trip times of the same household. Here's an example of what I'm looking at.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="1" class="jiveBorder" height="101" style="border: 1px solid #000000; width: 1119px;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TH style="text-align: center; background-color: #6690bc; color: #ffffff; padding: 2px;" valign="middle"&gt;Trip ID&lt;/TH&gt;&lt;TH style="text-align: center; background-color: #6690bc; color: #ffffff; padding: 2px;" valign="middle"&gt;&lt;STRONG&gt;Trip Start Time&lt;/STRONG&gt;&lt;/TH&gt;&lt;TH style="text-align: center; background-color: #6690bc; color: #ffffff; padding: 2px;" valign="middle"&gt;&lt;STRONG&gt;Trip End Time&lt;/STRONG&gt;&lt;/TH&gt;&lt;TH style="text-align: center; background-color: #6690bc; color: #ffffff; padding: 2px;" valign="middle"&gt;&lt;STRONG&gt;Household ID&lt;/STRONG&gt;&lt;/TH&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px; text-align: center;"&gt;1&lt;/TD&gt;&lt;TD style="padding: 2px; text-align: center;"&gt;8:00&lt;/TD&gt;&lt;TD style="padding: 2px; text-align: center;"&gt;17:00&lt;/TD&gt;&lt;TD style="padding: 2px; text-align: center;"&gt;999&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px; text-align: center;"&gt;2&lt;/TD&gt;&lt;TD style="padding: 2px; text-align: center;"&gt;9:30&lt;/TD&gt;&lt;TD style="padding: 2px; text-align: center;"&gt;9:45&lt;/TD&gt;&lt;TD style="padding: 2px; text-align: center;"&gt;999&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px; text-align: center;"&gt;3&lt;/TD&gt;&lt;TD style="padding: 2px; text-align: center;"&gt;10:00&lt;/TD&gt;&lt;TD style="padding: 2px; text-align: center;"&gt;18:00&lt;/TD&gt;&lt;TD style="padding: 2px; text-align: center;"&gt;999&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My goal is to calculate the number of overlapping trips per household. In the final data-set each observation represents an unique household and the variable is the number of overlapping trips (in the case of the table above, 2)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Does anyone know how I can use a do loop to calculate whether&amp;nbsp; the end time in one trip (say trip 1) is greater than the start time in the other trips (trip 2 and trip 3)?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've never used a do loop before so any help would be greatly appreciated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I tried the syntax below but it didn't work the way I wanted it to. Plus it doesn't capture households&amp;nbsp; with more than 2 trips.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data travel_2&lt;/P&gt;&lt;P&gt;set travel&lt;/P&gt;&lt;P&gt;by houseid&lt;/P&gt;&lt;P&gt;overlap= .;&lt;/P&gt;&lt;P&gt;if (first.endtime&amp;gt;last.starttime) then overlap=1;&lt;/P&gt;&lt;P&gt;else overlap= 0;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Apr 2012 16:00:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-loops-within-a-group/m-p/80058#M17237</guid>
      <dc:creator>rhnam</dc:creator>
      <dc:date>2012-04-11T16:00:32Z</dc:date>
    </item>
    <item>
      <title>Re: Do loops within a group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-loops-within-a-group/m-p/80059#M17238</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Question:&lt;/P&gt;&lt;P&gt;Is overlap a boolean variable or can be accumulated if more than one overlap within the group?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Haikuo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Apr 2012 16:15:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-loops-within-a-group/m-p/80059#M17238</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2012-04-11T16:15:32Z</dc:date>
    </item>
    <item>
      <title>Re: Do loops within a group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-loops-within-a-group/m-p/80060#M17239</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here's an attempt, not sure it'll catch all the scenario's and not sure what you're looking for overall...&lt;/P&gt;&lt;P&gt;*Input your sample data;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; input tripid start_time time5. end_time time5.;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; format start_time end_time time5.;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; household_id=999;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cards;&lt;/P&gt;&lt;P&gt;1 8:00 17:00&lt;/P&gt;&lt;P&gt;2 9:30 9:45&lt;/P&gt;&lt;P&gt;3 10:00 18:00&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;*Find all overlapping trips&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; create table want as&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; select a.*, b.start_time as overlap_start, b.end_time as overlap_end, b.tripid as overlap_id&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; from have a&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; left join have b&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; on (b.start_time between a.start_time and a.end_time)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; and a.tripid ne b.tripid and a.household_id=b.household_id;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Count the number of overlaps per trip/household;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; create table overlaps as&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; select household_id, tripid, count(overlap_id) as overlaps&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; from want &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; group by household_id, tripid;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *where overlap_start ne .;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Apr 2012 16:58:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-loops-within-a-group/m-p/80060#M17239</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2012-04-11T16:58:21Z</dc:date>
    </item>
    <item>
      <title>Re: Do loops within a group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-loops-within-a-group/m-p/80061#M17240</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Reeza,&lt;/P&gt;&lt;P&gt;on (b.start_time between a.start_time and a.end_time or&amp;nbsp; b.end_time between a.start_time and a.end_time ) seems to catch more.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Haikuo &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Apr 2012 17:03:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-loops-within-a-group/m-p/80061#M17240</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2012-04-11T17:03:53Z</dc:date>
    </item>
    <item>
      <title>Re: Do loops within a group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-loops-within-a-group/m-p/80062#M17241</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Haikuo,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Yes "overlap" should be a boolean variable. (1/0).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Richard&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Apr 2012 17:37:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-loops-within-a-group/m-p/80062#M17241</guid>
      <dc:creator>rhnam</dc:creator>
      <dc:date>2012-04-11T17:37:32Z</dc:date>
    </item>
    <item>
      <title>Re: Do loops within a group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-loops-within-a-group/m-p/80063#M17242</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You'll get duplicates then (ie Trip 1 overlaps with trip 3 and Trip 3 overlaps with Trip 1). &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Apr 2012 18:04:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-loops-within-a-group/m-p/80063#M17242</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2012-04-11T18:04:21Z</dc:date>
    </item>
    <item>
      <title>Re: Do loops within a group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-loops-within-a-group/m-p/80064#M17243</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Since you have not laid out what your final output look like, this is just based on my guessing, and it can be easily tweaked:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;input TID$ ST :time8. ET :time8. HID$;&lt;/P&gt;&lt;P&gt;format ST :time8. ET :time8.;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;1 8:00 17:00 999&lt;/P&gt;&lt;P&gt;2 9:30 9:45 999&lt;/P&gt;&lt;P&gt;3 10:00 18:00 999&lt;/P&gt;&lt;P&gt;1 2:00 10:00 100&lt;/P&gt;&lt;P&gt;2 11:00 11:30 100 &lt;/P&gt;&lt;P&gt;3 12:00 13:00 100&lt;/P&gt;&lt;P&gt;4 12:30 17:30 100&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want(drop=tid st et rc rename=(_tid=Trip_ID _st=Trip_start_time _et=Trip_end_time));&lt;/P&gt;&lt;P&gt;&amp;nbsp; if _n_=1 then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if 0 then set have;&lt;/P&gt;&lt;P&gt;dcl hash h(dataset:'have', multidata:'y');&lt;/P&gt;&lt;P&gt;h.definekey('hid');&lt;/P&gt;&lt;P&gt;h.definedata(all:'y');&lt;/P&gt;&lt;P&gt;h.definedone();&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; overlap=0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set have (rename=(tid=_tid st=_st et=_et));&lt;/P&gt;&lt;P&gt;&amp;nbsp; do rc=h.find() by 0 while (rc=0);&lt;/P&gt;&lt;P&gt;&amp;nbsp; if _tid ne tid and (_st&amp;lt;=st&amp;lt;=_et or _st&amp;lt;=et&amp;lt;=_et or (st&amp;gt;=_st and et&amp;lt;=_et) or (_st&amp;gt;=st and _et&amp;lt;=et)) then overlap+1;&lt;/P&gt;&lt;P&gt;if overlap&amp;gt;0 then leave;&lt;/P&gt;&lt;P&gt;rc=h.find_next();&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc print;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Haikuo &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Apr 2012 18:05:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-loops-within-a-group/m-p/80064#M17243</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2012-04-11T18:05:40Z</dc:date>
    </item>
    <item>
      <title>Re: Do loops within a group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-loops-within-a-group/m-p/80065#M17244</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes, Reeza. I just realized that our differences were the results from&amp;nbsp; different understanding towards OP's intention. if treating 'household_id' as the unit to count, your solution worked perfectly; while if treating each individual trip_id as unit to count, then my concern would make sense.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Haikuo &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Apr 2012 19:20:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-loops-within-a-group/m-p/80065#M17244</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2012-04-11T19:20:29Z</dc:date>
    </item>
    <item>
      <title>Re: Do loops within a group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-loops-within-a-group/m-p/80066#M17245</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE&gt;data have;
input TID$ ST :time8. ET :time8. HID$;
format ST :time8. ET :time8.;
cards;
1 8:00 17:00 999
2 9:30 9:45 999
3 10:00 18:00 999
1 2:00 10:00 100
2 11:00 11:30 100
3 12:00 13:00 100
4 12:30 17:30 100
;
run;
proc sql;
create table temp as
 select a.hid,a.tid,b.tid as _tid
&amp;nbsp; from have as a,have as b
&amp;nbsp;&amp;nbsp; where a.hid=b.hid and a.tid ne b.tid and 
&amp;nbsp;&amp;nbsp;&amp;nbsp; (b.st between a.st and a.et or b.et between a.st and a.et )
&amp;nbsp;&amp;nbsp; order by hid;
quit;
data want(keep=hid count string);
 set temp;
 by hid;
 length string $ 800 ;
 retain string ;
 if not findw(string,strip(tid)) then string=catx(' ',string,tid);
 if not findw(string,strip(_tid)) then string=catx(' ',string,_tid);
 if last.hid then do;
&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; count=countw(string);
&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; output;
&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; call missing(string);
&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; end;
run;

&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ksharp&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Apr 2012 08:08:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-loops-within-a-group/m-p/80066#M17245</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2012-04-12T08:08:51Z</dc:date>
    </item>
    <item>
      <title>Re: Do loops within a group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-loops-within-a-group/m-p/80067#M17246</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: Arial, Helvetica, sans-serif; background-color: #ffffff;"&gt;Hi...I need a way to calculate Overlap minutes with respect to US Trading Hours 9:30am to 4:00pm. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: Arial, Helvetica, sans-serif; background-color: #ffffff;"&gt;-----------------------9:30---&lt;/SPAN&gt;&lt;SPAN style="color: #222222; font-family: Arial, Helvetica, sans-serif; background-color: #ffffff;"&gt;------------------------------&lt;/SPAN&gt;&lt;SPAN style="color: #222222; font-family: Arial, Helvetica, sans-serif; background-color: #ffffff;"&gt;16:00----------------- &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: Arial, Helvetica, sans-serif; background-color: #ffffff;"&gt;Scenario 1: 7:30--------:**************12:&lt;/SPAN&gt;&lt;SPAN style="color: #222222; font-family: Arial, Helvetica, sans-serif; background-color: #ffffff;"&gt;30 &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: Arial, Helvetica, sans-serif; background-color: #ffffff;"&gt;Scenario 2:&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; 12:30******************:----&lt;/SPAN&gt;&lt;SPAN style="color: #222222; font-family: Arial, Helvetica, sans-serif; background-color: #ffffff;"&gt;18:00 &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: Arial, Helvetica, sans-serif; background-color: #ffffff;"&gt;Scenario 3:&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; 11:00**************14:00 &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: Arial, Helvetica, sans-serif; background-color: #ffffff;"&gt;Scenario 4: 7:30--------:*****************&lt;/SPAN&gt;&lt;SPAN style="color: #222222; font-family: Arial, Helvetica, sans-serif; background-color: #ffffff;"&gt;********************:----18:00 &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: Arial, Helvetica, sans-serif; background-color: #ffffff;"&gt;Scenario 5: ------------:********10:00&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; 2:00----- &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: Arial, Helvetica, sans-serif; background-color: #ffffff;"&gt;I guess only these 5 scenarios (Different Country Stock Exchange Trading Times) are possible of an overlap. Scenarios Represent Opening and Closing time for various exchanges whereas 9:30 to 16:00 is the US time. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;An extra column for boolean if Overlaps or not can also be added.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You may take this as the Input Dataset&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: Arial, Helvetica, sans-serif; background-color: #ffffff;"&gt;Input Data: &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: Arial, Helvetica, sans-serif; background-color: #ffffff;"&gt;ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Beg_Time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End_time&amp;nbsp;&amp;nbsp;&amp;nbsp; USBegTime&amp;nbsp;&amp;nbsp;&amp;nbsp; USEndTime&amp;nbsp;&amp;nbsp; Overlap&amp;nbsp; IsOverlap&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: Arial, Helvetica, sans-serif; background-color: #ffffff;"&gt;SE1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7:30&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 12:30&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; 9:30&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; 16:00&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; 1 (for yes)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: Arial, Helvetica, sans-serif; background-color: #ffffff;"&gt;SE2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 12:30&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 18:00&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; 9:30&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; 16:00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ? &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: Arial, Helvetica, sans-serif; background-color: #ffffff;"&gt;SE3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 11:00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 14:00&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; 9:30&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; 16:00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ? &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: Arial, Helvetica, sans-serif; background-color: #ffffff;"&gt;SE4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7:30&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 18:00&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; 9:30&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; 16:00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ? &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: Arial, Helvetica, sans-serif; background-color: #ffffff;"&gt;SE5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2:00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10:00&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; 9:30&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; 16:00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: Arial, Helvetica, sans-serif; background-color: #ffffff;"&gt;SE6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1:00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7:00&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;SPAN style="color: #222222; font-family: Arial, Helvetica, sans-serif; background-color: #ffffff;"&gt;9:30&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; 16:00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ?&lt;/SPAN&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; 0 (For No.)&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: Arial, Helvetica, sans-serif; background-color: #ffffff;"&gt;Please Help ASAP. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: Arial, Helvetica, sans-serif; background-color: #ffffff;"&gt;Thanks in Advance&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 11 Feb 2013 22:25:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-loops-within-a-group/m-p/80067#M17246</guid>
      <dc:creator>rkdubey84</dc:creator>
      <dc:date>2013-02-11T22:25:03Z</dc:date>
    </item>
    <item>
      <title>Re: Do loops within a group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-loops-within-a-group/m-p/80068#M17247</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Assuming your time is specified correctly and consistently the following should work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;informat beg_time end_time usbegtime usendtime time8.;&lt;/P&gt;&lt;P&gt;format beg_time end_time usbegtime usendtime time8.;&lt;/P&gt;&lt;P&gt;input ID&amp;nbsp; $&amp;nbsp;&amp;nbsp; Beg_Time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End_time&amp;nbsp;&amp;nbsp;&amp;nbsp; USBegTime&amp;nbsp;&amp;nbsp;&amp;nbsp; USEndTime&amp;nbsp;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;SE1&amp;nbsp; 7:30 12:30&amp;nbsp; 9:30 16:00&lt;/P&gt;&lt;P&gt;SE2 12:30 18:00&amp;nbsp; 9:30 16:00&lt;/P&gt;&lt;P&gt;SE3 11:00 14:00&amp;nbsp; 9:30 16:00&lt;/P&gt;&lt;P&gt;SE4&amp;nbsp; 7:30 18:00&amp;nbsp; 9:30 16:00&lt;/P&gt;&lt;P&gt;SE5&amp;nbsp; 2:00 10:00&amp;nbsp; 9:30 16:00&lt;/P&gt;&lt;P&gt;SE6&amp;nbsp; 1:00&amp;nbsp; 7:00&amp;nbsp; 9:30 16:00&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;data want;&lt;/P&gt;&lt;P&gt;set have;&lt;/P&gt;&lt;P&gt;format overlap_start overlap_end overlap time8.;&lt;/P&gt;&lt;P&gt;if&amp;nbsp; usbegtime &amp;lt; beg_time &amp;lt;usendtime &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; or usbegtime &amp;lt; End_time &amp;lt;usendtime&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; or beg_time &amp;lt; usbegtime &amp;lt;end_time &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; or beg_time &amp;lt; usendtime &amp;lt; end_time then overlap=1;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if overlap=1 then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; overlap_start=max(usbegtime, beg_time);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; overlap_end=min(usendtime, end_time);&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;overlap=overlap_end-overlap_start;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 11 Feb 2013 23:20:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-loops-within-a-group/m-p/80068#M17247</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2013-02-11T23:20:49Z</dc:date>
    </item>
    <item>
      <title>Re: Do loops within a group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-loops-within-a-group/m-p/80069#M17248</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks a ton for the last reply. I am stuck at a new prb. I have two datasets as follows&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Dataset A&lt;/P&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline;"&gt;ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exchange&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NYSE&lt;/P&gt;&lt;P&gt;B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NASDAQ&lt;/P&gt;&lt;P&gt;C&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BSE&lt;/P&gt;&lt;P&gt;D&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NSE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Dataset B&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline;"&gt;ID&amp;nbsp;&amp;nbsp;&amp;nbsp; Open&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Close&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20&lt;/P&gt;&lt;P&gt;B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 15&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20&lt;/P&gt;&lt;P&gt;C&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 30&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 40&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Dataset A contains more number of IDs than Dataset B. I wanted to Add the Column Exchange in Dataset B So that Final Output is like:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline;"&gt;ID&amp;nbsp;&amp;nbsp;&amp;nbsp; Open&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Close Exchange&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NYSE&lt;/P&gt;&lt;P&gt;B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 15&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NASDAQ&lt;/P&gt;&lt;P&gt;C&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 30&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 40&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BSE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When I use Merge statement, It automatically adds the ID values D and E as well. How to stop that and solve this prb. &lt;/P&gt;&lt;P&gt;Looking for your help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;P&gt;Ritesh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 16 Feb 2013 17:23:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-loops-within-a-group/m-p/80069#M17248</guid>
      <dc:creator>rkdubey84</dc:creator>
      <dc:date>2013-02-16T17:23:08Z</dc:date>
    </item>
    <item>
      <title>Re: Do loops within a group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-loops-within-a-group/m-p/80070#M17249</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Use the IN dataset option.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;&amp;nbsp; merge b(in=in1) a(in=in2);&lt;/P&gt;&lt;P&gt; by id;&lt;/P&gt;&lt;P&gt; if in1 and in2;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 16 Feb 2013 17:32:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-loops-within-a-group/m-p/80070#M17249</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2013-02-16T17:32:33Z</dc:date>
    </item>
    <item>
      <title>Re: Do loops within a group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-loops-within-a-group/m-p/80071#M17250</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Tom, for the reply. I tried it, but it reduces my data-set significantly. Am I doing something wrong here: I am new to the IN Option Use.&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;183&amp;nbsp; data taqsum.match123;&lt;/P&gt;&lt;P&gt;184&amp;nbsp;&amp;nbsp;&amp;nbsp; merge taqsum.match(in=in1) taqsum.symbol_homeexchange(in=in2);&lt;/P&gt;&lt;P&gt;185&amp;nbsp; by symbol;&lt;/P&gt;&lt;P&gt;186&amp;nbsp; if in1 and in2;&lt;/P&gt;&lt;P&gt;187&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NOTE: There were 169 observations read from the data set TAQSUM.MATCH.&lt;/P&gt;&lt;P&gt;NOTE: There were 463 observations read from the data set TAQSUM.SYMBOL_HOMEEXCHANGE.&lt;/P&gt;&lt;P&gt;NOTE: The data set TAQSUM.MATCH123 has 5 observations and 90 variables.&lt;/P&gt;&lt;P&gt;NOTE: DATA statement used (Total process time):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.05 seconds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.03 seconds&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 16 Feb 2013 17:47:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-loops-within-a-group/m-p/80071#M17250</guid>
      <dc:creator>rkdubey84</dc:creator>
      <dc:date>2013-02-16T17:47:46Z</dc:date>
    </item>
    <item>
      <title>Re: Do loops within a group</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Do-loops-within-a-group/m-p/80072#M17251</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Tom, I used:&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;data want;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp; merge b(in=in1) a(in=in2);&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;by id;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;if in2;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;run;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;And it did the way I wanted. Thanks a lot again. &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://communities.sas.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 16 Feb 2013 18:03:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Do-loops-within-a-group/m-p/80072#M17251</guid>
      <dc:creator>rkdubey84</dc:creator>
      <dc:date>2013-02-16T18:03:14Z</dc:date>
    </item>
  </channel>
</rss>

