<?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: Copying observations to blank rows in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Copying-observations-to-blank-rows/m-p/687749#M208825</link>
    <description>&lt;P&gt;You can use a temporary array to hold the non-missing values found in a row, and apply those non-missing values in future rows that have a missing values.&amp;nbsp; The values are processed within a row using a variable based array.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Example:&lt;/P&gt;
&lt;PRE&gt;data have;
attrib
  date format=ddmmyy10. informat=ddmmyy10.
  A B Length=8
  weekdate format=ddmmyy10. informat=ddmmyy10.
;

input date A	B	weekdate; datalines;
01/02/2018	17500	25682	29/01/2018
. . . 30/01/2018
.	.	.	31/01/2018
.	.	.	01/02/2018
.	.	.	02/02/2018
.	.	.	03/02/2018
;

data want;
  array holdNum(4) _temporary_;               /* temporary array, values implicitly retained across rows and not part of output data set */
  array varsNum date a b weekdate;            /* variable based array allows iterative processing of like typed variables */
  set have;
  do _i_ = 1 to dim(varsNum);
    if not missing(varsNum(_i_)) 
      then holdNum(_i_) = varsNum(_i_);       /* save non-missing value for future application */
      else varsNum(_i_) = holdNum(_i_);       /* assign prior saved non-missing value to a variable via array reference */
  end;
run;&lt;/PRE&gt;</description>
    <pubDate>Wed, 30 Sep 2020 09:06:59 GMT</pubDate>
    <dc:creator>RichardDeVen</dc:creator>
    <dc:date>2020-09-30T09:06:59Z</dc:date>
    <item>
      <title>Copying observations to blank rows</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Copying-observations-to-blank-rows/m-p/687734#M208822</link>
      <description>&lt;P&gt;Hi y'all I hope you're doing well,&lt;/P&gt;&lt;P&gt;I've got a question, i'm a little bit new to sas arrays, and I have a dataset containing variables and obs like this :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;date&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;weekdate&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;01/02/2018&lt;/TD&gt;&lt;TD&gt;17500&lt;/TD&gt;&lt;TD&gt;25682&lt;/TD&gt;&lt;TD&gt;29/01/2018&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;.&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;30/01/2018&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;31/01/2018&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;01/02/2018&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;02/02/2018&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;03/02/2018&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;what I want is to copy the values that are in the first row for the vars Date A and B and copy them for each row that is blank, to do so i've tried this ( but does not work)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;data want;
set have;
array model(*) Date A B;
do j=1 to dim(model);
    do i=1 to dim(model);
     model[i,j] = model[i+1,j];
end;
end;
drop i j;
run;&lt;/PRE&gt;&lt;P&gt;but i do not know what seems to be the problem can you please help me ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 30 Sep 2020 07:39:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Copying-observations-to-blank-rows/m-p/687734#M208822</guid>
      <dc:creator>skavli</dc:creator>
      <dc:date>2020-09-30T07:39:00Z</dc:date>
    </item>
    <item>
      <title>Re: Copying observations to blank rows</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Copying-observations-to-blank-rows/m-p/687749#M208825</link>
      <description>&lt;P&gt;You can use a temporary array to hold the non-missing values found in a row, and apply those non-missing values in future rows that have a missing values.&amp;nbsp; The values are processed within a row using a variable based array.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Example:&lt;/P&gt;
&lt;PRE&gt;data have;
attrib
  date format=ddmmyy10. informat=ddmmyy10.
  A B Length=8
  weekdate format=ddmmyy10. informat=ddmmyy10.
;

input date A	B	weekdate; datalines;
01/02/2018	17500	25682	29/01/2018
. . . 30/01/2018
.	.	.	31/01/2018
.	.	.	01/02/2018
.	.	.	02/02/2018
.	.	.	03/02/2018
;

data want;
  array holdNum(4) _temporary_;               /* temporary array, values implicitly retained across rows and not part of output data set */
  array varsNum date a b weekdate;            /* variable based array allows iterative processing of like typed variables */
  set have;
  do _i_ = 1 to dim(varsNum);
    if not missing(varsNum(_i_)) 
      then holdNum(_i_) = varsNum(_i_);       /* save non-missing value for future application */
      else varsNum(_i_) = holdNum(_i_);       /* assign prior saved non-missing value to a variable via array reference */
  end;
run;&lt;/PRE&gt;</description>
      <pubDate>Wed, 30 Sep 2020 09:06:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Copying-observations-to-blank-rows/m-p/687749#M208825</guid>
      <dc:creator>RichardDeVen</dc:creator>
      <dc:date>2020-09-30T09:06:59Z</dc:date>
    </item>
    <item>
      <title>Re: Copying observations to blank rows</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Copying-observations-to-blank-rows/m-p/687755#M208830</link>
      <description>&lt;P&gt;Thank you very very much that works very well&lt;/P&gt;</description>
      <pubDate>Wed, 30 Sep 2020 09:22:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Copying-observations-to-blank-rows/m-p/687755#M208830</guid>
      <dc:creator>skavli</dc:creator>
      <dc:date>2020-09-30T09:22:22Z</dc:date>
    </item>
  </channel>
</rss>

