<?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 Calculating days of observation before and after a given date in New SAS User</title>
    <link>https://communities.sas.com/t5/New-SAS-User/Calculating-days-of-observation-before-and-after-a-given-date/m-p/781859#M31837</link>
    <description>&lt;P&gt;&lt;SPAN&gt;Hello!&lt;BR /&gt;I am a new SAS user.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I have a time-series data which contains the return of stocks from all the companies from 01-Jan-2021 to 31-Dec-2021.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I have put a small sample of my data and the my expected output below for your kind consideration. The dataset is attached at the end.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is my sample data:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Company_ID Date Return Reporting_Date&lt;BR /&gt;1001 05JAN2021 0.03&lt;BR /&gt;1001 06JAN2021 0.09&lt;BR /&gt;1001 07JAN2021 0.05&lt;BR /&gt;1001 08JAN2021 0.06&lt;BR /&gt;1001 11JAN2021 0.07&lt;BR /&gt;1001 12JAN2021 0.08 12JAN2021&lt;BR /&gt;1001 13JAN2021 0.09&lt;BR /&gt;1001 14JAN2021 0.1&lt;BR /&gt;1001 15JAN2021 0.11&lt;BR /&gt;1001 18JAN2021 0.12&lt;BR /&gt;1001 19JAN2021 0.13&lt;BR /&gt;1001 02FEB2021 0.23&lt;BR /&gt;1001 03FEB2021 0.24&lt;BR /&gt;1001 04FEB2021 0.25&lt;BR /&gt;1001 05FEB2021 0.26&lt;BR /&gt;1001 08FEB2021 0.27&lt;BR /&gt;1001 09FEB2021 0.26 09FEB2021&lt;BR /&gt;1001 10FEB2021 0.29&lt;BR /&gt;1001 11FEB2021 0.3&lt;BR /&gt;1001 12FEB2021 0.31&lt;BR /&gt;1001 15FEB2021 0.32&lt;BR /&gt;1002 15FEB2021 0.39&lt;BR /&gt;1002 16FEB2021 0.34 19JAN2021&lt;BR /&gt;1002 17FEB2021 0.35&lt;BR /&gt;1002 18FEB2021 0.36&lt;BR /&gt;1002 21FEB2021 0.37&lt;BR /&gt;1002 22FEB2021 0.38&lt;BR /&gt;1003 23FEB2021 0.44&lt;BR /&gt;1003 24FEB2021 0.45&lt;BR /&gt;1003 25FEB2021 0.46&lt;BR /&gt;1003 26FEB2021 0.47 07JAN2021&lt;BR /&gt;1003 27FEB2021 0.48&lt;BR /&gt;1004 08JAN2021 0.03&lt;BR /&gt;1004 11JAN2021 0.06 04JAN2021&lt;BR /&gt;1004 12JAN2021 0.09&lt;BR /&gt;1004 13JAN2021 0.12&lt;BR /&gt;1004 14JAN2021 0.15&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is my expected output:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Company_ID&lt;/TD&gt;&lt;TD&gt;Reporting_Date&lt;/TD&gt;&lt;TD&gt;Days_before&lt;/TD&gt;&lt;TD&gt;Days_after&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1001&lt;/TD&gt;&lt;TD&gt;2021-01-12&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1001&lt;/TD&gt;&lt;TD&gt;2021-02-09&lt;/TD&gt;&lt;TD&gt;16&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1002&lt;/TD&gt;&lt;TD&gt;2021-01-19&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;&lt;FONT color="#FF0000"&gt;1003&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#FF0000"&gt;2021-01-07&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#FF0000"&gt;3&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#FF0000"&gt;1&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1004&lt;/TD&gt;&lt;TD&gt;2021-01-04&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Please note that the days&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;cannot&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;be simply calculated by considering them as continuous calendar days. As you will notice, these are&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;trading days&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;and the holidays are not included in the dataset.&lt;BR /&gt;&lt;BR /&gt;Thank you in advance for your kind support!&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Tue, 23 Nov 2021 05:26:26 GMT</pubDate>
    <dc:creator>mmh</dc:creator>
    <dc:date>2021-11-23T05:26:26Z</dc:date>
    <item>
      <title>Calculating days of observation before and after a given date</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Calculating-days-of-observation-before-and-after-a-given-date/m-p/781859#M31837</link>
      <description>&lt;P&gt;&lt;SPAN&gt;Hello!&lt;BR /&gt;I am a new SAS user.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I have a time-series data which contains the return of stocks from all the companies from 01-Jan-2021 to 31-Dec-2021.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I have put a small sample of my data and the my expected output below for your kind consideration. The dataset is attached at the end.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is my sample data:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Company_ID Date Return Reporting_Date&lt;BR /&gt;1001 05JAN2021 0.03&lt;BR /&gt;1001 06JAN2021 0.09&lt;BR /&gt;1001 07JAN2021 0.05&lt;BR /&gt;1001 08JAN2021 0.06&lt;BR /&gt;1001 11JAN2021 0.07&lt;BR /&gt;1001 12JAN2021 0.08 12JAN2021&lt;BR /&gt;1001 13JAN2021 0.09&lt;BR /&gt;1001 14JAN2021 0.1&lt;BR /&gt;1001 15JAN2021 0.11&lt;BR /&gt;1001 18JAN2021 0.12&lt;BR /&gt;1001 19JAN2021 0.13&lt;BR /&gt;1001 02FEB2021 0.23&lt;BR /&gt;1001 03FEB2021 0.24&lt;BR /&gt;1001 04FEB2021 0.25&lt;BR /&gt;1001 05FEB2021 0.26&lt;BR /&gt;1001 08FEB2021 0.27&lt;BR /&gt;1001 09FEB2021 0.26 09FEB2021&lt;BR /&gt;1001 10FEB2021 0.29&lt;BR /&gt;1001 11FEB2021 0.3&lt;BR /&gt;1001 12FEB2021 0.31&lt;BR /&gt;1001 15FEB2021 0.32&lt;BR /&gt;1002 15FEB2021 0.39&lt;BR /&gt;1002 16FEB2021 0.34 19JAN2021&lt;BR /&gt;1002 17FEB2021 0.35&lt;BR /&gt;1002 18FEB2021 0.36&lt;BR /&gt;1002 21FEB2021 0.37&lt;BR /&gt;1002 22FEB2021 0.38&lt;BR /&gt;1003 23FEB2021 0.44&lt;BR /&gt;1003 24FEB2021 0.45&lt;BR /&gt;1003 25FEB2021 0.46&lt;BR /&gt;1003 26FEB2021 0.47 07JAN2021&lt;BR /&gt;1003 27FEB2021 0.48&lt;BR /&gt;1004 08JAN2021 0.03&lt;BR /&gt;1004 11JAN2021 0.06 04JAN2021&lt;BR /&gt;1004 12JAN2021 0.09&lt;BR /&gt;1004 13JAN2021 0.12&lt;BR /&gt;1004 14JAN2021 0.15&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is my expected output:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Company_ID&lt;/TD&gt;&lt;TD&gt;Reporting_Date&lt;/TD&gt;&lt;TD&gt;Days_before&lt;/TD&gt;&lt;TD&gt;Days_after&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1001&lt;/TD&gt;&lt;TD&gt;2021-01-12&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1001&lt;/TD&gt;&lt;TD&gt;2021-02-09&lt;/TD&gt;&lt;TD&gt;16&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1002&lt;/TD&gt;&lt;TD&gt;2021-01-19&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;&lt;FONT color="#FF0000"&gt;1003&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#FF0000"&gt;2021-01-07&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#FF0000"&gt;3&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#FF0000"&gt;1&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1004&lt;/TD&gt;&lt;TD&gt;2021-01-04&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Please note that the days&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;cannot&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;be simply calculated by considering them as continuous calendar days. As you will notice, these are&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;trading days&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;and the holidays are not included in the dataset.&lt;BR /&gt;&lt;BR /&gt;Thank you in advance for your kind support!&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 23 Nov 2021 05:26:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Calculating-days-of-observation-before-and-after-a-given-date/m-p/781859#M31837</guid>
      <dc:creator>mmh</dc:creator>
      <dc:date>2021-11-23T05:26:26Z</dc:date>
    </item>
    <item>
      <title>Re: Calculating days of observation before and after a given date</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Calculating-days-of-observation-before-and-after-a-given-date/m-p/781868#M31839</link>
      <description>&lt;P&gt;If your sample data were in the form of a working data step, I would test this program.&amp;nbsp; It isn't, so this is an untested response.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want (drop=ndays i);

  /* Count the days for a given ID*/
  do ndays=1 by 1 until (last.company_id);
    set have;
    by company_id;
  end;

  /*Reread the same observations*/
  do i=1 to ndays;
    set have;
    if reporting_date^=. then do;
      days_before=i-1;
      days_after=ndays-i;
      output;
    end;
  end;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Or applying the same logic more compactly:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want (drop=ndays i);
  set have (in=firstpass)  have (in=secondpass);
  by company_id;
  if first.company_id then call missing(ndays,i);
  ndays+firstpass;

  i+secondpass;
  if secondpass and reporting_date^=.;
  days_before=i-1;
  days_after=ndays-i;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 23 Nov 2021 06:27:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Calculating-days-of-observation-before-and-after-a-given-date/m-p/781868#M31839</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2021-11-23T06:27:03Z</dc:date>
    </item>
    <item>
      <title>Re: Calculating days of observation before and after a given date</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Calculating-days-of-observation-before-and-after-a-given-date/m-p/781872#M31841</link>
      <description>Thank you so much for your time!&lt;BR /&gt;It was really helpful &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;</description>
      <pubDate>Tue, 23 Nov 2021 06:49:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Calculating-days-of-observation-before-and-after-a-given-date/m-p/781872#M31841</guid>
      <dc:creator>mmh</dc:creator>
      <dc:date>2021-11-23T06:49:52Z</dc:date>
    </item>
    <item>
      <title>Re: Calculating days of observation before and after a given date</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Calculating-days-of-observation-before-and-after-a-given-date/m-p/781914#M31848</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table want as
select Company_ID,Reporting_Date,
(select count(*) from have where Company_ID=a.Company_ID and Date&amp;lt;a.Date) as Days_before,
(select count(*) from have where Company_ID=a.Company_ID and Date&amp;gt;a.Date) as Days_after
 from have as a
  where Reporting_Date is not missing;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 23 Nov 2021 12:04:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Calculating-days-of-observation-before-and-after-a-given-date/m-p/781914#M31848</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2021-11-23T12:04:31Z</dc:date>
    </item>
  </channel>
</rss>

