<?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: Inserting blank row with Date in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Inserting-blank-row-with-Date/m-p/795307#M255076</link>
    <description>&lt;P&gt;If you have SAS/ETS license, then Proc Timeseries is the right tool.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data table;
input Id Date:YYQ8. Trips Sales;
format Date YYQ8.;
datalines; 
1 2021Q1 10 100 
1 2021Q3 2  200 
1 2021Q4 4  400 
2 2021Q1 16 300 
2 2021Q2 8  600 
2 2021Q4 19 100 
;
run;

proc timeseries data = table out = want;
   by ID;
   id Date interval   = quarter
           accumulate = none
           setmiss    = missing
           format     = YYQ8.;
   var Trips Sales;
run;&lt;/CODE&gt;&lt;/PRE&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;Id  Date    Trips  Sales 
1   2021Q1  10     100 
1   2021Q2  .      . 
1   2021Q3  2      200 
1   2021Q4  4      400 
2   2021Q1  16     300 
2   2021Q2  8      600 
2   2021Q3  .      . 
2   2021Q4  19     100 &lt;/PRE&gt;</description>
    <pubDate>Wed, 09 Feb 2022 20:12:56 GMT</pubDate>
    <dc:creator>PeterClemmensen</dc:creator>
    <dc:date>2022-02-09T20:12:56Z</dc:date>
    <item>
      <title>Inserting blank row with Date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Inserting-blank-row-with-Date/m-p/795306#M255075</link>
      <description>&lt;P&gt;Suppose I have the following:&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=""&gt;data table;
input Id Date:YYQ8. Trips Sales;
format Date YYQ8.;
datalines; 
1 2021Q1 10 100
1 2021Q3 2 200
1 2021Q4 4 400
2 2021Q1 16 300
2 2021Q2 8 600
2 2021Q2 19 100;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Id&lt;/TD&gt;&lt;TD&gt;Date&lt;/TD&gt;&lt;TD&gt;Trips&lt;/TD&gt;&lt;TD&gt;Sales&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2021Q1&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2021Q3&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;200&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2021Q4&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;400&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2021Q1&lt;/TD&gt;&lt;TD&gt;16&lt;/TD&gt;&lt;TD&gt;300&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2021Q2&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2021Q4&lt;/TD&gt;&lt;TD&gt;19&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;BR /&gt;For each id, I want to insert a blank for each date there wasn't a sale as such:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Id&lt;/TD&gt;&lt;TD&gt;Date&lt;/TD&gt;&lt;TD&gt;Trips&lt;/TD&gt;&lt;TD&gt;Sales&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2021Q1&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2021Q2&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2021Q3&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;200&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2021Q4&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;400&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2021Q1&lt;/TD&gt;&lt;TD&gt;16&lt;/TD&gt;&lt;TD&gt;300&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2021Q2&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;600&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2021Q3&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2021Q4&lt;/TD&gt;&lt;TD&gt;19&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;BR /&gt;I want to do this so I can do quarter-over-quarter analysis. How would I accomplish this?&lt;/P&gt;</description>
      <pubDate>Wed, 09 Feb 2022 19:46:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Inserting-blank-row-with-Date/m-p/795306#M255075</guid>
      <dc:creator>mmaleta851</dc:creator>
      <dc:date>2022-02-09T19:46:44Z</dc:date>
    </item>
    <item>
      <title>Re: Inserting blank row with Date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Inserting-blank-row-with-Date/m-p/795307#M255076</link>
      <description>&lt;P&gt;If you have SAS/ETS license, then Proc Timeseries is the right tool.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data table;
input Id Date:YYQ8. Trips Sales;
format Date YYQ8.;
datalines; 
1 2021Q1 10 100 
1 2021Q3 2  200 
1 2021Q4 4  400 
2 2021Q1 16 300 
2 2021Q2 8  600 
2 2021Q4 19 100 
;
run;

proc timeseries data = table out = want;
   by ID;
   id Date interval   = quarter
           accumulate = none
           setmiss    = missing
           format     = YYQ8.;
   var Trips Sales;
run;&lt;/CODE&gt;&lt;/PRE&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;Id  Date    Trips  Sales 
1   2021Q1  10     100 
1   2021Q2  .      . 
1   2021Q3  2      200 
1   2021Q4  4      400 
2   2021Q1  16     300 
2   2021Q2  8      600 
2   2021Q3  .      . 
2   2021Q4  19     100 &lt;/PRE&gt;</description>
      <pubDate>Wed, 09 Feb 2022 20:12:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Inserting-blank-row-with-Date/m-p/795307#M255076</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2022-02-09T20:12:56Z</dc:date>
    </item>
    <item>
      <title>Re: Inserting blank row with Date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Inserting-blank-row-with-Date/m-p/795343#M255101</link>
      <description>That works. Thank you!</description>
      <pubDate>Wed, 09 Feb 2022 21:24:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Inserting-blank-row-with-Date/m-p/795343#M255101</guid>
      <dc:creator>mmaleta851</dc:creator>
      <dc:date>2022-02-09T21:24:24Z</dc:date>
    </item>
    <item>
      <title>Re: Inserting blank row with Date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Inserting-blank-row-with-Date/m-p/795357#M255113</link>
      <description>&lt;P&gt;Additionally what happens if I have this&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;Date&lt;/TD&gt;&lt;TD&gt;Trips&lt;/TD&gt;&lt;TD&gt;Sales&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2021Q2&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2021Q3&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;200&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And I want to add a blank row before or after to get this?&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;Date&lt;/TD&gt;&lt;TD&gt;Trips&lt;/TD&gt;&lt;TD&gt;Sales&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2021Q1&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2021Q2&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2021Q3&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;200&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2021Q4&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 09 Feb 2022 21:47:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Inserting-blank-row-with-Date/m-p/795357#M255113</guid>
      <dc:creator>mmaleta851</dc:creator>
      <dc:date>2022-02-09T21:47:07Z</dc:date>
    </item>
    <item>
      <title>Re: Inserting blank row with Date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Inserting-blank-row-with-Date/m-p/795434#M255149</link>
      <description>&lt;P&gt;If you have specific start / end dates, you can place them in the ID Statement like this&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc timeseries data = table out = want;
   by ID;
   id Date interval   = quarter
           accumulate = none
           setmiss    = missing
		   start      = '01jan2021'd
		   end        = '31dec2021'd
           format     = YYQ8.;
   var Trips Sales;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 10 Feb 2022 07:23:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Inserting-blank-row-with-Date/m-p/795434#M255149</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2022-02-10T07:23:58Z</dc:date>
    </item>
    <item>
      <title>Re: Inserting blank row with Date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Inserting-blank-row-with-Date/m-p/795438#M255151</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data table;
input Id Date:YYQ8. Trips Sales;
format Date YYQ8.;
datalines; 
1 2021Q1 10 100 
1 2021Q3 2  200 
1 2021Q4 4  400 
2 2021Q1 16 300 
2 2021Q2 8  600 
2 2021Q4 19 100 
;
run;
proc sql;
create table year as
select id,year(min(date)) as min,year(max(date)) as max from table group by id;
quit;
data yyq;
 set year;
 do year=min to max;
  do qtr=1 to 4;
   date=yyq(year,qtr);output;
  end;
 end;
format date yyq.;
keep id date;
run;
proc sql;
create table want as
select a.*, Trips ,Sales
 from yyq as a left join table as b on a.id=b.id and a.date=b.date;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 10 Feb 2022 08:40:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Inserting-blank-row-with-Date/m-p/795438#M255151</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2022-02-10T08:40:20Z</dc:date>
    </item>
    <item>
      <title>Re: Inserting blank row with Date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Inserting-blank-row-with-Date/m-p/795485#M255168</link>
      <description>&lt;P&gt;And if you do not have SAS/ETS, something like this may do the trick:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
  create table quarters as select table.id,quarters.date
  from (select distinct date from table) quarters,
       (select distinct id from table) table
  ;
  create table want as select quarters.id,quarters.date,table.trips,table.sales
  from quarters left join table on quarters.id=table.id and quarters.date=table.date
  ;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;That is, first select all IDs and QUARTERs from the table, and then left join to get the wanted result. But this will only work if your DATE values are actually the same for each quarter (all the first day in the quarter).&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 10 Feb 2022 14:14:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Inserting-blank-row-with-Date/m-p/795485#M255168</guid>
      <dc:creator>s_lassen</dc:creator>
      <dc:date>2022-02-10T14:14:42Z</dc:date>
    </item>
    <item>
      <title>Re: Inserting blank row with Date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Inserting-blank-row-with-Date/m-p/795559#M255198</link>
      <description>Thank you!</description>
      <pubDate>Thu, 10 Feb 2022 20:07:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Inserting-blank-row-with-Date/m-p/795559#M255198</guid>
      <dc:creator>mmaleta851</dc:creator>
      <dc:date>2022-02-10T20:07:41Z</dc:date>
    </item>
  </channel>
</rss>

