<?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: Merge/copy the values for the first observations across all observations in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Merge-copy-the-values-for-the-first-observations-across-all/m-p/583682#M166171</link>
    <description>&lt;P&gt;Can you go back a step a prevent the generation of that goofy file to begin with?&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want ;
  set have ;
  if _n_=1 then set mean_age ;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;If not then one way is to make two NEW variables and retain them.&amp;nbsp; Here is example for how to handle one.&amp;nbsp; It is left as an exercise how to modify the data step to handle both.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want ;
  set have ;
  if missing(meanage1) then meanage1=meanage1_new ;
  else meanage1_new = meanage1;
  retain meanage1_new ;
  drop meanage1;
  rename meanage1_new=meanage1;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Sat, 24 Aug 2019 15:53:54 GMT</pubDate>
    <dc:creator>Tom</dc:creator>
    <dc:date>2019-08-24T15:53:54Z</dc:date>
    <item>
      <title>Merge/copy the values for the first observations across all observations</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merge-copy-the-values-for-the-first-observations-across-all/m-p/583678#M166168</link>
      <description>&lt;P&gt;I am struggling with this (seemingly) simple problem. I have a dataset where I obtained conditional means meanage1 and meanage2 from the proc means statements via outputting the values and merging.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;However, I want to merge to be that the values for the first observation are copied throughout all ‘id’s in that column.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is what I have.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
	input id$ age meanage1 meanage2;
	datalines;
1 41 33.2 28.3
2 32 . .
3 35 . .
4 29 . .
5 53 . .
6 41 . .
7 62 . .
8 72 . .
9 61 . .
;
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;And this is dataset I want.&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;ID&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Age&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Meanage1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Meanage2&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;41&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;33.2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;28.3&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;32&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;33.2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;28.3&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;35&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;33.2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;28.3&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;29&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;33.2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;28.3&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;5&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;53&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;33.2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;28.3&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;6&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;41&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;33.2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;28.3&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;7&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;62&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;33.2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;28.3&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;8&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;72&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;33.2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;28.3&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;9&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;61&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;33.2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;28.3&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;</description>
      <pubDate>Sat, 24 Aug 2019 15:42:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merge-copy-the-values-for-the-first-observations-across-all/m-p/583678#M166168</guid>
      <dc:creator>guaguncher</dc:creator>
      <dc:date>2019-08-24T15:42:31Z</dc:date>
    </item>
    <item>
      <title>Re: Merge/copy the values for the first observations across all observations</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merge-copy-the-values-for-the-first-observations-across-all/m-p/583680#M166170</link>
      <description>&lt;P&gt;hello&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/280842"&gt;@guaguncher&lt;/a&gt;&amp;nbsp; It would help to rework your design upstream than to do this "fix" i.e if you show how you computed 2 means for one age var and you want it for all obs. Anyways the fix is simple&lt;/P&gt;
&lt;P&gt;&lt;CODE class=" language-sas"&gt;&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;CODE class=" language-sas"&gt;&lt;/CODE&gt;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
	input id$ age meanage1 meanage2;
	datalines;
1 41 33.2 28.3
2 32 . .
3 35 . .
4 29 . .
5 53 . .
6 41 . .
7 62 . .
8 72 . .
9 61 . .
;
run;
data want;
set have(drop=meanage:);
if _n_=1 then set have(keep=meanage: where=(meanage1&amp;gt;. and meanage2&amp;gt;.) obs=1);
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;CODE class=" language-sas"&gt;
&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;Alternatively, using Proc SQL:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table want as
select id,age,max(meanage1) as meanage1,max(meanage2) as meanage2
from have;
quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 24 Aug 2019 15:59:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merge-copy-the-values-for-the-first-observations-across-all/m-p/583680#M166170</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2019-08-24T15:59:16Z</dc:date>
    </item>
    <item>
      <title>Re: Merge/copy the values for the first observations across all observations</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merge-copy-the-values-for-the-first-observations-across-all/m-p/583682#M166171</link>
      <description>&lt;P&gt;Can you go back a step a prevent the generation of that goofy file to begin with?&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want ;
  set have ;
  if _n_=1 then set mean_age ;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;If not then one way is to make two NEW variables and retain them.&amp;nbsp; Here is example for how to handle one.&amp;nbsp; It is left as an exercise how to modify the data step to handle both.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want ;
  set have ;
  if missing(meanage1) then meanage1=meanage1_new ;
  else meanage1_new = meanage1;
  retain meanage1_new ;
  drop meanage1;
  rename meanage1_new=meanage1;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 24 Aug 2019 15:53:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merge-copy-the-values-for-the-first-observations-across-all/m-p/583682#M166171</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2019-08-24T15:53:54Z</dc:date>
    </item>
  </channel>
</rss>

