<?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: How to count unique number of industries by SIC code in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-count-unique-number-of-industries-by-SIC-code/m-p/581494#M165281</link>
    <description>&lt;P&gt;Thank you very much&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13879"&gt;@Reeza&lt;/a&gt;&amp;nbsp;But my original data has 168344 observations. When I transpose it, the data is wired. : )&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you very much,&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/138205"&gt;@novinosrin&lt;/a&gt;&amp;nbsp;. I will try your method now. Many thanks. : )&lt;/P&gt;</description>
    <pubDate>Thu, 15 Aug 2019 16:30:01 GMT</pubDate>
    <dc:creator>Lipty</dc:creator>
    <dc:date>2019-08-15T16:30:01Z</dc:date>
    <item>
      <title>How to count unique number of industries by SIC code</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-count-unique-number-of-industries-by-SIC-code/m-p/581487#M165275</link>
      <description>&lt;P&gt;Dear all,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have the following data set and would like to count the &lt;STRONG&gt;unique&lt;/STRONG&gt; number of industries of a firm.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Original data set:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;gvkey&lt;/TD&gt;&lt;TD&gt;year&lt;/TD&gt;&lt;TD&gt;sic&lt;/TD&gt;&lt;TD&gt;sic1&lt;/TD&gt;&lt;TD&gt;sic2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4839&lt;/TD&gt;&lt;TD&gt;2018&lt;/TD&gt;&lt;TD&gt;3711&lt;/TD&gt;&lt;TD&gt;3711&lt;/TD&gt;&lt;TD&gt;3714&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4839&lt;/TD&gt;&lt;TD&gt;2018&lt;/TD&gt;&lt;TD&gt;3711&lt;/TD&gt;&lt;TD&gt;6141&lt;/TD&gt;&lt;TD&gt;6411&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4839&lt;/TD&gt;&lt;TD&gt;2018&lt;/TD&gt;&lt;TD&gt;3711&lt;/TD&gt;&lt;TD&gt;5233&lt;/TD&gt;&lt;TD&gt;5622&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4839&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;3711&lt;/TD&gt;&lt;TD&gt;3711&lt;/TD&gt;&lt;TD&gt;3714&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4839&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;3711&lt;/TD&gt;&lt;TD&gt;3711&lt;/TD&gt;&lt;TD&gt;7379&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is the final data I would like to get&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;gvkey&lt;/TD&gt;&lt;TD&gt;year&lt;/TD&gt;&lt;TD&gt;numberofsic&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4839&lt;/TD&gt;&lt;TD&gt;2018&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4839&lt;/TD&gt;&lt;TD&gt;2017&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you very much~~~~&lt;/P&gt;</description>
      <pubDate>Thu, 15 Aug 2019 16:06:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-count-unique-number-of-industries-by-SIC-code/m-p/581487#M165275</guid>
      <dc:creator>Lipty</dc:creator>
      <dc:date>2019-08-15T16:06:15Z</dc:date>
    </item>
    <item>
      <title>Re: How to count unique number of industries by SIC code</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-count-unique-number-of-industries-by-SIC-code/m-p/581489#M165276</link>
      <description>Change your data structure to a long format via PROC TRANSPOSE and then use SQL.&lt;BR /&gt;&lt;BR /&gt;proc sql;&lt;BR /&gt;create table want as &lt;BR /&gt;select gvkey, year, count(distinct sic) as numberofsic&lt;BR /&gt;from longfile&lt;BR /&gt;group by gvkey, year&lt;BR /&gt;order by 1, 1;&lt;BR /&gt;quit;</description>
      <pubDate>Thu, 15 Aug 2019 16:10:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-count-unique-number-of-industries-by-SIC-code/m-p/581489#M165276</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2019-08-15T16:10:09Z</dc:date>
    </item>
    <item>
      <title>Re: How to count unique number of industries by SIC code</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-count-unique-number-of-industries-by-SIC-code/m-p/581492#M165279</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/179036"&gt;@Lipty&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Yes as&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13879"&gt;@Reeza&lt;/a&gt;&amp;nbsp; suggests narrow and long works best for SAS, but FWIW&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input gvkey	year	sic	sic1	sic2;
cards;
4839	2018	3711	3711	3714
4839	2018	3711	6141	6411
4839	2018	3711	5233	5622
4839	2017	3711	3711	3714
4839	2017	3711	3711	7379
;

data want;
do until(last.year);
 set have;
 by gvkey descending year;
 array t sic:;
 array j(9999) _temporary_;
 do over t;
  if t not in j then do;
  i=sum(i,1);
  j(i)=t;
  end;
 end;
end;
numberofsic=n(of j(*));
call missing(of j(*));
drop i sic:;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 15 Aug 2019 16:24:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-count-unique-number-of-industries-by-SIC-code/m-p/581492#M165279</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2019-08-15T16:24:15Z</dc:date>
    </item>
    <item>
      <title>Re: How to count unique number of industries by SIC code</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-count-unique-number-of-industries-by-SIC-code/m-p/581494#M165281</link>
      <description>&lt;P&gt;Thank you very much&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13879"&gt;@Reeza&lt;/a&gt;&amp;nbsp;But my original data has 168344 observations. When I transpose it, the data is wired. : )&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you very much,&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/138205"&gt;@novinosrin&lt;/a&gt;&amp;nbsp;. I will try your method now. Many thanks. : )&lt;/P&gt;</description>
      <pubDate>Thu, 15 Aug 2019 16:30:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-count-unique-number-of-industries-by-SIC-code/m-p/581494#M165281</guid>
      <dc:creator>Lipty</dc:creator>
      <dc:date>2019-08-15T16:30:01Z</dc:date>
    </item>
    <item>
      <title>Re: How to count unique number of industries by SIC code</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-count-unique-number-of-industries-by-SIC-code/m-p/581498#M165284</link>
      <description>&lt;P&gt;Thank you very much. : ) It works~~~~ ^_^&lt;/P&gt;</description>
      <pubDate>Thu, 15 Aug 2019 16:42:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-count-unique-number-of-industries-by-SIC-code/m-p/581498#M165284</guid>
      <dc:creator>Lipty</dc:creator>
      <dc:date>2019-08-15T16:42:54Z</dc:date>
    </item>
    <item>
      <title>Re: How to count unique number of industries by SIC code</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-count-unique-number-of-industries-by-SIC-code/m-p/581499#M165285</link>
      <description>&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN&gt;But my original data has 168344 observations. When I transpose it, the data is wired. : )&lt;/SPAN&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN&gt;No idea why that's relevant. Long data doesn't matter to SAS and is more efficient overall.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 15 Aug 2019 16:43:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-count-unique-number-of-industries-by-SIC-code/m-p/581499#M165285</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2019-08-15T16:43:16Z</dc:date>
    </item>
    <item>
      <title>Re: How to count unique number of industries by SIC code</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-count-unique-number-of-industries-by-SIC-code/m-p/581500#M165286</link>
      <description>&lt;P&gt;You are welcome!&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 15 Aug 2019 16:45:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-count-unique-number-of-industries-by-SIC-code/m-p/581500#M165286</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2019-08-15T16:45:11Z</dc:date>
    </item>
    <item>
      <title>Re: How to count unique number of industries by SIC code</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-count-unique-number-of-industries-by-SIC-code/m-p/581510#M165289</link>
      <description>&lt;P&gt;Sorry I am feeling bored and dull. So for some entertainment, here is a solution that uses Hash method&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input gvkey	year	sic	sic1	sic2;
cards;
4839	2018	3711	3711	3714
4839	2018	3711	6141	6411
4839	2018	3711	5233	5622
4839	2017	3711	3711	3714
4839	2017	3711	3711	7379
;

data want ;
if _n_=1 then do;
   dcl hash H () ;
   h.definekey  ("_n_") ;
   h.definedone () ;
end;
do until(last.year);
 set have;
 by gvkey descending year;
 array t sic:;
 do over t;
  if not missing(t) then _n_=t;
  _rc=h.add();
 end;
end;
numberofsic=h.num_items;
h.clear();
drop _: sic:;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 15 Aug 2019 17:06:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-count-unique-number-of-industries-by-SIC-code/m-p/581510#M165289</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2019-08-15T17:06:13Z</dc:date>
    </item>
    <item>
      <title>Re: How to count unique number of industries by SIC code</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-count-unique-number-of-industries-by-SIC-code/m-p/581521#M165293</link>
      <description>&lt;P&gt;Thanks~~~~&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I tried both and the results are consistent. : )&lt;/P&gt;</description>
      <pubDate>Thu, 15 Aug 2019 17:23:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-count-unique-number-of-industries-by-SIC-code/m-p/581521#M165293</guid>
      <dc:creator>Lipty</dc:creator>
      <dc:date>2019-08-15T17:23:45Z</dc:date>
    </item>
    <item>
      <title>Re: How to count unique number of industries by SIC code</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-count-unique-number-of-industries-by-SIC-code/m-p/581538#M165299</link>
      <description>&lt;P&gt;I am glad. Some fun that made me feel so stupid in retrospect. Did we realize that I was silly(&lt;STRONG&gt;1st solution&lt;/STRONG&gt;) in using&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;numberofsic=n(of j(*));&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;where we could have simply used&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;numberofsic=i;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;LOL. That proves I was sleeping. It's very trivial but attention to detail is very important in achieving immaculate code. &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 15 Aug 2019 18:02:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-count-unique-number-of-industries-by-SIC-code/m-p/581538#M165299</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2019-08-15T18:02:55Z</dc:date>
    </item>
    <item>
      <title>Re: How to count unique number of industries by SIC code</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-count-unique-number-of-industries-by-SIC-code/m-p/581795#M165401</link>
      <description>&lt;P&gt;LOL. You are so funny. Thank you very much. I might bother you next time. ^_^&lt;/P&gt;</description>
      <pubDate>Fri, 16 Aug 2019 17:34:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-count-unique-number-of-industries-by-SIC-code/m-p/581795#M165401</guid>
      <dc:creator>Lipty</dc:creator>
      <dc:date>2019-08-16T17:34:20Z</dc:date>
    </item>
  </channel>
</rss>

