<?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: Number of days between treatments by clientid and case number in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Number-of-days-between-treatments-by-clientid-and-case-number/m-p/331550#M62743</link>
    <description>&lt;P&gt;And for a minor difference instead of&lt;/P&gt;
&lt;P&gt;callbacktime&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;intck&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token string"&gt;'day'&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;lag&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;startdate&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt; startdate&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="token punctuation"&gt;since you want days&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="token punctuation"&gt;callbacktime = dif(startdate);&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Fri, 10 Feb 2017 15:25:17 GMT</pubDate>
    <dc:creator>ballardw</dc:creator>
    <dc:date>2017-02-10T15:25:17Z</dc:date>
    <item>
      <title>Number of days between treatments by clientid and case number</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Number-of-days-between-treatments-by-clientid-and-case-number/m-p/331465#M62736</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hello SAS Users,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would like to calculate the number of days between treatments&amp;nbsp;by subtracting the starting&amp;nbsp;date of treatment_1 from the starting date of treatment_2 by clientid and case number. In other words, I expect the first row of each case for every client to be missing.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I successfully calculated the callbacktime, but it is calculated for each row independent of clientid and case number.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt; &lt;STRONG&gt;sort&lt;/STRONG&gt; data=work.sample out=work.sample;&lt;/P&gt;&lt;P&gt;by clientid case;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;data&lt;/STRONG&gt; sample;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; set sample;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; by clientid case;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; callbacktime=intck('day', lag(startdate), startdate);&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;</description>
      <pubDate>Fri, 10 Feb 2017 12:00:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Number-of-days-between-treatments-by-clientid-and-case-number/m-p/331465#M62736</guid>
      <dc:creator>GKati</dc:creator>
      <dc:date>2017-02-10T12:00:03Z</dc:date>
    </item>
    <item>
      <title>Re: Number of days between treatments by clientid and case number</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Number-of-days-between-treatments-by-clientid-and-case-number/m-p/331468#M62737</link>
      <description>&lt;P&gt;Can you try this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sort data=work.sample out=work.sample;
by clientid case;
run;
 
data sample;
   set sample;
     by clientid case;
     callbacktime=intck('day', lag(startdate), startdate);
     if first.case then callbacktime=.; /* For each new case set callbacktime to missing */
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 10 Feb 2017 12:12:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Number-of-days-between-treatments-by-clientid-and-case-number/m-p/331468#M62737</guid>
      <dc:creator>MichaelLarsen</dc:creator>
      <dc:date>2017-02-10T12:12:53Z</dc:date>
    </item>
    <item>
      <title>Re: Number of days between treatments by clientid and case number</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Number-of-days-between-treatments-by-clientid-and-case-number/m-p/331476#M62738</link>
      <description>&lt;P&gt;Yes, I can do this. But isn't that what the by command should be for? Shouldn't the program do that for me?&lt;/P&gt;</description>
      <pubDate>Fri, 10 Feb 2017 12:51:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Number-of-days-between-treatments-by-clientid-and-case-number/m-p/331476#M62738</guid>
      <dc:creator>GKati</dc:creator>
      <dc:date>2017-02-10T12:51:56Z</dc:date>
    </item>
    <item>
      <title>Re: Number of days between treatments by clientid and case number</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Number-of-days-between-treatments-by-clientid-and-case-number/m-p/331481#M62739</link>
      <description>&lt;P&gt;No.&lt;/P&gt;
&lt;P&gt;The By statement will create the automatic variables&amp;nbsp;&lt;EM&gt;byvar.&lt;/EM&gt;first and&amp;nbsp;&lt;EM&gt;byvar.&lt;/EM&gt;last.&lt;/P&gt;
&lt;P&gt;And will check to see if the sort order is correct in the input rows.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The lag function does not know anything about the By statement so you need to add your own logic as I have shown you.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 10 Feb 2017 13:03:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Number-of-days-between-treatments-by-clientid-and-case-number/m-p/331481#M62739</guid>
      <dc:creator>MichaelLarsen</dc:creator>
      <dc:date>2017-02-10T13:03:20Z</dc:date>
    </item>
    <item>
      <title>Re: Number of days between treatments by clientid and case number</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Number-of-days-between-treatments-by-clientid-and-case-number/m-p/331485#M62740</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/123185"&gt;@GKati&lt;/a&gt; wrote:&lt;BR /&gt;
&lt;P&gt;Yes, I can do this. But isn't that what the by command should be for? Shouldn't the program do that for me?&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;No. What the by statement does:&lt;/P&gt;
&lt;P&gt;- it creates an automatic first. and last. variable for every variable in the by statement to signal a group change&lt;/P&gt;
&lt;P&gt;- if used without the notsorted option, it throws an error if the dataset is not sorted properly&lt;/P&gt;
&lt;P&gt;It is up to you to use the first. and last. to your logical needs. SAS can't guess what you want to happen at a certain group change (ie with multiple by levels one often does not want to reset all retained variables at every level).&lt;/P&gt;</description>
      <pubDate>Fri, 10 Feb 2017 13:04:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Number-of-days-between-treatments-by-clientid-and-case-number/m-p/331485#M62740</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2017-02-10T13:04:14Z</dc:date>
    </item>
    <item>
      <title>Re: Number of days between treatments by clientid and case number</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Number-of-days-between-treatments-by-clientid-and-case-number/m-p/331487#M62741</link>
      <description>&lt;P&gt;Thanks! That clarifies things.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 10 Feb 2017 13:06:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Number-of-days-between-treatments-by-clientid-and-case-number/m-p/331487#M62741</guid>
      <dc:creator>GKati</dc:creator>
      <dc:date>2017-02-10T13:06:05Z</dc:date>
    </item>
    <item>
      <title>Re: Number of days between treatments by clientid and case number</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Number-of-days-between-treatments-by-clientid-and-case-number/m-p/331550#M62743</link>
      <description>&lt;P&gt;And for a minor difference instead of&lt;/P&gt;
&lt;P&gt;callbacktime&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;intck&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token string"&gt;'day'&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;lag&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;startdate&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt; startdate&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="token punctuation"&gt;since you want days&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="token punctuation"&gt;callbacktime = dif(startdate);&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 10 Feb 2017 15:25:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Number-of-days-between-treatments-by-clientid-and-case-number/m-p/331550#M62743</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2017-02-10T15:25:17Z</dc:date>
    </item>
  </channel>
</rss>

