<?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: Divide variable if the same in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Divide-variable-if-the-same/m-p/269479#M53393</link>
    <description>&lt;P&gt;There's probably an easier way using SQL, but here's a DATA step approach:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data want;&lt;/P&gt;
&lt;P&gt;denom=0;&lt;/P&gt;
&lt;P&gt;do until (last.subj);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; set have;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; by id term subj;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; denom + 1;&lt;/P&gt;
&lt;P&gt;end;&lt;/P&gt;
&lt;P&gt;do until (last.subj);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; set have;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; by id term subj;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; hour = hour / denom;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;
&lt;P&gt;end;&lt;/P&gt;
&lt;P&gt;drop denom;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Dropping DENOM is optional.&amp;nbsp; Required:&amp;nbsp; your data set has to be in sorted order by ID TERM SUBJ.&lt;/P&gt;</description>
    <pubDate>Tue, 10 May 2016 15:21:21 GMT</pubDate>
    <dc:creator>Astounding</dc:creator>
    <dc:date>2016-05-10T15:21:21Z</dc:date>
    <item>
      <title>Divide variable if the same</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Divide-variable-if-the-same/m-p/269455#M53381</link>
      <description>&lt;P&gt;I have an example table as below&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;id &amp;nbsp; &amp;nbsp; term &amp;nbsp; &amp;nbsp; subj &amp;nbsp; &amp;nbsp; &amp;nbsp;prof &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; hour&lt;/P&gt;
&lt;P&gt;20 &amp;nbsp; &amp;nbsp;2016 &amp;nbsp; &amp;nbsp;COM &amp;nbsp; &amp;nbsp;James &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 4&lt;/P&gt;
&lt;P&gt;20 &amp;nbsp; &amp;nbsp;2016 &amp;nbsp; &amp;nbsp;COM &amp;nbsp; &amp;nbsp;Henrey &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;4&lt;/P&gt;
&lt;P&gt;30 &amp;nbsp; &amp;nbsp;2016 &amp;nbsp; &amp;nbsp;HUM &amp;nbsp; &amp;nbsp;Nelly &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3&lt;/P&gt;
&lt;P&gt;30 &amp;nbsp; &amp;nbsp;2016 &amp;nbsp; &amp;nbsp;HUM &amp;nbsp; &amp;nbsp;John &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3&lt;/P&gt;
&lt;P&gt;30 &amp;nbsp; &amp;nbsp;2016 &amp;nbsp; &amp;nbsp;HUM &amp;nbsp; &amp;nbsp;Jimmy &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3&lt;/P&gt;
&lt;P&gt;45 &amp;nbsp; &amp;nbsp;2016 &amp;nbsp; CGS &amp;nbsp; &amp;nbsp; Tim &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I need to divide hours if the id- term and subj same. There are 2 different prof with same id:20 - term and subj, so i divided hour 2.&lt;/P&gt;
&lt;P&gt;There are 3 different prof with same id : 30 - term and subj. So i divided hour 3.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So the output should be like this;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;id &amp;nbsp; &amp;nbsp; term &amp;nbsp; &amp;nbsp; subj &amp;nbsp; &amp;nbsp; &amp;nbsp;prof &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; hour&lt;/P&gt;
&lt;P&gt;20 &amp;nbsp; &amp;nbsp;2016 &amp;nbsp; &amp;nbsp;COM &amp;nbsp; &amp;nbsp;James &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2&lt;/P&gt;
&lt;P&gt;20 &amp;nbsp; &amp;nbsp;2016 &amp;nbsp; &amp;nbsp;COM &amp;nbsp; &amp;nbsp;Henrey &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2&lt;/P&gt;
&lt;P&gt;30 &amp;nbsp; &amp;nbsp;2016 &amp;nbsp; &amp;nbsp;HUM &amp;nbsp; &amp;nbsp;Nelly &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&lt;/P&gt;
&lt;P&gt;30 &amp;nbsp; &amp;nbsp;2016 &amp;nbsp; &amp;nbsp;HUM &amp;nbsp; &amp;nbsp;John &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&lt;/P&gt;
&lt;P&gt;30 &amp;nbsp; &amp;nbsp;2016 &amp;nbsp; &amp;nbsp;HUM &amp;nbsp; &amp;nbsp;Jimmy &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/P&gt;
&lt;P&gt;45 &amp;nbsp; &amp;nbsp;2016 &amp;nbsp; CGS &amp;nbsp; &amp;nbsp; Tim &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 10 May 2016 14:29:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Divide-variable-if-the-same/m-p/269455#M53381</guid>
      <dc:creator>lerdem</dc:creator>
      <dc:date>2016-05-10T14:29:27Z</dc:date>
    </item>
    <item>
      <title>Re: Divide variable if the same</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Divide-variable-if-the-same/m-p/269467#M53385</link>
      <description>&lt;P&gt;nobody knows?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 10 May 2016 14:58:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Divide-variable-if-the-same/m-p/269467#M53385</guid>
      <dc:creator>lerdem</dc:creator>
      <dc:date>2016-05-10T14:58:02Z</dc:date>
    </item>
    <item>
      <title>Re: Divide variable if the same</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Divide-variable-if-the-same/m-p/269479#M53393</link>
      <description>&lt;P&gt;There's probably an easier way using SQL, but here's a DATA step approach:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data want;&lt;/P&gt;
&lt;P&gt;denom=0;&lt;/P&gt;
&lt;P&gt;do until (last.subj);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; set have;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; by id term subj;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; denom + 1;&lt;/P&gt;
&lt;P&gt;end;&lt;/P&gt;
&lt;P&gt;do until (last.subj);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; set have;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; by id term subj;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; hour = hour / denom;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;
&lt;P&gt;end;&lt;/P&gt;
&lt;P&gt;drop denom;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Dropping DENOM is optional.&amp;nbsp; Required:&amp;nbsp; your data set has to be in sorted order by ID TERM SUBJ.&lt;/P&gt;</description>
      <pubDate>Tue, 10 May 2016 15:21:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Divide-variable-if-the-same/m-p/269479#M53393</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2016-05-10T15:21:21Z</dc:date>
    </item>
    <item>
      <title>Re: Divide variable if the same</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Divide-variable-if-the-same/m-p/269480#M53394</link>
      <description>&lt;P&gt;Is you data already sorted so that all of the values that need the adjustment are together in the data?&lt;/P&gt;
&lt;P&gt;Will there be a problem with the result is not an integer? If so, what rounding rule do you need applied.&lt;/P&gt;</description>
      <pubDate>Tue, 10 May 2016 17:45:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Divide-variable-if-the-same/m-p/269480#M53394</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2016-05-10T17:45:29Z</dc:date>
    </item>
    <item>
      <title>Re: Divide variable if the same</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Divide-variable-if-the-same/m-p/269499#M53407</link>
      <description>&lt;P&gt;SQL is pretty straightforward, if you don't mind the remerge note. I usually don't.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input id     term    subj $      prof  $         hour;
cards;
20    2016    COM    James         4
20    2016    COM    Henrey        4
30    2016    HUM    Nelly            3
30    2016    HUM    John            3
30    2016    HUM    Jimmy         3
45    2016   CGS     Tim              3
;
run;

proc sql;
create table counted as
select *, count(*) as count, hour/calculated count as hour2
from have
group by id, term;
quit;

proc print;run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 10 May 2016 16:03:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Divide-variable-if-the-same/m-p/269499#M53407</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-05-10T16:03:52Z</dc:date>
    </item>
    <item>
      <title>Re: Divide variable if the same</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Divide-variable-if-the-same/m-p/269595#M53438</link>
      <description>&lt;P&gt;Do you need some guidance in how to mark your question as having been answered? &amp;nbsp;That would save time for some people who only want to read questions that haven't been answered yet.&lt;/P&gt;</description>
      <pubDate>Tue, 10 May 2016 22:48:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Divide-variable-if-the-same/m-p/269595#M53438</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2016-05-10T22:48:05Z</dc:date>
    </item>
  </channel>
</rss>

