<?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: Proc SQL Loop for days between start_date and end_date in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-Loop-for-days-between-start-date-and-end-date/m-p/593672#M170412</link>
    <description>&lt;P&gt;Hello Kurt,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Your proc sql procedure works well.&lt;/P&gt;&lt;P&gt;But I have an additional question.&lt;/P&gt;&lt;P&gt;The output of the procedure is written to an Oracle table, but now Oracle does not correctly process the format of the "day_date" field.&lt;/P&gt;&lt;P&gt;Is it possible to make the field "day_date" a datetime20. format?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance for your response.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
    <pubDate>Thu, 03 Oct 2019 11:26:11 GMT</pubDate>
    <dc:creator>Cugel</dc:creator>
    <dc:date>2019-10-03T11:26:11Z</dc:date>
    <item>
      <title>Proc SQL Loop for days between start_date and end_date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-Loop-for-days-between-start-date-and-end-date/m-p/576552#M163209</link>
      <description>&lt;P&gt;&lt;BR /&gt;Hello who can help me with a loop function that runs through the days between a start date and an end date.&lt;/P&gt;&lt;P&gt;I am a beginner(newbee) in SAS proc SQL so please provide clear instructions&lt;/P&gt;&lt;P&gt;I work with a hospital admission table in which per patient a start date of the admission and the end date of the admission is stated.&lt;BR /&gt;Now I am looking for a loop function that runs through the day of the hospital admission.&lt;/P&gt;&lt;P&gt;The output is then used for further calculations and linking to other tables such as pain measurements per day.&lt;/P&gt;&lt;P&gt;Hopefully my question is clear and someone can help me. SAS DI version 4.903&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screen Shot 07-25-19 at 02.07 PM.JPG" style="width: 600px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/31301i40639706A8B28AC3/image-size/large?v=v2&amp;amp;px=999" role="button" title="Screen Shot 07-25-19 at 02.07 PM.JPG" alt="Screen Shot 07-25-19 at 02.07 PM.JPG" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 25 Jul 2019 12:32:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-Loop-for-days-between-start-date-and-end-date/m-p/576552#M163209</guid>
      <dc:creator>Cugel</dc:creator>
      <dc:date>2019-07-25T12:32:11Z</dc:date>
    </item>
    <item>
      <title>Re: Proc SQL Loop for days between start_date and end_date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-Loop-for-days-between-start-date-and-end-date/m-p/576583#M163221</link>
      <description>&lt;P&gt;A simple do loop:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
set have (rename=(end_date_admission=end_date));
if end_date = . then end_date = datetime();
day_date = datepart(start_date_admission);
do until (day_date &amp;gt;= datepart(end_date));
  end_date_admission = intnx('dtday',start_date_admission,1,'b');
  duration = intck('minute',,start_date_admission,end_date_admission);
  output;
  day_date = day_date + 1;
  start_date_admission = end_date_admission;
end;
end_date_admission = end_date;
duration = intck('minute',start_date_admission,end_date_admission);
output;
drop end_date;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Untested, for lack of usable data.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please post example data in a data step with datalines, so we can easily recreate your dataset(s) with a copy/paste and submit. Nobody here is keen on tediously typing data off a picture. Help us to help you.&lt;/P&gt;</description>
      <pubDate>Thu, 25 Jul 2019 13:40:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-Loop-for-days-between-start-date-and-end-date/m-p/576583#M163221</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2019-07-25T13:40:13Z</dc:date>
    </item>
    <item>
      <title>Re: Proc SQL Loop for days between start_date and end_date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-Loop-for-days-between-start-date-and-end-date/m-p/576628#M163243</link>
      <description>&lt;P&gt;Standard SQL does not have a Do loop construct.&lt;/P&gt;</description>
      <pubDate>Thu, 25 Jul 2019 14:57:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-Loop-for-days-between-start-date-and-end-date/m-p/576628#M163243</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2019-07-25T14:57:19Z</dc:date>
    </item>
    <item>
      <title>Re: Proc SQL Loop for days between start_date and end_date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-Loop-for-days-between-start-date-and-end-date/m-p/576741#M163286</link>
      <description>&lt;P&gt;My take on this would be joining with a date/time dimension using a BETWEEN AND join criteria.&lt;/P&gt;
&lt;P&gt;Thus avoiding using User Written code.&lt;/P&gt;</description>
      <pubDate>Thu, 25 Jul 2019 20:37:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-Loop-for-days-between-start-date-and-end-date/m-p/576741#M163286</guid>
      <dc:creator>LinusH</dc:creator>
      <dc:date>2019-07-25T20:37:03Z</dc:date>
    </item>
    <item>
      <title>Re: Proc SQL Loop for days between start_date and end_date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-Loop-for-days-between-start-date-and-end-date/m-p/577190#M163537</link>
      <description>&lt;P&gt;&lt;SPAN&gt;Hello Kurt &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Your solution works like a train. Had to make a small adjustment in case the clinic start_admission_date and the clinic &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;end _admission_date&amp;nbsp;fall on the same day. Patient stays in the hospital for only a few hours.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Maybe you have a smarter solution than my&amp;nbsp;adjustment. Thank you for the suggested solution.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="token procnames"&gt;data&lt;/SPAN&gt; want&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="token keyword"&gt;set&lt;/SPAN&gt; have &lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;rename&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;end_date_admission&lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt;end_date&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="token keyword"&gt;if&lt;/SPAN&gt; end_date &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt; &lt;SPAN class="token keyword"&gt;then&lt;/SPAN&gt; end_date &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;datetime&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;day_date &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;datepart&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;start_date_admission&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;STRONG&gt;if datepart(d_opn) ne datepart(end_date) then&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;do until &lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;day_date &lt;SPAN class="token operator"&gt;&amp;gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;datepart&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;end_date&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp; end_date_admission &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;intnx&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token string"&gt;'dtday'&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;start_date_admission&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;1&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;&lt;SPAN class="token string"&gt;'b'&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp; duration &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;'minute'&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;start_date_admission&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;end_date_admission&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp; output&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp; day_date &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; day_date &lt;SPAN class="token operator"&gt;+&lt;/SPAN&gt; &lt;SPAN class="token number"&gt;1&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp; start_date_admission &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; end_date_admission&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;end&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;;&lt;BR /&gt;end_date_admission &lt;SPAN class="token operator"&gt;=&lt;/SPAN&gt; end_date&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;duration &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;'minute'&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;start_date_admission&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;end_date_admission&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;output&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="token keyword"&gt;drop&lt;/SPAN&gt; end_date&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="token procnames"&gt;run&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 27 Jul 2019 21:06:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-Loop-for-days-between-start-date-and-end-date/m-p/577190#M163537</guid>
      <dc:creator>Cugel</dc:creator>
      <dc:date>2019-07-27T21:06:47Z</dc:date>
    </item>
    <item>
      <title>Re: Proc SQL Loop for days between start_date and end_date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-Loop-for-days-between-start-date-and-end-date/m-p/577192#M163538</link>
      <description>&lt;P&gt;&lt;SPAN&gt;Hello Linus, As a learning newbee, I also looked at your proposed solution. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Unfortunately it is unclear to me how a join can make the intervening records visible between the start_admission_date and the end_admission_date. I have a dim_date table. Maybe you can explain the join statement.&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;INPUT FROM Oracle TABLE "ADMISSION"&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;PATIENT_ID&lt;/TD&gt;&lt;TD&gt;ADMISSION_ID&lt;/TD&gt;&lt;TD&gt;START_DATE_ADMISSION&lt;/TD&gt;&lt;TD&gt;END_DATE_ADMISSION&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1995578&lt;/TD&gt;&lt;TD&gt;23692640&lt;/TD&gt;&lt;TD&gt;15-07-2019 00:01&lt;/TD&gt;&lt;TD&gt;18-07-2019 11:08&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1378763&lt;/TD&gt;&lt;TD&gt;23692642&lt;/TD&gt;&lt;TD&gt;15-07-2019 00:25&lt;/TD&gt;&lt;TD&gt;15-07-2019 10:15&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1438468&lt;/TD&gt;&lt;TD&gt;23692661&lt;/TD&gt;&lt;TD&gt;15-07-2019 02:48&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1655650&lt;/TD&gt;&lt;TD&gt;23692662&lt;/TD&gt;&lt;TD&gt;15-07-2019 05:43&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2473537&lt;/TD&gt;&lt;TD&gt;23693801&lt;/TD&gt;&lt;TD&gt;15-07-2019 13:40&lt;/TD&gt;&lt;TD&gt;18-07-2019 14:57&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1433512&lt;/TD&gt;&lt;TD&gt;23694003&lt;/TD&gt;&lt;TD&gt;15-07-2019 14:23&lt;/TD&gt;&lt;TD&gt;22-07-2019 13:15&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Records for July 2019 in the dim_date table.&lt;/SPAN&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;SK_DIM_DATE&lt;/TD&gt;&lt;TD&gt;DATE9&lt;/TD&gt;&lt;TD&gt;DDMMYYD10&lt;/TD&gt;&lt;TD&gt;DATE_CHAR&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43646&lt;/TD&gt;&lt;TD&gt;01JUL2019:00:00:00&lt;/TD&gt;&lt;TD&gt;01-07-2019&lt;/TD&gt;&lt;TD&gt;01-jul-19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43647&lt;/TD&gt;&lt;TD&gt;02JUL2019:00:00:00&lt;/TD&gt;&lt;TD&gt;02-07-2019&lt;/TD&gt;&lt;TD&gt;02-jul-19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43648&lt;/TD&gt;&lt;TD&gt;03JUL2019:00:00:00&lt;/TD&gt;&lt;TD&gt;03-07-2019&lt;/TD&gt;&lt;TD&gt;03-jul-19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43649&lt;/TD&gt;&lt;TD&gt;04JUL2019:00:00:00&lt;/TD&gt;&lt;TD&gt;04-07-2019&lt;/TD&gt;&lt;TD&gt;04-jul-19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43650&lt;/TD&gt;&lt;TD&gt;05JUL2019:00:00:00&lt;/TD&gt;&lt;TD&gt;05-07-2019&lt;/TD&gt;&lt;TD&gt;05-jul-19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43651&lt;/TD&gt;&lt;TD&gt;06JUL2019:00:00:00&lt;/TD&gt;&lt;TD&gt;06-07-2019&lt;/TD&gt;&lt;TD&gt;06-jul-19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43652&lt;/TD&gt;&lt;TD&gt;07JUL2019:00:00:00&lt;/TD&gt;&lt;TD&gt;07-07-2019&lt;/TD&gt;&lt;TD&gt;07-jul-19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43653&lt;/TD&gt;&lt;TD&gt;08JUL2019:00:00:00&lt;/TD&gt;&lt;TD&gt;08-07-2019&lt;/TD&gt;&lt;TD&gt;08-jul-19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43654&lt;/TD&gt;&lt;TD&gt;09JUL2019:00:00:00&lt;/TD&gt;&lt;TD&gt;09-07-2019&lt;/TD&gt;&lt;TD&gt;09-jul-19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43655&lt;/TD&gt;&lt;TD&gt;10JUL2019:00:00:00&lt;/TD&gt;&lt;TD&gt;10-07-2019&lt;/TD&gt;&lt;TD&gt;10-jul-19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43656&lt;/TD&gt;&lt;TD&gt;11JUL2019:00:00:00&lt;/TD&gt;&lt;TD&gt;11-07-2019&lt;/TD&gt;&lt;TD&gt;11-jul-19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43657&lt;/TD&gt;&lt;TD&gt;12JUL2019:00:00:00&lt;/TD&gt;&lt;TD&gt;12-07-2019&lt;/TD&gt;&lt;TD&gt;12-jul-19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43658&lt;/TD&gt;&lt;TD&gt;13JUL2019:00:00:00&lt;/TD&gt;&lt;TD&gt;13-07-2019&lt;/TD&gt;&lt;TD&gt;13-jul-19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43659&lt;/TD&gt;&lt;TD&gt;14JUL2019:00:00:00&lt;/TD&gt;&lt;TD&gt;14-07-2019&lt;/TD&gt;&lt;TD&gt;14-jul-19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43660&lt;/TD&gt;&lt;TD&gt;15JUL2019:00:00:00&lt;/TD&gt;&lt;TD&gt;15-07-2019&lt;/TD&gt;&lt;TD&gt;15-jul-19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43661&lt;/TD&gt;&lt;TD&gt;16JUL2019:00:00:00&lt;/TD&gt;&lt;TD&gt;16-07-2019&lt;/TD&gt;&lt;TD&gt;16-jul-19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43662&lt;/TD&gt;&lt;TD&gt;17JUL2019:00:00:00&lt;/TD&gt;&lt;TD&gt;17-07-2019&lt;/TD&gt;&lt;TD&gt;17-jul-19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43663&lt;/TD&gt;&lt;TD&gt;18JUL2019:00:00:00&lt;/TD&gt;&lt;TD&gt;18-07-2019&lt;/TD&gt;&lt;TD&gt;18-jul-19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43664&lt;/TD&gt;&lt;TD&gt;19JUL2019:00:00:00&lt;/TD&gt;&lt;TD&gt;19-07-2019&lt;/TD&gt;&lt;TD&gt;19-jul-19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43665&lt;/TD&gt;&lt;TD&gt;20JUL2019:00:00:00&lt;/TD&gt;&lt;TD&gt;20-07-2019&lt;/TD&gt;&lt;TD&gt;20-jul-19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43666&lt;/TD&gt;&lt;TD&gt;21JUL2019:00:00:00&lt;/TD&gt;&lt;TD&gt;21-07-2019&lt;/TD&gt;&lt;TD&gt;21-jul-19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43667&lt;/TD&gt;&lt;TD&gt;22JUL2019:00:00:00&lt;/TD&gt;&lt;TD&gt;22-07-2019&lt;/TD&gt;&lt;TD&gt;22-jul-19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43668&lt;/TD&gt;&lt;TD&gt;23JUL2019:00:00:00&lt;/TD&gt;&lt;TD&gt;23-07-2019&lt;/TD&gt;&lt;TD&gt;23-jul-19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43669&lt;/TD&gt;&lt;TD&gt;24JUL2019:00:00:00&lt;/TD&gt;&lt;TD&gt;24-07-2019&lt;/TD&gt;&lt;TD&gt;24-jul-19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43670&lt;/TD&gt;&lt;TD&gt;25JUL2019:00:00:00&lt;/TD&gt;&lt;TD&gt;25-07-2019&lt;/TD&gt;&lt;TD&gt;25-jul-19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43671&lt;/TD&gt;&lt;TD&gt;26JUL2019:00:00:00&lt;/TD&gt;&lt;TD&gt;26-07-2019&lt;/TD&gt;&lt;TD&gt;26-jul-19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43672&lt;/TD&gt;&lt;TD&gt;27JUL2019:00:00:00&lt;/TD&gt;&lt;TD&gt;27-07-2019&lt;/TD&gt;&lt;TD&gt;27-jul-19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43673&lt;/TD&gt;&lt;TD&gt;28JUL2019:00:00:00&lt;/TD&gt;&lt;TD&gt;28-07-2019&lt;/TD&gt;&lt;TD&gt;28-jul-19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43674&lt;/TD&gt;&lt;TD&gt;29JUL2019:00:00:00&lt;/TD&gt;&lt;TD&gt;29-07-2019&lt;/TD&gt;&lt;TD&gt;29-jul-19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43675&lt;/TD&gt;&lt;TD&gt;30JUL2019:00:00:00&lt;/TD&gt;&lt;TD&gt;30-07-2019&lt;/TD&gt;&lt;TD&gt;30-jul-19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43676&lt;/TD&gt;&lt;TD&gt;31JUL2019:00:00:00&lt;/TD&gt;&lt;TD&gt;31-07-2019&lt;/TD&gt;&lt;TD&gt;31-jul-19&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Sat, 27 Jul 2019 21:44:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-Loop-for-days-between-start-date-and-end-date/m-p/577192#M163538</guid>
      <dc:creator>Cugel</dc:creator>
      <dc:date>2019-07-27T21:44:19Z</dc:date>
    </item>
    <item>
      <title>Re: Proc SQL Loop for days between start_date and end_date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-Loop-for-days-between-start-date-and-end-date/m-p/577622#M163686</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table want as
select
  a.patient_id,
  a.admission_id,
  b.date9
from admission a, dim_date b
where b.date9 between a.start_date_admission and a.end_date_admission
;
quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;This is the code you need to achieve with the point-and-click interface, if you don't want to use a user written transformation in DI Studio.&lt;/P&gt;</description>
      <pubDate>Tue, 30 Jul 2019 06:58:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-Loop-for-days-between-start-date-and-end-date/m-p/577622#M163686</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2019-07-30T06:58:48Z</dc:date>
    </item>
    <item>
      <title>Re: Proc SQL Loop for days between start_date and end_date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-Loop-for-days-between-start-date-and-end-date/m-p/578283#M163982</link>
      <description>&lt;P&gt;Given your variable names, the condition should be&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;if datepart(start_date_admission) ne datepart(end_date) then&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Otherwise, it solves the problem of one-day stays very nicely.&lt;/P&gt;</description>
      <pubDate>Thu, 01 Aug 2019 06:38:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-Loop-for-days-between-start-date-and-end-date/m-p/578283#M163982</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2019-08-01T06:38:22Z</dc:date>
    </item>
    <item>
      <title>Re: Proc SQL Loop for days between start_date and end_date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-Loop-for-days-between-start-date-and-end-date/m-p/578285#M163983</link>
      <description>Hello Kurt, thank you very much for your input.&lt;BR /&gt;&lt;BR /&gt;However, the final solution is not yet clear.&lt;BR /&gt;&lt;BR /&gt;I now have insight into the days within the hospitalization period.&lt;BR /&gt;&lt;BR /&gt;But the next problem is that a patient may have been in multiple nursing units on one calendar day.&lt;BR /&gt;&lt;BR /&gt;I will compile a dataset that makes that clear.&lt;BR /&gt;&lt;BR /&gt;To be continued.&lt;BR /&gt;</description>
      <pubDate>Thu, 01 Aug 2019 07:11:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-Loop-for-days-between-start-date-and-end-date/m-p/578285#M163983</guid>
      <dc:creator>Cugel</dc:creator>
      <dc:date>2019-08-01T07:11:43Z</dc:date>
    </item>
    <item>
      <title>Re: Proc SQL Loop for days between start_date and end_date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-Loop-for-days-between-start-date-and-end-date/m-p/593672#M170412</link>
      <description>&lt;P&gt;Hello Kurt,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Your proc sql procedure works well.&lt;/P&gt;&lt;P&gt;But I have an additional question.&lt;/P&gt;&lt;P&gt;The output of the procedure is written to an Oracle table, but now Oracle does not correctly process the format of the "day_date" field.&lt;/P&gt;&lt;P&gt;Is it possible to make the field "day_date" a datetime20. format?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance for your response.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 03 Oct 2019 11:26:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-Loop-for-days-between-start-date-and-end-date/m-p/593672#M170412</guid>
      <dc:creator>Cugel</dc:creator>
      <dc:date>2019-10-03T11:26:11Z</dc:date>
    </item>
    <item>
      <title>Re: Proc SQL Loop for days between start_date and end_date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-Loop-for-days-between-start-date-and-end-date/m-p/593675#M170414</link>
      <description>&lt;P&gt;To convert a date to a datetime value, do&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;day_date = dhms(day_date,0,0,0);
format day_date datetime20.;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;or in SQL&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;dhms(day_date,0,0,0) format=datetime20. as day_date&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 03 Oct 2019 11:33:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-Loop-for-days-between-start-date-and-end-date/m-p/593675#M170414</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2019-10-03T11:33:47Z</dc:date>
    </item>
    <item>
      <title>Re: Proc SQL Loop for days between start_date and end_date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-Loop-for-days-between-start-date-and-end-date/m-p/593679#M170418</link>
      <description>Hello Kert,&lt;BR /&gt;Thanks the suggested solution works. I have not yet tested it in the proc sql procedure. The adjustment below gave the desired result.&lt;BR /&gt;[cid:image001.png@01D579F3.2DA30590]</description>
      <pubDate>Thu, 03 Oct 2019 12:04:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-Loop-for-days-between-start-date-and-end-date/m-p/593679#M170418</guid>
      <dc:creator>Cugel</dc:creator>
      <dc:date>2019-10-03T12:04:32Z</dc:date>
    </item>
    <item>
      <title>Re: Proc SQL Loop for days between start_date and end_date</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-Loop-for-days-between-start-date-and-end-date/m-p/597249#M172080</link>
      <description>&lt;P&gt;&lt;SPAN&gt;Hello Kurt, &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;May I again appeal to you for your SAS knowledge. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;In nursing, we use three daily rosters for the nurses. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Now we would like to split the length of stay on the ward per calendar day into the duration of stay per roster. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;This is quite a puzzle since the length of stay can start in roster1 and end in roster2 or start in roster1 and also end in roster1 etc. etc..&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Maybe you&amp;nbsp;have a suggestion, idea or solution. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thanks in advance for your response.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Roster1 23:30 until 07:30 (&amp;gt;23:30 &amp;lt;=07:30) (duration 8 hours --&amp;gt; 30 minutes until midnight and 450 minutes until start roster2)&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Roster2 07:30 until 15:30 (&amp;gt;07:30 &amp;lt;=15:30) &amp;nbsp;(duration 8 hours)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Roster3 15:30 until 23:30 (&amp;gt;15:30 &amp;lt;=23:30)&amp;nbsp; (duration 8 hours)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;data_input&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="data_input.JPG" style="width: 600px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/33188i9366FBC3D22D415C/image-size/large?v=v2&amp;amp;px=999" role="button" title="data_input.JPG" alt="data_input.JPG" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;desired output&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="desirable_output.JPG" style="width: 600px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/33191iB2D0E9037F6F74E7/image-size/large?v=v2&amp;amp;px=999" role="button" title="desirable_output.JPG" alt="desirable_output.JPG" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 17 Oct 2019 10:47:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-Loop-for-days-between-start-date-and-end-date/m-p/597249#M172080</guid>
      <dc:creator>Cugel</dc:creator>
      <dc:date>2019-10-17T10:47:29Z</dc:date>
    </item>
  </channel>
</rss>

