<?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: Insert missing dates between rows and complete others columns with previous rows in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Insert-missing-dates-between-rows-and-complete-others-columns/m-p/950768#M371757</link>
    <description>Perfect solution! Thanks!!! &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;</description>
    <pubDate>Thu, 14 Nov 2024 13:17:03 GMT</pubDate>
    <dc:creator>GDumont</dc:creator>
    <dc:date>2024-11-14T13:17:03Z</dc:date>
    <item>
      <title>Insert missing dates between rows and complete others columns with previous rows</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Insert-missing-dates-between-rows-and-complete-others-columns/m-p/950727#M371752</link>
      <description>&lt;P&gt;Hi, everyone.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a &lt;SPAN&gt;dataset&amp;nbsp;&lt;/SPAN&gt;with 3 columns, &lt;SPAN&gt;as shown above&lt;/SPAN&gt;. &lt;SPAN&gt;The first column&lt;/SPAN&gt;, COD_SEG, &lt;SPAN&gt;represents the internal code for each person&lt;/SPAN&gt;. &lt;SPAN&gt;The second column&lt;/SPAN&gt;, DT_OCORR, &lt;SPAN&gt;represents the date of a specific event (format yymmd7.). The last column,&lt;/SPAN&gt;, CIA_ESCOLHIDA, &lt;SPAN&gt;provides a reference for the corresponding&lt;/SPAN&gt; COD_SEG and DT_OCORR.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;My date variable&lt;/SPAN&gt; (DT_OCORR) &lt;SPAN&gt;is skipping (jumping) months&lt;/SPAN&gt;. &lt;SPAN&gt;I need to insert the missing dates for each COD_SEG&lt;/SPAN&gt;. &lt;SPAN&gt;When doing this, I need to fill the other 2 columns with the information from the previous row. Like this.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;I have:&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;COD_SEG&lt;/TD&gt;&lt;TD&gt;DT_OCORR&lt;/TD&gt;&lt;TD&gt;CIA_ESCOLHIDA&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;37192&lt;/TD&gt;&lt;TD&gt;2021-08&lt;/TD&gt;&lt;TD&gt;1806&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;37192&lt;/TD&gt;&lt;TD&gt;2022-02&lt;/TD&gt;&lt;TD&gt;1806&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;37192&lt;/TD&gt;&lt;TD&gt;2022-03&lt;/TD&gt;&lt;TD&gt;1806&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;37192&lt;/TD&gt;&lt;TD&gt;2022-04&lt;/TD&gt;&lt;TD&gt;1806&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;37192&lt;/TD&gt;&lt;TD&gt;2022-06&lt;/TD&gt;&lt;TD&gt;1806&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;37192&lt;/TD&gt;&lt;TD&gt;2022-07&lt;/TD&gt;&lt;TD&gt;1806&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;37192&lt;/TD&gt;&lt;TD&gt;2022-08&lt;/TD&gt;&lt;TD&gt;1806&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;37192&lt;/TD&gt;&lt;TD&gt;2022-09&lt;/TD&gt;&lt;TD&gt;1806&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;37192&lt;/TD&gt;&lt;TD&gt;2022-10&lt;/TD&gt;&lt;TD&gt;2110&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;37192&lt;/TD&gt;&lt;TD&gt;2022-12&lt;/TD&gt;&lt;TD&gt;2110&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;37192&lt;/TD&gt;&lt;TD&gt;2023-01&lt;/TD&gt;&lt;TD&gt;2110&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I need (&lt;SPAN&gt;I have bolded the lines that need to be inserted)&lt;/SPAN&gt;:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;COD_SEG&lt;/TD&gt;&lt;TD&gt;DT_OCORR&lt;/TD&gt;&lt;TD&gt;CIA_ESCOLHIDA&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;37192&lt;/TD&gt;&lt;TD&gt;2021-08&lt;/TD&gt;&lt;TD&gt;1806&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;37192&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;2021-09&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;1806&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;37192&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;2021-10&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;1806&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;37192&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;2021-11&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;1806&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;37192&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;2021-12&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;1806&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;37192&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;2022-01&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;1806&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;37192&lt;/TD&gt;&lt;TD&gt;2022-02&lt;/TD&gt;&lt;TD&gt;1806&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;37192&lt;/TD&gt;&lt;TD&gt;2022-03&lt;/TD&gt;&lt;TD&gt;1806&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;37192&lt;/TD&gt;&lt;TD&gt;2022-04&lt;/TD&gt;&lt;TD&gt;1806&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;37192&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;2022-05&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;1806&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;37192&lt;/TD&gt;&lt;TD&gt;2022-06&lt;/TD&gt;&lt;TD&gt;1806&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;37192&lt;/TD&gt;&lt;TD&gt;2022-07&lt;/TD&gt;&lt;TD&gt;1806&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;37192&lt;/TD&gt;&lt;TD&gt;2022-08&lt;/TD&gt;&lt;TD&gt;1806&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;37192&lt;/TD&gt;&lt;TD&gt;2022-09&lt;/TD&gt;&lt;TD&gt;1806&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;37192&lt;/TD&gt;&lt;TD&gt;2022-10&lt;/TD&gt;&lt;TD&gt;2110&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;37192&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;2022-11&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;2110&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;37192&lt;/TD&gt;&lt;TD&gt;2022-12&lt;/TD&gt;&lt;TD&gt;2110&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;37192&lt;/TD&gt;&lt;TD&gt;2023-01&lt;/TD&gt;&lt;TD&gt;2110&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My database have so many rows. I need an way to do this for a lot of records.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Anyone can help me? I'm using SAS Enterprise Guide.&lt;/P&gt;</description>
      <pubDate>Thu, 14 Nov 2024 04:35:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Insert-missing-dates-between-rows-and-complete-others-columns/m-p/950727#M371752</guid>
      <dc:creator>GDumont</dc:creator>
      <dc:date>2024-11-14T04:35:45Z</dc:date>
    </item>
    <item>
      <title>Re: Insert missing dates between rows and complete others columns with previous rows</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Insert-missing-dates-between-rows-and-complete-others-columns/m-p/950735#M371753</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile cards expandtabs truncover;
input COD_SEG	DT_OCORR :anydtdte.	CIA_ESCOLHIDA;
format DT_OCORR :yymmd7.;
cards;
37192	2021-08 1806
37192	2022-02 1806
37192	2022-03 1806
37192	2022-04 1806
37192	2022-06 1806
37192	2022-07 1806
37192	2022-08 1806
37192	2022-09 1806
37192	2022-10 2110
37192	2022-12 2110
37192	2023-01 2110
;

proc sort data=have out=temp;
by COD_SEG	DT_OCORR;
run;
data want;
 merge temp temp(firstobs=2 keep=COD_SEG DT_OCORR rename=(COD_SEG=_COD_SEG DT_OCORR=_DT_OCORR));
 output;
 if COD_SEG=_COD_SEG then do;
   do i=1 to intck('month',DT_OCORR,_DT_OCORR)-1;
    DT_OCORR=intnx('month',DT_OCORR,1);output;
   end;
 end;
drop i _COD_SEG _DT_OCORR;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 14 Nov 2024 06:54:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Insert-missing-dates-between-rows-and-complete-others-columns/m-p/950735#M371753</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2024-11-14T06:54:40Z</dc:date>
    </item>
    <item>
      <title>Re: Insert missing dates between rows and complete others columns with previous rows</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Insert-missing-dates-between-rows-and-complete-others-columns/m-p/950738#M371754</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile cards expandtabs truncover;
input COD_SEG	DT_OCORR :anydtdte.	CIA_ESCOLHIDA;
format DT_OCORR yymmd7.;
cards;
37192	2021-08 1806
37192	2022-02 1806
37192	2022-03 1806
37192	2022-04 1806
37192	2022-06 1806
37192	2022-07 1806
37192	2022-08 1806
37192	2022-09 1806
37192	2022-10 2110
37192	2022-12 2110
37192	2023-01 2110
;

proc timeseries data = have out = want;
   by COD_SEG;
   id DT_OCORR interval = month
               setmiss  = prev;
   var CIA_ESCOLHIDA;
   format DT_OCORR yymmd7.;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;Result:&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;COD_SEG  DT_OCORR  CIA_ESCOLHIDA
37192    2021-08   1806
37192    2021-09   1806
37192    2021-10   1806
37192    2021-11   1806
37192    2021-12   1806
37192    2022-01   1806
37192    2022-02   1806
37192    2022-03   1806
37192    2022-04   1806
37192    2022-05   1806
37192    2022-06   1806
37192    2022-07   1806
37192    2022-08   1806
37192    2022-09   1806
37192    2022-10   2110
37192    2022-11   2110
37192    2022-12   2110
37192    2023-01   2110&lt;/PRE&gt;</description>
      <pubDate>Thu, 14 Nov 2024 08:24:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Insert-missing-dates-between-rows-and-complete-others-columns/m-p/950738#M371754</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2024-11-14T08:24:40Z</dc:date>
    </item>
    <item>
      <title>Re: Insert missing dates between rows and complete others columns with previous rows</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Insert-missing-dates-between-rows-and-complete-others-columns/m-p/950768#M371757</link>
      <description>Perfect solution! Thanks!!! &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;</description>
      <pubDate>Thu, 14 Nov 2024 13:17:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Insert-missing-dates-between-rows-and-complete-others-columns/m-p/950768#M371757</guid>
      <dc:creator>GDumont</dc:creator>
      <dc:date>2024-11-14T13:17:03Z</dc:date>
    </item>
  </channel>
</rss>

