<?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 Data manipulation help needed in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Data-manipulation-help-needed/m-p/379661#M276958</link>
    <description>&lt;P&gt;Hello, this is my first post here in the SAS forums!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a data set which requires a manipulation that I am unable to figure out how to do.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It's set up like this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;U&gt;fruit &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; count &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; day&lt;/U&gt;&lt;/P&gt;&lt;P&gt;apples &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;500 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&lt;/P&gt;&lt;P&gt;apples &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;300 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3&lt;/P&gt;&lt;P&gt;apples &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;505 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;5&lt;/P&gt;&lt;P&gt;apples &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;487 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;7&lt;/P&gt;&lt;P&gt;oranges &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;36 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/P&gt;&lt;P&gt;oranges &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;39 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 5&lt;/P&gt;&lt;P&gt;oranges &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;42 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 7&lt;/P&gt;&lt;P&gt;pears &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;17 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/P&gt;&lt;P&gt;pears &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;16 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2&lt;/P&gt;&lt;P&gt;pears &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;13 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3&lt;/P&gt;&lt;P&gt;pears &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;21 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 5&lt;/P&gt;&lt;P&gt;pears &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;27 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 6&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What I need to do is find the difference in number of fruit on each day from the first day. So for apples, I need to calculate the difference in # of apples between days 1 and 3, 1 and 5, 1 and 7. For oranges, days 1 and 5, 1 and 7, etc. The difference on each day will be stored in a new variable.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can anyone help with this? Or provide suggestions? I do most of my work in R, and trying to do this in SAS is obviously not the same.&lt;/P&gt;</description>
    <pubDate>Thu, 27 Jul 2017 10:10:29 GMT</pubDate>
    <dc:creator>ARHarding</dc:creator>
    <dc:date>2017-07-27T10:10:29Z</dc:date>
    <item>
      <title>Data manipulation help needed</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-manipulation-help-needed/m-p/379661#M276958</link>
      <description>&lt;P&gt;Hello, this is my first post here in the SAS forums!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a data set which requires a manipulation that I am unable to figure out how to do.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It's set up like this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;U&gt;fruit &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; count &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; day&lt;/U&gt;&lt;/P&gt;&lt;P&gt;apples &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;500 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&lt;/P&gt;&lt;P&gt;apples &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;300 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3&lt;/P&gt;&lt;P&gt;apples &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;505 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;5&lt;/P&gt;&lt;P&gt;apples &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;487 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;7&lt;/P&gt;&lt;P&gt;oranges &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;36 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/P&gt;&lt;P&gt;oranges &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;39 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 5&lt;/P&gt;&lt;P&gt;oranges &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;42 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 7&lt;/P&gt;&lt;P&gt;pears &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;17 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/P&gt;&lt;P&gt;pears &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;16 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2&lt;/P&gt;&lt;P&gt;pears &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;13 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3&lt;/P&gt;&lt;P&gt;pears &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;21 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 5&lt;/P&gt;&lt;P&gt;pears &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;27 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 6&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What I need to do is find the difference in number of fruit on each day from the first day. So for apples, I need to calculate the difference in # of apples between days 1 and 3, 1 and 5, 1 and 7. For oranges, days 1 and 5, 1 and 7, etc. The difference on each day will be stored in a new variable.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can anyone help with this? Or provide suggestions? I do most of my work in R, and trying to do this in SAS is obviously not the same.&lt;/P&gt;</description>
      <pubDate>Thu, 27 Jul 2017 10:10:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-manipulation-help-needed/m-p/379661#M276958</guid>
      <dc:creator>ARHarding</dc:creator>
      <dc:date>2017-07-27T10:10:29Z</dc:date>
    </item>
    <item>
      <title>Re: Data manipulation help needed</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-manipulation-help-needed/m-p/379662#M276959</link>
      <description>&lt;P&gt;First, when posting test data, please do so in the form of a datastep (such as in my code below).&lt;/P&gt;
&lt;P&gt;There are a number of ways of approaching this (and you have not shown what the output should look like so its hard to choose one). &amp;nbsp;Transpose and arrays for instance:&lt;/P&gt;
&lt;PRE&gt;data have;
  infile datalines dlm=",";
  input fruit $ count day;
datalines;
apples,500,1
apples,300,3
apples,505,5
apples,487,7
oranges,36,1
oranges,39,5
oranges,42,7
;
run;

proc transpose data=have out=want (drop=_name_) prefix=day;
  by fruit;
  var count;
  id day;
run;

data want (drop=i);
  set want;
  array vals{*} day:;
  do i=2 to dim(vals);
    vals{i}=vals{i}-vals{1};
  end;
run;&lt;/PRE&gt;
&lt;P&gt;Or you could calculate using a retianed variable and then transpose afterwards:&lt;/P&gt;
&lt;PRE&gt;data inter;
  set have;
  retain day1;
  if day=1 then day1=count;
  count=count-day1;
run;

proc transpose data=inter out=want (drop=_name_) prefix=day;
  by fruit;
  var count;
  id day;
run;
&lt;/PRE&gt;</description>
      <pubDate>Thu, 27 Jul 2017 10:51:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-manipulation-help-needed/m-p/379662#M276959</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2017-07-27T10:51:10Z</dc:date>
    </item>
    <item>
      <title>Re: Data manipulation help needed</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-manipulation-help-needed/m-p/379667#M276960</link>
      <description>&lt;P&gt;You could try something like:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data my_fruit(drop=_count);
	set my_fruit;
	by fruit;
	retain _count;
	if first.fruit then _count=count;
	diff=abs(_count-count);
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;This returns:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;fruit	count	day	diff
apples	500	1	       0
apples	300	3	     200
apples	505	5	       5
apples	487	7	      13
oranges	36	1	       0
oranges	39	5	       3
oranges	42	7	       6
pears	17	1	       0
pears	16	2	       1
pears	13	3	       4
pears	21	5	       4
pears	27	6	      10&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 27 Jul 2017 11:03:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-manipulation-help-needed/m-p/379667#M276960</guid>
      <dc:creator>WesleyD</dc:creator>
      <dc:date>2017-07-27T11:03:57Z</dc:date>
    </item>
    <item>
      <title>Re: Data manipulation help needed</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-manipulation-help-needed/m-p/379679#M276961</link>
      <description>&lt;P&gt;YES! This is exactly the type of thing I was looking for! Thank you so much!&lt;/P&gt;</description>
      <pubDate>Thu, 27 Jul 2017 11:50:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-manipulation-help-needed/m-p/379679#M276961</guid>
      <dc:creator>ARHarding</dc:creator>
      <dc:date>2017-07-27T11:50:04Z</dc:date>
    </item>
    <item>
      <title>Re: Data manipulation help needed</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-manipulation-help-needed/m-p/379697#M276962</link>
      <description>&lt;P&gt;Thank you for the feedback! The next time I post I will do so with a data step. &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 27 Jul 2017 13:02:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-manipulation-help-needed/m-p/379697#M276962</guid>
      <dc:creator>ARHarding</dc:creator>
      <dc:date>2017-07-27T13:02:02Z</dc:date>
    </item>
  </channel>
</rss>

