<?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: fill the nulls of a column with the mean sum of the division of two columns in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/fill-the-nulls-of-a-column-with-the-mean-sum-of-the-division-of/m-p/856120#M338295</link>
    <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/438931"&gt;@alfonsomorenom&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;DIV&gt;
&lt;DIV class=""&gt;
&lt;DIV&gt;
&lt;DIV&gt;
&lt;DIV&gt;
&lt;DIV&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;
&lt;DIV&gt;&lt;SPAN class=""&gt;I&lt;/SPAN&gt; &lt;SPAN class=""&gt;need&lt;/SPAN&gt; &lt;SPAN class=""&gt;to&lt;/SPAN&gt;&amp;nbsp;fill&amp;nbsp;&lt;SPAN&gt;the &lt;/SPAN&gt;&lt;SPAN class=""&gt;nulls&lt;/SPAN&gt;&lt;SPAN&gt; of &lt;/SPAN&gt;&lt;SPAN class=""&gt;a&lt;/SPAN&gt; &lt;SPAN class=""&gt;column&lt;/SPAN&gt; &lt;SPAN class=""&gt;with&lt;/SPAN&gt;&lt;SPAN&gt; the &lt;/SPAN&gt;&lt;SPAN class=""&gt;mean&lt;/SPAN&gt; &lt;SPAN class=""&gt;sum&lt;/SPAN&gt; &lt;SPAN class=""&gt;of&lt;/SPAN&gt; &lt;SPAN class=""&gt;the&lt;/SPAN&gt; &lt;SPAN class=""&gt;division&lt;/SPAN&gt; &lt;SPAN class=""&gt;of&lt;/SPAN&gt; &lt;SPAN class=""&gt;two&lt;/SPAN&gt; &lt;SPAN class=""&gt;columns&lt;/SPAN&gt; &lt;SPAN class=""&gt;An&lt;/SPAN&gt; &lt;SPAN class=""&gt;example&lt;/SPAN&gt; &lt;SPAN class=""&gt;would&lt;/SPAN&gt; &lt;SPAN class=""&gt;be&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=""&gt;A&lt;/SPAN&gt; &lt;SPAN class=""&gt;B&lt;/SPAN&gt; &lt;SPAN class=""&gt;C ... B_01 C_01&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=""&gt;5 .&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=""&gt;5 2&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=""&gt;7 3&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=""&gt;9 3&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=""&gt;4 .&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=""&gt;Well&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN class=""&gt;I&lt;/SPAN&gt;&lt;SPAN&gt; would &lt;/SPAN&gt;&lt;SPAN class=""&gt;like&lt;/SPAN&gt; &lt;SPAN class=""&gt;the&lt;/SPAN&gt; &lt;SPAN class=""&gt;missing&lt;/SPAN&gt; &lt;SPAN class=""&gt;value&lt;/SPAN&gt;&lt;SPAN&gt; for column &lt;/SPAN&gt;&lt;SPAN class=""&gt;B&lt;/SPAN&gt; &lt;SPAN class=""&gt;to&lt;/SPAN&gt;&lt;SPAN&gt; be &lt;/SPAN&gt;&lt;SPAN class=""&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;2/&lt;/SPAN&gt;&lt;SPAN class=""&gt;5&lt;/SPAN&gt; &lt;SPAN class=""&gt;+&lt;/SPAN&gt; &lt;SPAN class=""&gt;3&lt;/SPAN&gt;&lt;SPAN&gt;/&lt;/SPAN&gt;&lt;SPAN class=""&gt;7 + 3/9&lt;/SPAN&gt;&lt;SPAN class=""&gt;)&lt;/SPAN&gt; &lt;SPAN class=""&gt;/ 3&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;*&lt;/SPAN&gt; &lt;SPAN class=""&gt;its&lt;/SPAN&gt; &lt;SPAN class=""&gt;corresponding&lt;/SPAN&gt; &lt;SPAN class=""&gt;column&lt;/SPAN&gt; &lt;SPAN class=""&gt;A&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt; &lt;SPAN class=""&gt;which&lt;/SPAN&gt; &lt;SPAN class=""&gt;for&lt;/SPAN&gt; &lt;SPAN class=""&gt;the&lt;/SPAN&gt; &lt;SPAN class=""&gt;first&lt;/SPAN&gt; &lt;SPAN class=""&gt;row&lt;/SPAN&gt; &lt;SPAN class=""&gt;would&lt;/SPAN&gt; &lt;SPAN class=""&gt;be&lt;/SPAN&gt; &lt;SPAN class=""&gt;2&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;SPAN class=""&gt;07&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;My calculations show that the result should be 0.387, not 2.07. Are you sure you have explained this properly?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I find that SQL is a very poor choice for arithmetic when lots of columns are involved, and that DATA steps with arrays or PROCs would be far superior than SQL in that case.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Since you have provided only one column, rather than a few more (we don't need all 60), I will provide my code for this one column.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data intermediate(keep=mean);
    set have end=eof;
    if not missing(b) then do;
        sum+b/a;
        count+1;
    end;
    if eof then do;
        mean=sum/count;
        output;
    end;
run;
data want;
    if _n_=1 then set intermediate;
    set have;
    if missing(b) then b=mean;
    drop mean;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;To extend this to 60 columns, I can't test this, but something like this ought to work&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data intermediate(keep=mean1-mean60);
    set have end=eof;
    array v b1-b60;
    array s sum1-sum60;
    array c count1-count60;
    array m mean1-mean60;
    do i=1 to dim(v);
        if not missing(v(i)) then s(i)+v(i)/a;
        c(i)+1;
    end;
    if eof then do;
       m(i)=s(i)/c(i);
       output;
    end;
run;
data want;
    if _n_=1 then set intermediate;
    set have;
    array v b1-b60;
    array m mean1-mean60;
    do i=1 to dim(v);
        if missing(v(i)) then v(i)=m(i);
    end;
    drop mean1-mean60 i;
run;&lt;/CODE&gt;&amp;nbsp;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Sun, 29 Jan 2023 00:56:01 GMT</pubDate>
    <dc:creator>PaigeMiller</dc:creator>
    <dc:date>2023-01-29T00:56:01Z</dc:date>
    <item>
      <title>fill the nulls of a column with the mean sum of the division of two columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/fill-the-nulls-of-a-column-with-the-mean-sum-of-the-division-of/m-p/856119#M338294</link>
      <description>&lt;DIV&gt;&lt;DIV class=""&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV&gt;&lt;SPAN class=""&gt;I&lt;/SPAN&gt; &lt;SPAN class=""&gt;need&lt;/SPAN&gt; &lt;SPAN class=""&gt;to&lt;/SPAN&gt;&amp;nbsp;fill&amp;nbsp;&lt;SPAN&gt;the &lt;/SPAN&gt;&lt;SPAN class=""&gt;nulls&lt;/SPAN&gt;&lt;SPAN&gt; of &lt;/SPAN&gt;&lt;SPAN class=""&gt;a&lt;/SPAN&gt; &lt;SPAN class=""&gt;column&lt;/SPAN&gt; &lt;SPAN class=""&gt;with&lt;/SPAN&gt;&lt;SPAN&gt; the &lt;/SPAN&gt;&lt;SPAN class=""&gt;mean&lt;/SPAN&gt; &lt;SPAN class=""&gt;sum&lt;/SPAN&gt; &lt;SPAN class=""&gt;of&lt;/SPAN&gt; &lt;SPAN class=""&gt;the&lt;/SPAN&gt; &lt;SPAN class=""&gt;division&lt;/SPAN&gt; &lt;SPAN class=""&gt;of&lt;/SPAN&gt; &lt;SPAN class=""&gt;two&lt;/SPAN&gt; &lt;SPAN class=""&gt;columns&lt;/SPAN&gt; &lt;SPAN class=""&gt;An&lt;/SPAN&gt; &lt;SPAN class=""&gt;example&lt;/SPAN&gt; &lt;SPAN class=""&gt;would&lt;/SPAN&gt; &lt;SPAN class=""&gt;be&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class=""&gt;A&lt;/SPAN&gt; &lt;SPAN class=""&gt;B&lt;/SPAN&gt; &lt;SPAN class=""&gt;C ... B_01 C_01&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class=""&gt;5 .&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class=""&gt;5 2&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class=""&gt;7 3&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class=""&gt;9 3&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class=""&gt;4 .&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class=""&gt;Well&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN class=""&gt;I&lt;/SPAN&gt;&lt;SPAN&gt; would &lt;/SPAN&gt;&lt;SPAN class=""&gt;like&lt;/SPAN&gt; &lt;SPAN class=""&gt;the&lt;/SPAN&gt; &lt;SPAN class=""&gt;missing&lt;/SPAN&gt; &lt;SPAN class=""&gt;value&lt;/SPAN&gt;&lt;SPAN&gt; for column &lt;/SPAN&gt;&lt;SPAN class=""&gt;B&lt;/SPAN&gt; &lt;SPAN class=""&gt;to&lt;/SPAN&gt;&lt;SPAN&gt; be &lt;/SPAN&gt;&lt;SPAN class=""&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;2/&lt;/SPAN&gt;&lt;SPAN class=""&gt;5&lt;/SPAN&gt; &lt;SPAN class=""&gt;+&lt;/SPAN&gt; &lt;SPAN class=""&gt;3&lt;/SPAN&gt;&lt;SPAN&gt;/&lt;/SPAN&gt;&lt;SPAN class=""&gt;7 + 3/9&lt;/SPAN&gt;&lt;SPAN class=""&gt;)&lt;/SPAN&gt; &lt;SPAN class=""&gt;/ 3&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;*&lt;/SPAN&gt; &lt;SPAN class=""&gt;its&lt;/SPAN&gt; &lt;SPAN class=""&gt;corresponding&lt;/SPAN&gt; &lt;SPAN class=""&gt;column&lt;/SPAN&gt; &lt;SPAN class=""&gt;A&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt; &lt;SPAN class=""&gt;which&lt;/SPAN&gt; &lt;SPAN class=""&gt;for&lt;/SPAN&gt; &lt;SPAN class=""&gt;the&lt;/SPAN&gt; &lt;SPAN class=""&gt;first&lt;/SPAN&gt; &lt;SPAN class=""&gt;row&lt;/SPAN&gt; &lt;SPAN class=""&gt;would&lt;/SPAN&gt; &lt;SPAN class=""&gt;be&lt;/SPAN&gt; &lt;SPAN class=""&gt;2&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;SPAN class=""&gt;07&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;I have &lt;/SPAN&gt;&lt;SPAN class=""&gt;thought&lt;/SPAN&gt; &lt;SPAN class=""&gt;about&lt;/SPAN&gt; &lt;SPAN class=""&gt;doing&lt;/SPAN&gt; &lt;SPAN class=""&gt;this&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt; &lt;SPAN class=""&gt;but&lt;/SPAN&gt; &lt;SPAN class=""&gt;it&lt;/SPAN&gt; &lt;SPAN class=""&gt;turns&lt;/SPAN&gt; &lt;SPAN class=""&gt;out&lt;/SPAN&gt; &lt;SPAN class=""&gt;that&lt;/SPAN&gt;&lt;SPAN&gt; I &lt;/SPAN&gt;&lt;SPAN class=""&gt;have&lt;/SPAN&gt; &lt;SPAN class=""&gt;60&lt;/SPAN&gt; &lt;SPAN class=""&gt;columns&lt;/SPAN&gt; &lt;SPAN class=""&gt;with&lt;/SPAN&gt; &lt;SPAN class=""&gt;which&lt;/SPAN&gt;&lt;SPAN&gt; to &lt;/SPAN&gt;&lt;SPAN class=""&gt;do&lt;/SPAN&gt;&lt;SPAN&gt; it &lt;/SPAN&gt;&lt;SPAN class=""&gt;and&lt;/SPAN&gt;&amp;nbsp;the only way it comes to mi mind is to do this 60 times.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;P&gt;Proc sql créate table new as&lt;/P&gt;&lt;P&gt;Select *, sum(B/A)/sum(case when B is missimg then . else 1) end as new_B,&amp;nbsp;sum(B/A)/sum(case when B is missimg then . else 1) end as new_B_01 from table_one;&lt;/P&gt;&lt;P&gt;Quit;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Sat, 28 Jan 2023 23:52:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/fill-the-nulls-of-a-column-with-the-mean-sum-of-the-division-of/m-p/856119#M338294</guid>
      <dc:creator>alfonsomorenom</dc:creator>
      <dc:date>2023-01-28T23:52:18Z</dc:date>
    </item>
    <item>
      <title>Re: fill the nulls of a column with the mean sum of the division of two columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/fill-the-nulls-of-a-column-with-the-mean-sum-of-the-division-of/m-p/856120#M338295</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/438931"&gt;@alfonsomorenom&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;DIV&gt;
&lt;DIV class=""&gt;
&lt;DIV&gt;
&lt;DIV&gt;
&lt;DIV&gt;
&lt;DIV&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;
&lt;DIV&gt;&lt;SPAN class=""&gt;I&lt;/SPAN&gt; &lt;SPAN class=""&gt;need&lt;/SPAN&gt; &lt;SPAN class=""&gt;to&lt;/SPAN&gt;&amp;nbsp;fill&amp;nbsp;&lt;SPAN&gt;the &lt;/SPAN&gt;&lt;SPAN class=""&gt;nulls&lt;/SPAN&gt;&lt;SPAN&gt; of &lt;/SPAN&gt;&lt;SPAN class=""&gt;a&lt;/SPAN&gt; &lt;SPAN class=""&gt;column&lt;/SPAN&gt; &lt;SPAN class=""&gt;with&lt;/SPAN&gt;&lt;SPAN&gt; the &lt;/SPAN&gt;&lt;SPAN class=""&gt;mean&lt;/SPAN&gt; &lt;SPAN class=""&gt;sum&lt;/SPAN&gt; &lt;SPAN class=""&gt;of&lt;/SPAN&gt; &lt;SPAN class=""&gt;the&lt;/SPAN&gt; &lt;SPAN class=""&gt;division&lt;/SPAN&gt; &lt;SPAN class=""&gt;of&lt;/SPAN&gt; &lt;SPAN class=""&gt;two&lt;/SPAN&gt; &lt;SPAN class=""&gt;columns&lt;/SPAN&gt; &lt;SPAN class=""&gt;An&lt;/SPAN&gt; &lt;SPAN class=""&gt;example&lt;/SPAN&gt; &lt;SPAN class=""&gt;would&lt;/SPAN&gt; &lt;SPAN class=""&gt;be&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=""&gt;A&lt;/SPAN&gt; &lt;SPAN class=""&gt;B&lt;/SPAN&gt; &lt;SPAN class=""&gt;C ... B_01 C_01&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=""&gt;5 .&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=""&gt;5 2&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=""&gt;7 3&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=""&gt;9 3&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=""&gt;4 .&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=""&gt;Well&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN class=""&gt;I&lt;/SPAN&gt;&lt;SPAN&gt; would &lt;/SPAN&gt;&lt;SPAN class=""&gt;like&lt;/SPAN&gt; &lt;SPAN class=""&gt;the&lt;/SPAN&gt; &lt;SPAN class=""&gt;missing&lt;/SPAN&gt; &lt;SPAN class=""&gt;value&lt;/SPAN&gt;&lt;SPAN&gt; for column &lt;/SPAN&gt;&lt;SPAN class=""&gt;B&lt;/SPAN&gt; &lt;SPAN class=""&gt;to&lt;/SPAN&gt;&lt;SPAN&gt; be &lt;/SPAN&gt;&lt;SPAN class=""&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;2/&lt;/SPAN&gt;&lt;SPAN class=""&gt;5&lt;/SPAN&gt; &lt;SPAN class=""&gt;+&lt;/SPAN&gt; &lt;SPAN class=""&gt;3&lt;/SPAN&gt;&lt;SPAN&gt;/&lt;/SPAN&gt;&lt;SPAN class=""&gt;7 + 3/9&lt;/SPAN&gt;&lt;SPAN class=""&gt;)&lt;/SPAN&gt; &lt;SPAN class=""&gt;/ 3&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;*&lt;/SPAN&gt; &lt;SPAN class=""&gt;its&lt;/SPAN&gt; &lt;SPAN class=""&gt;corresponding&lt;/SPAN&gt; &lt;SPAN class=""&gt;column&lt;/SPAN&gt; &lt;SPAN class=""&gt;A&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt; &lt;SPAN class=""&gt;which&lt;/SPAN&gt; &lt;SPAN class=""&gt;for&lt;/SPAN&gt; &lt;SPAN class=""&gt;the&lt;/SPAN&gt; &lt;SPAN class=""&gt;first&lt;/SPAN&gt; &lt;SPAN class=""&gt;row&lt;/SPAN&gt; &lt;SPAN class=""&gt;would&lt;/SPAN&gt; &lt;SPAN class=""&gt;be&lt;/SPAN&gt; &lt;SPAN class=""&gt;2&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;SPAN class=""&gt;07&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;My calculations show that the result should be 0.387, not 2.07. Are you sure you have explained this properly?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I find that SQL is a very poor choice for arithmetic when lots of columns are involved, and that DATA steps with arrays or PROCs would be far superior than SQL in that case.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Since you have provided only one column, rather than a few more (we don't need all 60), I will provide my code for this one column.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data intermediate(keep=mean);
    set have end=eof;
    if not missing(b) then do;
        sum+b/a;
        count+1;
    end;
    if eof then do;
        mean=sum/count;
        output;
    end;
run;
data want;
    if _n_=1 then set intermediate;
    set have;
    if missing(b) then b=mean;
    drop mean;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;To extend this to 60 columns, I can't test this, but something like this ought to work&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data intermediate(keep=mean1-mean60);
    set have end=eof;
    array v b1-b60;
    array s sum1-sum60;
    array c count1-count60;
    array m mean1-mean60;
    do i=1 to dim(v);
        if not missing(v(i)) then s(i)+v(i)/a;
        c(i)+1;
    end;
    if eof then do;
       m(i)=s(i)/c(i);
       output;
    end;
run;
data want;
    if _n_=1 then set intermediate;
    set have;
    array v b1-b60;
    array m mean1-mean60;
    do i=1 to dim(v);
        if missing(v(i)) then v(i)=m(i);
    end;
    drop mean1-mean60 i;
run;&lt;/CODE&gt;&amp;nbsp;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 29 Jan 2023 00:56:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/fill-the-nulls-of-a-column-with-the-mean-sum-of-the-division-of/m-p/856120#M338295</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2023-01-29T00:56:01Z</dc:date>
    </item>
  </channel>
</rss>

