<?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: Creating count variable by client_id, year and specialty in Statistical Procedures</title>
    <link>https://communities.sas.com/t5/Statistical-Procedures/Creating-count-variable-by-client-id-year-and-specialty/m-p/366926#M19245</link>
    <description>&lt;P&gt;RETAINing a variable (explicitly, or implicitly by using the variable + value; statement) only makes sense if it is not already on (one of) the input dataset(s). Any seemingly retained value will always be overwritten with the value from the dataset when a new observation is read.&lt;/P&gt;</description>
    <pubDate>Wed, 14 Jun 2017 12:43:26 GMT</pubDate>
    <dc:creator>Kurt_Bremser</dc:creator>
    <dc:date>2017-06-14T12:43:26Z</dc:date>
    <item>
      <title>Creating count variable by client_id, year and specialty</title>
      <link>https://communities.sas.com/t5/Statistical-Procedures/Creating-count-variable-by-client-id-year-and-specialty/m-p/366914#M19240</link>
      <description>&lt;P class="p1"&gt;&amp;nbsp;&lt;/P&gt;&lt;P class="p2"&gt;&lt;SPAN class="s1"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/SPAN&gt; claims;&lt;/P&gt;&lt;P class="p2"&gt;&lt;SPAN class="s2"&gt;input&lt;/SPAN&gt; client_id year specialty;&lt;/P&gt;&lt;P class="p3"&gt;datalines&lt;SPAN class="s3"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p2"&gt;16094 2012 3&lt;/P&gt;&lt;P class="p2"&gt;16094 2012 89&lt;/P&gt;&lt;P class="p2"&gt;16094 2013 89&lt;/P&gt;&lt;P class="p2"&gt;16094 2014 13&lt;/P&gt;&lt;P class="p2"&gt;16094 2015 3&lt;/P&gt;&lt;P class="p2"&gt;16094 2016 27&lt;/P&gt;&lt;P class="p2"&gt;16094 2016 30&lt;/P&gt;&lt;P class="p2"&gt;16094 2016 30&lt;/P&gt;&lt;P class="p2"&gt;;&lt;/P&gt;&lt;P class="p4"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;SPAN class="s3"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p4"&gt;&amp;nbsp;&lt;/P&gt;&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/SPAN&gt; claims;&lt;/P&gt;&lt;P class="p1"&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="s2"&gt;set&lt;/SPAN&gt; claims;&lt;/P&gt;&lt;P class="p1"&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &lt;/SPAN&gt;countbyyearspecialty+&lt;SPAN class="s3"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;/P&gt;&lt;P class="p1"&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="s2"&gt;by&lt;/SPAN&gt;&amp;nbsp;client_id year specialty;&lt;/P&gt;&lt;P class="p1"&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="s2"&gt;if&lt;/SPAN&gt; first.specialty &lt;SPAN class="s2"&gt;then&lt;/SPAN&gt; countbyyearspecialty=&lt;SPAN class="s3"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;/P&gt;&lt;P class="p2"&gt;output&lt;SPAN class="s4"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p3"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;SPAN class="s4"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p3"&gt;&amp;nbsp;&lt;/P&gt;&lt;P class="p3"&gt;&lt;SPAN class="s4"&gt;And this is the output I get. Obviously this is wrong, but I can't find my mistake.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;TABLE cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P class="p1"&gt;client_id&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P class="p1"&gt;year&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P class="p1"&gt;specialty&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P class="p1"&gt;countbyyearspecialty&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P class="p2"&gt;16094&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P class="p2"&gt;2012&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P class="p2"&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P class="p2"&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P class="p2"&gt;16094&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P class="p2"&gt;2012&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P class="p2"&gt;89&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P class="p2"&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P class="p2"&gt;16094&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P class="p2"&gt;2013&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P class="p2"&gt;89&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P class="p2"&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P class="p2"&gt;16094&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P class="p2"&gt;2014&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P class="p2"&gt;13&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P class="p2"&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P class="p2"&gt;16094&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P class="p2"&gt;2015&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P class="p2"&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P class="p2"&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P class="p2"&gt;16094&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P class="p2"&gt;2016&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P class="p2"&gt;27&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P class="p2"&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P class="p2"&gt;16094&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P class="p2"&gt;2016&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P class="p2"&gt;30&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P class="p2"&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P class="p2"&gt;16094&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P class="p2"&gt;2016&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P class="p2"&gt;30&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P class="p2"&gt;10&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P class="p3"&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 14 Jun 2017 11:45:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Statistical-Procedures/Creating-count-variable-by-client-id-year-and-specialty/m-p/366914#M19240</guid>
      <dc:creator>GKati</dc:creator>
      <dc:date>2017-06-14T11:45:15Z</dc:date>
    </item>
    <item>
      <title>Re: Creating count variable by client_id, year and specialty</title>
      <link>https://communities.sas.com/t5/Statistical-Procedures/Creating-count-variable-by-client-id-year-and-specialty/m-p/366919#M19241</link>
      <description>&lt;P&gt;When I run your code:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data claims;
input client_id year specialty;
datalines;
16094 2012 3
16094 2012 89
16094 2013 89
16094 2014 13
16094 2015 3
16094 2016 27
16094 2016 30
16094 2016 30
;
run;

data claims;
  set claims;
  countbyyearspecialty+1;
  by client_id year specialty;
  if first.specialty then countbyyearspecialty=1;
output; *note that this statement is not necesssary;
run;

proc print data=claims noobs;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;I get this:&lt;/P&gt;
&lt;PRE&gt;client_
   id      year    specialty    countbyyearspecialty

 16094     2012         3                 1         
 16094     2012        89                 1         
 16094     2013        89                 1         
 16094     2014        13                 1         
 16094     2015         3                 1         
 16094     2016        27                 1         
 16094     2016        30                 1         
 16094     2016        30                 2         
&lt;/PRE&gt;
&lt;P&gt;which looks quite right to me.&lt;/P&gt;</description>
      <pubDate>Wed, 14 Jun 2017 11:59:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Statistical-Procedures/Creating-count-variable-by-client-id-year-and-specialty/m-p/366919#M19241</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2017-06-14T11:59:44Z</dc:date>
    </item>
    <item>
      <title>Re: Creating count variable by client_id, year and specialty</title>
      <link>https://communities.sas.com/t5/Statistical-Procedures/Creating-count-variable-by-client-id-year-and-specialty/m-p/366920#M19242</link>
      <description>&lt;P&gt;Instead of a 10, I get a 2 in the last observation of countbyyearspecialty when running&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data claims;
input client_id year specialty;
datalines;
16094 2012 3
16094 2012 89
16094 2013 89
16094 2014 13
16094 2015 3
16094 2016 27
16094 2016 30
16094 2016 30
;

proc sort data = claims;
	by client_id year specialty;
run;

data claims;
  set claims;
  countbyyearspecialty+1;
  by client_id year specialty;
  if first.specialty then countbyyearspecialty=1;
  output;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;, which seems right?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 14 Jun 2017 12:02:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Statistical-Procedures/Creating-count-variable-by-client-id-year-and-specialty/m-p/366920#M19242</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2017-06-14T12:02:22Z</dc:date>
    </item>
    <item>
      <title>Re: Creating count variable by client_id, year and specialty</title>
      <link>https://communities.sas.com/t5/Statistical-Procedures/Creating-count-variable-by-client-id-year-and-specialty/m-p/366924#M19244</link>
      <description>&lt;P&gt;Interestingly, once I have deleted the variable countbyyearspecialty and re-ran the command, I got the same results.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks Everyone.&lt;/P&gt;</description>
      <pubDate>Wed, 14 Jun 2017 12:14:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Statistical-Procedures/Creating-count-variable-by-client-id-year-and-specialty/m-p/366924#M19244</guid>
      <dc:creator>GKati</dc:creator>
      <dc:date>2017-06-14T12:14:38Z</dc:date>
    </item>
    <item>
      <title>Re: Creating count variable by client_id, year and specialty</title>
      <link>https://communities.sas.com/t5/Statistical-Procedures/Creating-count-variable-by-client-id-year-and-specialty/m-p/366926#M19245</link>
      <description>&lt;P&gt;RETAINing a variable (explicitly, or implicitly by using the variable + value; statement) only makes sense if it is not already on (one of) the input dataset(s). Any seemingly retained value will always be overwritten with the value from the dataset when a new observation is read.&lt;/P&gt;</description>
      <pubDate>Wed, 14 Jun 2017 12:43:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Statistical-Procedures/Creating-count-variable-by-client-id-year-and-specialty/m-p/366926#M19245</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2017-06-14T12:43:26Z</dc:date>
    </item>
    <item>
      <title>Re: Creating count variable by client_id, year and specialty</title>
      <link>https://communities.sas.com/t5/Statistical-Procedures/Creating-count-variable-by-client-id-year-and-specialty/m-p/366963#M19247</link>
      <description>&lt;P&gt;So here is a follow-up:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to take the maximum value (of&amp;nbsp;&lt;SPAN&gt;countbyyearspecialty)&lt;/SPAN&gt;&amp;nbsp;by year and specialty.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P class="p1"&gt;&lt;SPAN class="s1"&gt;&lt;STRONG&gt;DATA&lt;/STRONG&gt;&lt;/SPAN&gt; claims;&lt;/P&gt;&lt;P class="p1"&gt;&lt;SPAN class="s2"&gt;set&lt;/SPAN&gt; claims;&lt;/P&gt;&lt;P class="p1"&gt;&lt;SPAN class="s2"&gt;BY&lt;/SPAN&gt;&amp;nbsp;client_id year specialty;&lt;/P&gt;&lt;P class="p1"&gt;&lt;SPAN class="s2"&gt;IF&lt;/SPAN&gt; FIRST.specialty &lt;SPAN class="s2"&gt;THEN&lt;/SPAN&gt; claimsperyearspecialty = countbyyearspecialty;&lt;/P&gt;&lt;P class="p1"&gt;&lt;SPAN class="s2"&gt;ELSE&lt;/SPAN&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &lt;/SPAN&gt;claimsperyearspecialty = claimsperyearspecialty;&lt;/P&gt;&lt;P class="p2"&gt;&lt;STRONG&gt;RUN&lt;/STRONG&gt;&lt;SPAN class="s3"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p2"&gt;&amp;nbsp;&lt;/P&gt;&lt;P class="p2"&gt;&lt;SPAN class="s3"&gt;This would be my desired outcome:&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="p2"&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;client_id&lt;/TD&gt;&lt;TD&gt;year&lt;/TD&gt;&lt;TD&gt;specialty&lt;/TD&gt;&lt;TD&gt;countbyyearspecialty&lt;/TD&gt;&lt;TD&gt;claimsbyyearspecialty&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;16094&lt;/TD&gt;&lt;TD&gt;2012&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;16094&lt;/TD&gt;&lt;TD&gt;2012&lt;/TD&gt;&lt;TD&gt;89&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;16094&lt;/TD&gt;&lt;TD&gt;2013&lt;/TD&gt;&lt;TD&gt;89&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;16094&lt;/TD&gt;&lt;TD&gt;2014&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;16094&lt;/TD&gt;&lt;TD&gt;2015&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;16094&lt;/TD&gt;&lt;TD&gt;2016&lt;/TD&gt;&lt;TD&gt;27&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;16094&lt;/TD&gt;&lt;TD&gt;2016&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;16094&lt;/TD&gt;&lt;TD&gt;2016&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P class="p2"&gt;&amp;nbsp;&lt;/P&gt;&lt;P class="p2"&gt;&lt;SPAN class="s3"&gt;Thanks&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 14 Jun 2017 13:55:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Statistical-Procedures/Creating-count-variable-by-client-id-year-and-specialty/m-p/366963#M19247</guid>
      <dc:creator>GKati</dc:creator>
      <dc:date>2017-06-14T13:55:14Z</dc:date>
    </item>
    <item>
      <title>Re: Creating count variable by client_id, year and specialty</title>
      <link>https://communities.sas.com/t5/Statistical-Procedures/Creating-count-variable-by-client-id-year-and-specialty/m-p/366966#M19248</link>
      <description>&lt;P&gt;Since I've already started to solve this with data steps, I'll stay with them:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data claims;
input client_id year specialty;
datalines;
16094 2012 3
16094 2012 89
16094 2013 89
16094 2014 13
16094 2015 3
16094 2016 27
16094 2016 30
16094 2016 30
;
run;

data
  claims
  sums (
    keep=client_id year specialty countbyyearspecialty
    rename=(countbyyearspecialty=claimsbyyearspecialty)
  )
;
set claims;
countbyyearspecialty + 1;
by client_id year specialty;
if first.specialty then countbyyearspecialty = 1;
output claims;
if last.specialty then output sums;
run;

data claims_final;
merge
  claims
  sums
;
by client_id year specialty;
run;

proc print data=claims_final noobs;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Result&lt;/P&gt;
&lt;PRE&gt;client_
   id      year    specialty    countbyyearspecialty    claimsbyyearspecialty

 16094     2012         3                 1                       1          
 16094     2012        89                 1                       1          
 16094     2013        89                 1                       1          
 16094     2014        13                 1                       1          
 16094     2015         3                 1                       1          
 16094     2016        27                 1                       1          
 16094     2016        30                 1                       2          
 16094     2016        30                 2                       2          
&lt;/PRE&gt;</description>
      <pubDate>Wed, 14 Jun 2017 14:03:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Statistical-Procedures/Creating-count-variable-by-client-id-year-and-specialty/m-p/366966#M19248</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2017-06-14T14:03:03Z</dc:date>
    </item>
  </channel>
</rss>

