<?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 keep IDs available in each year in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-keep-IDs-available-in-each-year/m-p/170204#M301338</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I realized that my sample dataset is too simple, so I have updated real data set in the post. Thank you, stat@sas!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 23 May 2014 04:50:52 GMT</pubDate>
    <dc:creator>Jonate_H</dc:creator>
    <dc:date>2014-05-23T04:50:52Z</dc:date>
    <item>
      <title>How to keep IDs available in each year</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-keep-IDs-available-in-each-year/m-p/170197#M301331</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have unbalanced panel data as showed below, there are many years and many IDs, and I want to keep those IDs available in each year, how to achieve that? &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;* I realized that my sample data set is too simple, which is kind of misleading. So I attached real data set below. Again, thank you guys for your help!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG __jive_id="6410" alt="sample.png" class="jive-image" src="https://communities.sas.com/legacyfs/online/6410_sample.png" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 May 2014 22:21:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-keep-IDs-available-in-each-year/m-p/170197#M301331</guid>
      <dc:creator>Jonate_H</dc:creator>
      <dc:date>2014-05-22T22:21:57Z</dc:date>
    </item>
    <item>
      <title>Re: How to keep IDs available in each year</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-keep-IDs-available-in-each-year/m-p/170198#M301332</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;If {year, id} also makes up the composite primary key in your real data then some code as below should work:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;libname source "C:\test";&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;&amp;nbsp; create table want as&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; select *&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; from source.sample&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; group by id&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; having count(id) = (select count(distinct year) from source.sample)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; order by year, id&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 May 2014 22:59:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-keep-IDs-available-in-each-year/m-p/170198#M301332</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2014-05-22T22:59:52Z</dc:date>
    </item>
    <item>
      <title>Re: How to keep IDs available in each year</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-keep-IDs-available-in-each-year/m-p/170199#M301333</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;&amp;nbsp; select * from sample where id in (select id from sample group by id having count(year)&amp;gt;=3);&lt;/P&gt;&lt;P&gt;&amp;nbsp; quit;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 23 May 2014 01:53:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-keep-IDs-available-in-each-year/m-p/170199#M301333</guid>
      <dc:creator>slchen</dc:creator>
      <dc:date>2014-05-23T01:53:55Z</dc:date>
    </item>
    <item>
      <title>Re: How to keep IDs available in each year</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-keep-IDs-available-in-each-year/m-p/170200#M301334</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;data want(drop=n);&lt;/P&gt;&lt;P&gt;set data;&lt;/P&gt;&lt;P&gt;by year id;&lt;/P&gt;&lt;P&gt;if first.year then n=1;&lt;/P&gt;&lt;P&gt;else n+1;&lt;/P&gt;&lt;P&gt;if n&amp;lt;4;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 23 May 2014 02:03:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-keep-IDs-available-in-each-year/m-p/170200#M301334</guid>
      <dc:creator>stat_sas</dc:creator>
      <dc:date>2014-05-23T02:03:06Z</dc:date>
    </item>
    <item>
      <title>Re: How to keep IDs available in each year</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-keep-IDs-available-in-each-year/m-p/170201#M301335</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you Patrick for your reply. The code works well for the simple data I attached. I don't know why it doesn't work for my real data. When I apply the code to real data, the resulting dataset contains no observation. I have attached real sample in my post.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 23 May 2014 04:35:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-keep-IDs-available-in-each-year/m-p/170201#M301335</guid>
      <dc:creator>Jonate_H</dc:creator>
      <dc:date>2014-05-23T04:35:44Z</dc:date>
    </item>
    <item>
      <title>Re: How to keep IDs available in each year</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-keep-IDs-available-in-each-year/m-p/170202#M301336</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you Sichen. I tried your code with real data,&amp;nbsp; the result contains IDs which only have observations in one year but not the other two years, for example, id=31656 (real sample is in my post). &lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;Since Patric's code also doesn't work for my data set, now I am wondering if it is my data set's problem..&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 23 May 2014 04:44:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-keep-IDs-available-in-each-year/m-p/170202#M301336</guid>
      <dc:creator>Jonate_H</dc:creator>
      <dc:date>2014-05-23T04:44:49Z</dc:date>
    </item>
    <item>
      <title>Re: How to keep IDs available in each year</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-keep-IDs-available-in-each-year/m-p/170203#M301337</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;That's because in our real sample {year, id} is not the primary composite key so condition "having count(id) = (select count(distinct year) from source.sample)" is not true.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Below code should deal with your real sample:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;libname source "C:\test";&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql noprint;&lt;BR /&gt;&amp;nbsp; create table want as&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; select * &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; from source.realsample&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; group by id&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; having count(distinct year) = (select count(distinct year) from source.realsample) &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; order by year, id&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&lt;BR /&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: Patrick Matter&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 23 May 2014 04:48:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-keep-IDs-available-in-each-year/m-p/170203#M301337</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2014-05-23T04:48:16Z</dc:date>
    </item>
    <item>
      <title>Re: How to keep IDs available in each year</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-keep-IDs-available-in-each-year/m-p/170204#M301338</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I realized that my sample dataset is too simple, so I have updated real data set in the post. Thank you, stat@sas!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 23 May 2014 04:50:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-keep-IDs-available-in-each-year/m-p/170204#M301338</guid>
      <dc:creator>Jonate_H</dc:creator>
      <dc:date>2014-05-23T04:50:52Z</dc:date>
    </item>
    <item>
      <title>Re: How to keep IDs available in each year</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-keep-IDs-available-in-each-year/m-p/170205#M301339</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;I am not sure how to fix that problem. I tried to reorder the variables in the data set, still no observations in the result. Really appreciate your help.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 23 May 2014 05:06:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-keep-IDs-available-in-each-year/m-p/170205#M301339</guid>
      <dc:creator>Jonate_H</dc:creator>
      <dc:date>2014-05-23T05:06:04Z</dc:date>
    </item>
    <item>
      <title>Re: How to keep IDs available in each year</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-keep-IDs-available-in-each-year/m-p/170206#M301340</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;See above. I've added code which should work with your "realsample" data.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 23 May 2014 05:16:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-keep-IDs-available-in-each-year/m-p/170206#M301340</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2014-05-23T05:16:40Z</dc:date>
    </item>
    <item>
      <title>Re: How to keep IDs available in each year</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-keep-IDs-available-in-each-year/m-p/170207#M301341</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;That works great!&amp;nbsp; Many thanks, Patrick!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 23 May 2014 23:59:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-keep-IDs-available-in-each-year/m-p/170207#M301341</guid>
      <dc:creator>Jonate_H</dc:creator>
      <dc:date>2014-05-23T23:59:16Z</dc:date>
    </item>
  </channel>
</rss>

