<?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 eliminate observations between two tables based on a formula? in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-eliminate-observations-between-two-tables-based-on-a/m-p/414762#M280062</link>
    <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/138303"&gt;@aminkarimid&lt;/a&gt; wrote:&lt;BR /&gt;Would you please tell me how I can do that?&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;date = date + 1;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;in a data step.&lt;/P&gt;</description>
    <pubDate>Mon, 20 Nov 2017 07:13:13 GMT</pubDate>
    <dc:creator>Kurt_Bremser</dc:creator>
    <dc:date>2017-11-20T07:13:13Z</dc:date>
    <item>
      <title>How to eliminate observations between two tables based on a formula?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-eliminate-observations-between-two-tables-based-on-a/m-p/414642#M280050</link>
      <description>&lt;P&gt;Hello everybody,&lt;/P&gt;&lt;P&gt;I have two tables. First table has name, date, time and intraday price variables. It means there is an intraday price for each name in a specific date and time. Second table has name, date and daily price and the daily price is intraday price&amp;nbsp;aggregation for each name and date.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I try to write a program which performs the procedure below:&lt;/P&gt;&lt;P&gt;1- It can find same observations by name and date in two tables and then;&lt;/P&gt;&lt;P&gt;2- If first and last intraday price be out of 0.962&amp;nbsp;and&amp;nbsp;1.0398&amp;nbsp;times of daily price in last day; then deletes all data related to that specific name and date in table 1.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The statement is:&lt;/P&gt;&lt;P&gt;IF first AND last (intraday price for specific name &amp;amp; date) NOT IN [0.962*(daily price of yesterday), 1.0398*(daily price of yesterday)] THEN DELETE.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For instance, consider two tables which are below:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;table 1&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;name&lt;/TD&gt;&lt;TD&gt;date&lt;/TD&gt;&lt;TD&gt;time&lt;/TD&gt;&lt;TD&gt;intraday price&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3.1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;2.9&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3.95&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;4.01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;6.1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;2&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;3&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And table 2:&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;name&lt;/TD&gt;&lt;TD&gt;date&lt;/TD&gt;&lt;TD&gt;daily price&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;BR /&gt;Then, based on the &lt;SPAN&gt;procedure, The result is:&lt;/SPAN&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;name&lt;/TD&gt;&lt;TD&gt;date&lt;/TD&gt;&lt;TD&gt;time&lt;/TD&gt;&lt;TD&gt;intraday price&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3.1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;2.9&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3.95&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;4.01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;6.1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Would you please tell me how I can do that?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance.&lt;/P&gt;</description>
      <pubDate>Thu, 23 Nov 2017 21:42:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-eliminate-observations-between-two-tables-based-on-a/m-p/414642#M280050</guid>
      <dc:creator>aminkarimid</dc:creator>
      <dc:date>2017-11-23T21:42:18Z</dc:date>
    </item>
    <item>
      <title>Re: How to eliminate observations between two tables based on a formula?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-eliminate-observations-between-two-tables-based-on-a/m-p/414644#M280051</link>
      <description>&lt;P&gt;Sort your table1 by name, date and time.&lt;/P&gt;
&lt;P&gt;Sort table2 by name and date.&lt;/P&gt;
&lt;P&gt;Create a new table from merging table1 and table2 (by name date), with a new variable start_price, which is retained. Set start_price at first.date. At last.date, compare start_price and current price with the aggregated price according to your formula, and output if condition is met. Keep only name and date.&lt;/P&gt;
&lt;P&gt;Now, merge table1 with the new table (again by name and date), and keep or delete if a match is found/not found.&lt;/P&gt;</description>
      <pubDate>Sun, 19 Nov 2017 08:11:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-eliminate-observations-between-two-tables-based-on-a/m-p/414644#M280051</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2017-11-19T08:11:21Z</dc:date>
    </item>
    <item>
      <title>Re: How to eliminate observations between two tables based on a formula?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-eliminate-observations-between-two-tables-based-on-a/m-p/414656#M280052</link>
      <description>Thanks &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/11562"&gt;@Kurt_Bremser&lt;/a&gt;;&lt;BR /&gt;Would you please write the code?&lt;BR /&gt;because I am new with SAS and I cannot do it on my own.</description>
      <pubDate>Sun, 19 Nov 2017 11:51:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-eliminate-observations-between-two-tables-based-on-a/m-p/414656#M280052</guid>
      <dc:creator>aminkarimid</dc:creator>
      <dc:date>2017-11-19T11:51:39Z</dc:date>
    </item>
    <item>
      <title>Re: How to eliminate observations between two tables based on a formula?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-eliminate-observations-between-two-tables-based-on-a/m-p/414674#M280053</link>
      <description>&lt;P&gt;Here is the code based on&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/11562"&gt;@Kurt_Bremser&lt;/a&gt;&amp;nbsp;design:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sort data=table1; by name date time; run;

proc sort data=table2; by name date; run;

data to_delete(keep = name date);
merge table1 (in=in1) 
           table2 (in=in2);
  by name date;
       retain start_price;
       if in1 and in2;     /* deal with obs on both tables only */

       if first.date then start_price = intraday_price;
       if last.date then do;
          min_price = 0.962 * daily_price;
          max_price = 1.0398 * daily_price;
          if not (min_price le start_price le max_price)
             then output; 
       end;
run;

data want;
merge table 1 /* table2 */
           to_delete (in=indel);
  by name date;
       if not indel;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sun, 19 Nov 2017 15:31:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-eliminate-observations-between-two-tables-based-on-a/m-p/414674#M280053</guid>
      <dc:creator>Shmuel</dc:creator>
      <dc:date>2017-11-19T15:31:38Z</dc:date>
    </item>
    <item>
      <title>Re: How to eliminate observations between two tables based on a formula?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-eliminate-observations-between-two-tables-based-on-a/m-p/414676#M280054</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/138303"&gt;@aminkarimid&lt;/a&gt; wrote:&lt;BR /&gt;Thanks &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/11562"&gt;@Kurt_Bremser&lt;/a&gt;;&lt;BR /&gt;Would you please write the code?&lt;BR /&gt;because I am new with SAS and I cannot do it on my own.&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Then you should start to learn immediately here:&amp;nbsp;&lt;A href="https://support.sas.com/edu/schedules.html?ctry=us&amp;amp;crs=PROG1" target="_blank"&gt;https://support.sas.com/edu/schedules.html?ctry=us&amp;amp;crs=PROG1&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 19 Nov 2017 17:12:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-eliminate-observations-between-two-tables-based-on-a/m-p/414676#M280054</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2017-11-19T17:12:01Z</dc:date>
    </item>
    <item>
      <title>Re: How to eliminate observations between two tables based on a formula?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-eliminate-observations-between-two-tables-based-on-a/m-p/414701#M280055</link>
      <description>&lt;P&gt;Thanks&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/88384"&gt;@Shmuel&lt;/a&gt;&lt;/P&gt;&lt;P&gt;However the code doesn't work correct.&lt;/P&gt;&lt;P&gt;Here is an example of the table 1:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;data WORK.TABLE1;
infile datalines dsd truncover;
input name:$3. date:DATE9. time:TIME8. intraday_price:32.;
format date DATE9. time TIME8.;
label name="name" date="date" time="time" intraday_price="intraday price";
datalines4;
A,07MAY2008,11:32:41,3
A,07MAY2008,12:32:41,2
A,07MAY2008,13:32:41,1
A,08MAY2008,11:32:41,3.95
A,08MAY2008,12:32:41,3
A,08MAY2008,13:32:41,6
A,08MAY2008,14:32:41,4.01
B,07MAY2008,11:32:41,3.1
B,07MAY2008,12:32:41,1
B,07MAY2008,13:32:41,4
B,07MAY2008,14:32:41,2.9
B,08MAY2008,11:32:41,6
B,08MAY2008,12:32:41,1
B,09MAY2008,11:32:41,5
B,09MAY2008,12:32:41,7
C,07MAY2008,11:32:41,3
C,07MAY2008,12:32:41,2
C,08MAY2008,11:32:41,6.1
C,08MAY2008,12:32:41,3
C,08MAY2008,13:32:41,2
C,09MAY2008,11:32:41,8
C,09MAY2008,12:32:41,2
C,09MAY2008,13:32:41,3
C,09MAY2008,14:32:41,2
;;;;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And the table 2 is:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;data WORK.TABLE2;
infile datalines dsd truncover;
input name:$3. date:DATE9. daily_price:32.;
format date DATE9.;
label name="name" date="date" daily_price="daily price";
datalines4;
A,05MAY2008,3&lt;BR /&gt;B,05MAY2008,6&lt;BR /&gt;C,05MAY2008,5&lt;BR /&gt;A,06MAY2008,5
A,07MAY2008,4
B,06MAY2008,3
B,07MAY2008,4
B,08MAY2008,3
C,06MAY2008,7
C,07MAY2008,6
C,08MAY2008,5
;;;;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please consider that the daily price of yesterday should be used in formula.&lt;/P&gt;</description>
      <pubDate>Sun, 19 Nov 2017 20:36:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-eliminate-observations-between-two-tables-based-on-a/m-p/414701#M280055</guid>
      <dc:creator>aminkarimid</dc:creator>
      <dc:date>2017-11-19T20:36:00Z</dc:date>
    </item>
    <item>
      <title>Re: How to eliminate observations between two tables based on a formula?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-eliminate-observations-between-two-tables-based-on-a/m-p/414703#M280056</link>
      <description>&lt;P&gt;So the result should be:&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;name&lt;/TD&gt;&lt;TD&gt;date&lt;/TD&gt;&lt;TD&gt;time&lt;/TD&gt;&lt;TD&gt;intraday price&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;7-May-08&lt;/TD&gt;&lt;TD&gt;11:32:41&lt;/TD&gt;&lt;TD&gt;3.1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;7-May-08&lt;/TD&gt;&lt;TD&gt;12:32:41&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;7-May-08&lt;/TD&gt;&lt;TD&gt;13:32:41&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;7-May-08&lt;/TD&gt;&lt;TD&gt;14:32:41&lt;/TD&gt;&lt;TD&gt;2.9&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;8-May-08&lt;/TD&gt;&lt;TD&gt;11:32:41&lt;/TD&gt;&lt;TD&gt;3.95&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;8-May-08&lt;/TD&gt;&lt;TD&gt;12:32:41&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;8-May-08&lt;/TD&gt;&lt;TD&gt;13:32:41&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;8-May-08&lt;/TD&gt;&lt;TD&gt;14:32:41&lt;/TD&gt;&lt;TD&gt;4.01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;8-May-08&lt;/TD&gt;&lt;TD&gt;11:32:41&lt;/TD&gt;&lt;TD&gt;6.1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;8-May-08&lt;/TD&gt;&lt;TD&gt;12:32:41&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;8-May-08&lt;/TD&gt;&lt;TD&gt;13:32:41&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please notice that the date variable in table 1 starts from&amp;nbsp;07MAY2008, however the table 2 begins from&amp;nbsp;05MAY2008.&lt;/P&gt;&lt;P&gt;Maybe I made a mistake to explain it.&amp;nbsp;&lt;/P&gt;&lt;P&gt;The statement is:&lt;/P&gt;&lt;P&gt;IF first AND last (intraday price for specific name &amp;amp; date) NOT IN [0.962*(daily price of yesterday), 1.0398*(daily price of yesterday)] THEN DELETE.&lt;/P&gt;</description>
      <pubDate>Mon, 20 Nov 2017 09:55:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-eliminate-observations-between-two-tables-based-on-a/m-p/414703#M280056</guid>
      <dc:creator>aminkarimid</dc:creator>
      <dc:date>2017-11-20T09:55:30Z</dc:date>
    </item>
    <item>
      <title>Re: How to eliminate observations between two tables based on a formula?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-eliminate-observations-between-two-tables-based-on-a/m-p/414706#M280057</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/138303"&gt;@aminkarimid&lt;/a&gt;, do you understand the coed?&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I hoped you'll be able to check it and addapt it, more precisely, to your needs.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Maybe if you change the next lines - defining which data to remove - :&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;if not (min_price le start_price le max_price)
             then output; &lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;into:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;if not (min_price le start_price le max_price) and
   not (min_price le &lt;/CODE&gt;&lt;CODE class="  language-sas"&gt;intraday_price &lt;/CODE&gt;&lt;CODE class=" language-sas"&gt;le max_price) &lt;BR /&gt;   then output; &lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;it will fit your demnd;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 19 Nov 2017 21:08:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-eliminate-observations-between-two-tables-based-on-a/m-p/414706#M280057</guid>
      <dc:creator>Shmuel</dc:creator>
      <dc:date>2017-11-19T21:08:32Z</dc:date>
    </item>
    <item>
      <title>Re: How to eliminate observations between two tables based on a formula?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-eliminate-observations-between-two-tables-based-on-a/m-p/414707#M280058</link>
      <description>&lt;P&gt;Thanks &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/88384"&gt;@Shmuel&lt;/a&gt;;&lt;BR /&gt;I can almost understand your code.&lt;BR /&gt;I think there is a problem:&lt;/P&gt;&lt;PRE&gt;min_price = 0.962 * daily_price;
max_price = 1.0398 * daily_price;&lt;/PRE&gt;&lt;P&gt;The daily_price which is used in these lines should be the daily price of specific name and date in yesterday.&lt;/P&gt;</description>
      <pubDate>Sun, 19 Nov 2017 21:21:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-eliminate-observations-between-two-tables-based-on-a/m-p/414707#M280058</guid>
      <dc:creator>aminkarimid</dc:creator>
      <dc:date>2017-11-19T21:21:28Z</dc:date>
    </item>
    <item>
      <title>Re: How to eliminate observations between two tables based on a formula?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-eliminate-observations-between-two-tables-based-on-a/m-p/414708#M280059</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/138303"&gt;@aminkarimid&lt;/a&gt; wrote:&lt;BR /&gt;
&lt;P&gt;Thanks &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/88384"&gt;@Shmuel&lt;/a&gt;;&lt;BR /&gt;I can almost understand your code.&lt;BR /&gt;I think there is a problem:&lt;/P&gt;
&lt;PRE&gt;min_price = 0.962 * daily_price;
max_price = 1.0398 * daily_price;&lt;/PRE&gt;
&lt;P&gt;The daily_price which is used in these lines should be the daily price of specific name and date in yesterday.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Then you should add 1 to the date in table2 before merging. Note that SAS dates are counts of days.&lt;/P&gt;</description>
      <pubDate>Sun, 19 Nov 2017 21:35:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-eliminate-observations-between-two-tables-based-on-a/m-p/414708#M280059</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2017-11-19T21:35:05Z</dc:date>
    </item>
    <item>
      <title>Re: How to eliminate observations between two tables based on a formula?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-eliminate-observations-between-two-tables-based-on-a/m-p/414715#M280060</link>
      <description>Would you please tell me how I can do that?</description>
      <pubDate>Sun, 19 Nov 2017 22:08:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-eliminate-observations-between-two-tables-based-on-a/m-p/414715#M280060</guid>
      <dc:creator>aminkarimid</dc:creator>
      <dc:date>2017-11-19T22:08:31Z</dc:date>
    </item>
    <item>
      <title>Re: How to eliminate observations between two tables based on a formula?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-eliminate-observations-between-two-tables-based-on-a/m-p/414731#M280061</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/138303"&gt;@aminkarimid&lt;/a&gt;,&amp;nbsp;I got your point.&lt;/P&gt;
&lt;P&gt;I have added a step to save the previous day daily_price in table2 using lag() fubction;&lt;/P&gt;
&lt;P&gt;Pay attention - you cannot use lag function conditionally (under if statement).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is the full tested code:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data WORK.TABLE1;
infile datalines dsd truncover;
input name:$3. date:DATE9. time:TIME8. intraday_price:32.;
format date DATE9. time TIME8.;
label name="name" date="date" time="time" intraday_price="intraday price";
datalines4;
A,07MAY2008,11:32:41,3
A,07MAY2008,12:32:41,2
A,07MAY2008,13:32:41,1
A,08MAY2008,11:32:41,3.95
A,08MAY2008,12:32:41,3
A,08MAY2008,13:32:41,6
A,08MAY2008,14:32:41,4.01
B,07MAY2008,11:32:41,3.1
B,07MAY2008,12:32:41,1
B,07MAY2008,13:32:41,4
B,07MAY2008,14:32:41,2.9
B,08MAY2008,11:32:41,6
B,08MAY2008,12:32:41,1
B,09MAY2008,11:32:41,5
B,09MAY2008,12:32:41,7
C,07MAY2008,11:32:41,3
C,07MAY2008,12:32:41,2
C,08MAY2008,11:32:41,6.1
C,08MAY2008,12:32:41,3
C,08MAY2008,13:32:41,2
C,09MAY2008,11:32:41,8
C,09MAY2008,12:32:41,2
C,09MAY2008,13:32:41,3
C,09MAY2008,14:32:41,2
;;;;
run;

data WORK.TABLE2;
infile datalines dsd truncover;
input name:$3. date:DATE9. daily_price:32.;
format date DATE9.;
label name="name" date="date" daily_price="daily price";
datalines4;
A,05MAY2008,3
B,05MAY2008,6
C,05MAY2008,5
A,06MAY2008,5
A,07MAY2008,4
B,06MAY2008,3
B,07MAY2008,4
B,08MAY2008,3
C,06MAY2008,7
C,07MAY2008,6
C,08MAY2008,5
;;;;
run;

proc sort data=table1; by name date time; run;

proc sort data=table2; by name date; run;
data table2_new;
 set table2;
  by name;
     /* save price of yesterday */
     lag_price = lag(daily_price);
     if first.name then lag_price = .;
run;

data to_delete(keep = name date);
merge table1 (in=in1) 
      table2_new (in=in2);
  by name date;
       retain start_price;
	   
       if in1 and in2;     /* deal with obs on both tables only */

       if first.date then start_price = intraday_price;
       if last.date then do;  		      
          min_price = 0.962  * lag_price;
          max_price = 1.0398 * lag_price;
       if not (min_price le start_price le max_price) and
          not (min_price le intraday_price le max_price)   
		  then output; 
       end;
run;

data want;
merge table1 /* table2 */
           to_delete (in=indel);
  by name date;
       if not indel;
run;

&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 20 Nov 2017 01:52:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-eliminate-observations-between-two-tables-based-on-a/m-p/414731#M280061</guid>
      <dc:creator>Shmuel</dc:creator>
      <dc:date>2017-11-20T01:52:17Z</dc:date>
    </item>
    <item>
      <title>Re: How to eliminate observations between two tables based on a formula?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-eliminate-observations-between-two-tables-based-on-a/m-p/414762#M280062</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/138303"&gt;@aminkarimid&lt;/a&gt; wrote:&lt;BR /&gt;Would you please tell me how I can do that?&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;date = date + 1;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;in a data step.&lt;/P&gt;</description>
      <pubDate>Mon, 20 Nov 2017 07:13:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-eliminate-observations-between-two-tables-based-on-a/m-p/414762#M280062</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2017-11-20T07:13:13Z</dc:date>
    </item>
    <item>
      <title>Re: How to eliminate observations between two tables based on a formula?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-eliminate-observations-between-two-tables-based-on-a/m-p/415072#M280064</link>
      <description>&lt;P&gt;Thanks&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/88384"&gt;@Shmuel&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/11562"&gt;@Kurt_Bremser&lt;/a&gt;&lt;/P&gt;&lt;P&gt;The statement is:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;SPAN&gt;IF first AND last (intraday price for specific name &amp;amp; date) NOT IN [0.962*(daily price of yesterday), 1.0398*(daily price of yesterday)] THEN DELETE.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;There are still two problems:&lt;/P&gt;&lt;P&gt;1- lines&amp;nbsp;&lt;/P&gt;&lt;PRE&gt; if last.date then last_price = intraday_price;&lt;/PRE&gt;&lt;P&gt;and&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;not (min_price le last_price le max_price)&lt;/PRE&gt;&lt;P&gt;should be added.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;2- There is lack of matching for last data in table 1 because of merging. So the calculation doesn't work well and I add data for 09 MAY 2008 to solve it.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Based on their works, the result is:&lt;/P&gt;&lt;PRE&gt;proc sort data=table1; by name date time; run;&lt;BR /&gt;&lt;BR /&gt;proc sort data=table2; by name date; run;&lt;BR /&gt;&lt;BR /&gt;proc sql;&lt;BR /&gt; create table table3 as&lt;BR /&gt; select * from table1, table2&lt;BR /&gt; where table1.name=table2.name and table1.date=table2.date;&lt;BR /&gt;quit;&lt;BR /&gt;&lt;BR /&gt;data table2_new;&lt;BR /&gt; set table2;&lt;BR /&gt; by name;&lt;BR /&gt; /* save price of yesterday */&lt;BR /&gt; lag_Price = lag(Price);&lt;BR /&gt; if first.name then lag_Price = .;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;data to_delete(keep = name date);&lt;BR /&gt;merge table3 (in=in1) &lt;BR /&gt; table2_new (in=in2);&lt;BR /&gt; by name date;&lt;BR /&gt; retain start_price last_price;&lt;BR /&gt; &lt;BR /&gt; if in1 and in2; /* deal with obs on both tables only */&lt;BR /&gt; if first.date then start_price = intradayprice;&lt;BR /&gt; if last.date then last_price = intradayprice;&lt;BR /&gt; if last.date then do; &lt;BR /&gt; min_price = 0.962 * lag_Price;&lt;BR /&gt; max_price = 1.0398 * lag_Price;&lt;BR /&gt; if not (min_price le start_price le max_price) and not (min_price le last_price le max_price)&lt;BR /&gt; then output; &lt;BR /&gt; end;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;data want;&lt;BR /&gt;merge table3 /* table2 */&lt;BR /&gt; to_delete (in=indel);&lt;BR /&gt; by name date;&lt;BR /&gt; if not indel;&lt;BR /&gt;run;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 23 Nov 2017 22:27:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-eliminate-observations-between-two-tables-based-on-a/m-p/415072#M280064</guid>
      <dc:creator>aminkarimid</dc:creator>
      <dc:date>2017-11-23T22:27:36Z</dc:date>
    </item>
    <item>
      <title>Re: How to eliminate observations between two tables based on a formula?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-eliminate-observations-between-two-tables-based-on-a/m-p/415100#M280065</link>
      <description>Thanks &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/11562"&gt;@Kurt_Bremser&lt;/a&gt;,&lt;BR /&gt;I have experience of work with MATLAB, Excel, Eviews, STATA and R in fields of economics and finance. I have been working with SAS for a few months and I think it is an efficient software for statistical and econometrics analysis.&lt;BR /&gt;I'm trying to improve my skill and I think this community is one of the strength aspects of this software as a kind of practical learning.&lt;BR /&gt;Thank you so much for your attention and help.</description>
      <pubDate>Tue, 21 Nov 2017 09:44:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-eliminate-observations-between-two-tables-based-on-a/m-p/415100#M280065</guid>
      <dc:creator>aminkarimid</dc:creator>
      <dc:date>2017-11-21T09:44:12Z</dc:date>
    </item>
  </channel>
</rss>

