<?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: Put sequence as decimal in missing values in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Put-sequence-as-decimal-in-missing-values/m-p/837560#M331177</link>
    <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/*You should know for numeric variable,
10.1 and 10.10 is the same thing*/
data have;
  infile datalines missover;
  input subject sequence;
datalines;
101 1
101  
101 2
101 2
101  
101  
101  
101 3
101 3
;
data want(drop=temp n);
  set have;
  by subject ;
  retain temp n;
  if first.subject then call missing(temp,n);
  if not missing(sequence) then do;temp=sequence;want=sequence;n=0;end;
   else do;n+1;want=sum(temp,n*0.1);end;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Sun, 09 Oct 2022 11:31:30 GMT</pubDate>
    <dc:creator>Ksharp</dc:creator>
    <dc:date>2022-10-09T11:31:30Z</dc:date>
    <item>
      <title>Put sequence as decimal in missing values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Put-sequence-as-decimal-in-missing-values/m-p/837526#M331158</link>
      <description>&lt;P&gt;Hi Community,&lt;/P&gt;&lt;P&gt;Few values are missing in my dataset. I need to put them in sequence as given below.&lt;/P&gt;&lt;P&gt;Source Dataset:&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Subject&lt;/TD&gt;&lt;TD&gt;Sequence&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;101&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;101&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;101&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;101&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;101&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;101&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;101&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;101&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;101&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;Output Dataset:&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Subject&lt;/TD&gt;&lt;TD&gt;Sequence&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;101&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;101&lt;/TD&gt;&lt;TD&gt;1.1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;101&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;101&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;101&lt;/TD&gt;&lt;TD&gt;2.1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;101&lt;/TD&gt;&lt;TD&gt;2.2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;101&lt;/TD&gt;&lt;TD&gt;2.3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;101&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;101&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;Thank you in advance..&lt;/P&gt;</description>
      <pubDate>Sat, 08 Oct 2022 15:39:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Put-sequence-as-decimal-in-missing-values/m-p/837526#M331158</guid>
      <dc:creator>gahlot1999</dc:creator>
      <dc:date>2022-10-08T15:39:56Z</dc:date>
    </item>
    <item>
      <title>Re: Put sequence as decimal in missing values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Put-sequence-as-decimal-in-missing-values/m-p/837529#M331160</link>
      <description>&lt;P&gt;This is a good case for using the RETAIN statement, applied to a temporarily needed" variable:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  infile datalines missover;
  input subject sequence;
datalines;
101	1
101	 
101	2
101	2
101	 
101	 
101	 
101	3
101	3
run;
data want (drop=_:);
  set have;
  retain _sequence;
  /* Replace by next line:  _sequence=coalesce(sequence,sum(_sequence,0.1));  */
  _sequence=round(coalesce(sequence,sum(_sequence,0.1)),0.1);
  sequence=_sequence;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;The coalesce function returns the first non-missing argument.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Editted note:&amp;nbsp; I incorporated a change to accommodate the precision issue noted by&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/32733"&gt;@FreelanceReinh&lt;/a&gt;.&lt;/P&gt;</description>
      <pubDate>Mon, 10 Oct 2022 22:05:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Put-sequence-as-decimal-in-missing-values/m-p/837529#M331160</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2022-10-10T22:05:39Z</dc:date>
    </item>
    <item>
      <title>Re: Put sequence as decimal in missing values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Put-sequence-as-decimal-in-missing-values/m-p/837557#M331176</link>
      <description>&lt;P&gt;If there are 10 or more blank values consecutively for variable SEQUENCE, then what? Can this actually happen?&lt;/P&gt;</description>
      <pubDate>Sun, 09 Oct 2022 10:50:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Put-sequence-as-decimal-in-missing-values/m-p/837557#M331176</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2022-10-09T10:50:31Z</dc:date>
    </item>
    <item>
      <title>Re: Put sequence as decimal in missing values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Put-sequence-as-decimal-in-missing-values/m-p/837560#M331177</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/*You should know for numeric variable,
10.1 and 10.10 is the same thing*/
data have;
  infile datalines missover;
  input subject sequence;
datalines;
101 1
101  
101 2
101 2
101  
101  
101  
101 3
101 3
;
data want(drop=temp n);
  set have;
  by subject ;
  retain temp n;
  if first.subject then call missing(temp,n);
  if not missing(sequence) then do;temp=sequence;want=sequence;n=0;end;
   else do;n+1;want=sum(temp,n*0.1);end;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sun, 09 Oct 2022 11:31:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Put-sequence-as-decimal-in-missing-values/m-p/837560#M331177</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2022-10-09T11:31:30Z</dc:date>
    </item>
    <item>
      <title>Re: Put sequence as decimal in missing values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Put-sequence-as-decimal-in-missing-values/m-p/837565#M331178</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/424399"&gt;@gahlot1999&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Just a minor addition to the solutions you've already received:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you want to ensure that the computed sequence numbers are equal to what they look like, i.e., if you want to avoid later "surprises" as in&lt;/P&gt;
&lt;PRE&gt;168   data _null_;
169   if 1.1+0.1 ne 1.2 then put 'Surprised?';
170   if 1+7*0.1 ne 1.7 then put 'Surprised?';
171   run;

Surprised?
Surprised?
NOTE: DATA statement used (Total process time):&lt;/PRE&gt;
&lt;P&gt;you should either round the final result, e.g.,&lt;/P&gt;
&lt;PRE&gt;  sequence=&lt;FONT color="#3366FF"&gt;&lt;STRONG&gt;round(&lt;/STRONG&gt;&lt;/FONT&gt;_sequence&lt;FONT color="#3366FF"&gt;&lt;STRONG&gt;,0.1)&lt;/STRONG&gt;&lt;/FONT&gt;;&lt;/PRE&gt;
&lt;PRE&gt;want=&lt;FONT color="#3366FF"&gt;&lt;STRONG&gt;round(&lt;/STRONG&gt;&lt;/FONT&gt;sum(temp,n*0.1)&lt;STRONG&gt;&lt;FONT color="#3366FF"&gt;,0.1)&lt;/FONT&gt;&lt;/STRONG&gt;;&lt;/PRE&gt;
&lt;P&gt;or work with integers as long as possible:&lt;/P&gt;
&lt;PRE&gt;want=sum(temp&lt;FONT color="#3366FF"&gt;&lt;STRONG&gt;*10&lt;/STRONG&gt;&lt;/FONT&gt;,&lt;FONT color="#3366FF"&gt;&lt;STRONG&gt;n&lt;/STRONG&gt;&lt;/FONT&gt;)&lt;FONT color="#3366FF"&gt;&lt;STRONG&gt;/10&lt;/STRONG&gt;&lt;/FONT&gt;;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 09 Oct 2022 12:32:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Put-sequence-as-decimal-in-missing-values/m-p/837565#M331178</guid>
      <dc:creator>FreelanceReinh</dc:creator>
      <dc:date>2022-10-09T12:32:10Z</dc:date>
    </item>
  </channel>
</rss>

