<?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: create ID based on some conditions in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/create-ID-based-on-some-conditions/m-p/306086#M65401</link>
    <description>&lt;P&gt;You're on the correct path.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;However, you should make use of the BY variables as well.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Calculating the difference between start date &amp;nbsp;and previous end date is the biggest issue otherwise.&lt;/P&gt;
&lt;P&gt;Untested, but should be close to what you need.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Also, this is asked every week so if you search on here you'll find many examples of how to solve this question.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
set have;
by nbr id;

retain admit_id;

prev_end =lag(end_dt);

if not first.id and (start_dt - prev_end) &amp;gt;&amp;nbsp;1 then admit+1;
&amp;nbsp;
else if first.id then admit_id+1;

/*else you do nothing to keep the same value*/

run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 20 Oct 2016 20:41:56 GMT</pubDate>
    <dc:creator>Reeza</dc:creator>
    <dc:date>2016-10-20T20:41:56Z</dc:date>
    <item>
      <title>create ID based on some conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/create-ID-based-on-some-conditions/m-p/306068#M65393</link>
      <description>&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;NBR&lt;/TD&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;DRG&lt;/TD&gt;&lt;TD&gt;START_DT&lt;/TD&gt;&lt;TD&gt;END_DT&lt;/TD&gt;&lt;TD&gt;Admit_ID&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00158409W00&lt;/TD&gt;&lt;TD&gt;10010&lt;/TD&gt;&lt;TD&gt;774&lt;/TD&gt;&lt;TD&gt;6-Dec-11&lt;/TD&gt;&lt;TD&gt;29-Jul-12&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00158409W00&lt;/TD&gt;&lt;TD&gt;10010&lt;/TD&gt;&lt;TD&gt;774&lt;/TD&gt;&lt;TD&gt;6-Dec-11&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;29-Jul-12&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00158409W00&lt;/TD&gt;&lt;TD&gt;10010&lt;/TD&gt;&lt;TD&gt;774&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;30-Jul-12&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;31-Jul-12&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00158409W00&lt;/TD&gt;&lt;TD&gt;10010&lt;/TD&gt;&lt;TD&gt;774&lt;/TD&gt;&lt;TD&gt;30-Jul-12&lt;/TD&gt;&lt;TD&gt;31-Jul-12&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00211424W02&lt;/TD&gt;&lt;TD&gt;10010&lt;/TD&gt;&lt;TD&gt;765&lt;/TD&gt;&lt;TD&gt;16-Jan-12&lt;/TD&gt;&lt;TD&gt;21-Sep-12&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00324582W00&lt;/TD&gt;&lt;TD&gt;10119&lt;/TD&gt;&lt;TD&gt;775&lt;/TD&gt;&lt;TD&gt;24-Oct-11&lt;/TD&gt;&lt;TD&gt;13-Feb-12&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00324582W00&lt;/TD&gt;&lt;TD&gt;10119&lt;/TD&gt;&lt;TD&gt;775&lt;/TD&gt;&lt;TD&gt;24-Oct-11&lt;/TD&gt;&lt;TD&gt;13-Feb-12&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00330871W01&lt;/TD&gt;&lt;TD&gt;10022&lt;/TD&gt;&lt;TD&gt;766&lt;/TD&gt;&lt;TD&gt;5-Jan-12&lt;/TD&gt;&lt;TD&gt;30-Aug-12&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00330871W01&lt;/TD&gt;&lt;TD&gt;10022&lt;/TD&gt;&lt;TD&gt;766&lt;/TD&gt;&lt;TD&gt;5-Jan-12&lt;/TD&gt;&lt;TD&gt;30-Aug-12&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00334334W01&lt;/TD&gt;&lt;TD&gt;10014&lt;/TD&gt;&lt;TD&gt;775&lt;/TD&gt;&lt;TD&gt;13-Feb-12&lt;/TD&gt;&lt;TD&gt;24-Oct-12&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00334334W01&lt;/TD&gt;&lt;TD&gt;10014&lt;/TD&gt;&lt;TD&gt;775&lt;/TD&gt;&lt;TD&gt;13-Feb-12&lt;/TD&gt;&lt;TD&gt;24-Oct-12&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00337381W04&lt;/TD&gt;&lt;TD&gt;10019&lt;/TD&gt;&lt;TD&gt;775&lt;/TD&gt;&lt;TD&gt;25-Aug-11&lt;/TD&gt;&lt;TD&gt;18-Apr-12&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00337381W04&lt;/TD&gt;&lt;TD&gt;10019&lt;/TD&gt;&lt;TD&gt;775&lt;/TD&gt;&lt;TD&gt;25-Aug-11&lt;/TD&gt;&lt;TD&gt;18-Apr-12&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00340418W01&lt;/TD&gt;&lt;TD&gt;10004&lt;/TD&gt;&lt;TD&gt;766&lt;/TD&gt;&lt;TD&gt;20-Mar-12&lt;/TD&gt;&lt;TD&gt;20-Dec-12&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00340418W01&lt;/TD&gt;&lt;TD&gt;10004&lt;/TD&gt;&lt;TD&gt;766&lt;/TD&gt;&lt;TD&gt;20-Mar-12&lt;/TD&gt;&lt;TD&gt;20-Dec-12&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00345727W04&lt;/TD&gt;&lt;TD&gt;10014&lt;/TD&gt;&lt;TD&gt;775&lt;/TD&gt;&lt;TD&gt;22-Jul-11&lt;/TD&gt;&lt;TD&gt;1-Mar-12&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00345727W04&lt;/TD&gt;&lt;TD&gt;10014&lt;/TD&gt;&lt;TD&gt;775&lt;/TD&gt;&lt;TD&gt;22-Jul-11&lt;/TD&gt;&lt;TD&gt;1-Mar-12&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00347643W03&lt;/TD&gt;&lt;TD&gt;10015&lt;/TD&gt;&lt;TD&gt;766&lt;/TD&gt;&lt;TD&gt;11-Jan-12&lt;/TD&gt;&lt;TD&gt;27-Apr-12&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00347643W03&lt;/TD&gt;&lt;TD&gt;10015&lt;/TD&gt;&lt;TD&gt;766&lt;/TD&gt;&lt;TD&gt;11-Jan-12&lt;/TD&gt;&lt;TD&gt;27-Apr-12&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00348641W02&lt;/TD&gt;&lt;TD&gt;10020&lt;/TD&gt;&lt;TD&gt;775&lt;/TD&gt;&lt;TD&gt;23-Feb-12&lt;/TD&gt;&lt;TD&gt;1-Nov-12&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00348641W02&lt;/TD&gt;&lt;TD&gt;10020&lt;/TD&gt;&lt;TD&gt;775&lt;/TD&gt;&lt;TD&gt;23-Feb-12&lt;/TD&gt;&lt;TD&gt;1-Nov-12&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00355444W00&lt;/TD&gt;&lt;TD&gt;10022&lt;/TD&gt;&lt;TD&gt;766&lt;/TD&gt;&lt;TD&gt;10-Jan-12&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;26-Oct-12&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00355444W00&lt;/TD&gt;&lt;TD&gt;10022&lt;/TD&gt;&lt;TD&gt;766&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;26-Oct-12&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;26-Nov-12&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00367091W02&lt;/TD&gt;&lt;TD&gt;10022&lt;/TD&gt;&lt;TD&gt;774&lt;/TD&gt;&lt;TD&gt;24-Jan-12&lt;/TD&gt;&lt;TD&gt;20-Jul-12&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;The above is my data. The Admit_ID is the variable that I need to create. my logic is not working. here is my code:&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; want1;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;set&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt; IPDat;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;lag_NBR=lag(MBR_NBR);&lt;/P&gt;&lt;P&gt;lag_Prov=lag(PROV_ID);&lt;/P&gt;&lt;P&gt;lag_DRG=lag(DRG);&lt;/P&gt;&lt;P&gt;lag_Start=lag(EPI_START_DT);&lt;/P&gt;&lt;P&gt;lag_END=lag(EPI_END_DT);&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;if&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt; (MBR_NBR ne lag_NBR &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;or&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt; Prov_ID ne lag_prov &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;or&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt; DRG ne lag_DRG &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;or&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt; EPI_START_DT ne lag_Start &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;or&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt; EPI_END_DT ne lag_END) &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;and&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt;(EPI_START_DT - lag_END) &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;not&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt; in (&lt;/FONT&gt;&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;0&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt;, &lt;/FONT&gt;&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;1&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt;)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;then&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt; counter + &lt;/FONT&gt;&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;1&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;format&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt; lag_start lag_End &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;date9.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 20 Oct 2016 20:01:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/create-ID-based-on-some-conditions/m-p/306068#M65393</guid>
      <dc:creator>zhuxiaoyan1</dc:creator>
      <dc:date>2016-10-20T20:01:53Z</dc:date>
    </item>
    <item>
      <title>Re: create ID based on some conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/create-ID-based-on-some-conditions/m-p/306086#M65401</link>
      <description>&lt;P&gt;You're on the correct path.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;However, you should make use of the BY variables as well.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Calculating the difference between start date &amp;nbsp;and previous end date is the biggest issue otherwise.&lt;/P&gt;
&lt;P&gt;Untested, but should be close to what you need.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Also, this is asked every week so if you search on here you'll find many examples of how to solve this question.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
set have;
by nbr id;

retain admit_id;

prev_end =lag(end_dt);

if not first.id and (start_dt - prev_end) &amp;gt;&amp;nbsp;1 then admit+1;
&amp;nbsp;
else if first.id then admit_id+1;

/*else you do nothing to keep the same value*/

run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 20 Oct 2016 20:41:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/create-ID-based-on-some-conditions/m-p/306086#M65401</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-10-20T20:41:56Z</dc:date>
    </item>
    <item>
      <title>Re: create ID based on some conditions</title>
      <link>https://communities.sas.com/t5/SAS-Programming/create-ID-based-on-some-conditions/m-p/306094#M65404</link>
      <description>Thank you very much, Reeza! It works perfectly.</description>
      <pubDate>Thu, 20 Oct 2016 20:52:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/create-ID-based-on-some-conditions/m-p/306094#M65404</guid>
      <dc:creator>zhuxiaoyan1</dc:creator>
      <dc:date>2016-10-20T20:52:36Z</dc:date>
    </item>
  </channel>
</rss>

