<?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 Multi Dimension Arrays in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Multi-Dimension-Arrays/m-p/482609#M125034</link>
    <description>&lt;P&gt;Happy Monday All!&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So here is my questions that I hope can be solved with relative ease-&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have an array that works in that&amp;nbsp; it calculates if notetime{i} is between the Unit_startTime_Day &amp;amp;&amp;nbsp;&lt;SPAN&gt;Unit_EndTime_Day, tallies the sum of the entries that match and then keeps the notetimes that match the condition&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;But here is what I am trying to do-&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;In line2, I am trying to make it so that notetime4 becomes notetime1,&amp;nbsp;notetime5 becomes notetime2, etc etc as there can be up to x number of notes but it becomes difficult for users to scroll through when its note22-note1000&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;code below table-&amp;nbsp; I apologize in advance that there is no input table&amp;nbsp; but hopefully someone can point me to the way...&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Thanks in advance for your help.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;LB&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;data all_notes;&lt;BR /&gt;retain date time_days pt_hours total_notes;&lt;BR /&gt;merge unit_time note_times;&lt;BR /&gt;by PAT_ENC_CSN_ID;&lt;BR /&gt;&lt;BR /&gt;array notes (*) note:;&lt;BR /&gt;array notep {&amp;amp;notect};&lt;BR /&gt;array notetime {&amp;amp;notect};&lt;BR /&gt;do i=1 to dim(notes);&lt;BR /&gt;if start2&amp;lt;=notes(i)&amp;lt;=end_t then notep(i)=1; else notep(i)=0;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;if notep(i)=1 then notetime(i)=notes(i);else notetime(i)=.;&lt;BR /&gt;end;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;total_notes=sum(of notep1-notep&amp;amp;notect);&lt;BR /&gt;format notetime1-notetime&amp;amp;notect datetime19.;&lt;BR /&gt;drop _name_ _label_ note1-note&amp;amp;notect /*notep1-notep&amp;amp;notect* i*/ department_id DEPARTMENT_NAME tot_hrs;&lt;BR /&gt;rename start2=Unit_StartTime_Day END_T=Unit_EndTime_Day time_days=pt_days;&lt;BR /&gt;if department_id=. then delete;&lt;/P&gt;
&lt;P&gt;run;&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;
&lt;TABLE width="1229"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="121"&gt;pat_enc_csn_id&lt;/TD&gt;
&lt;TD width="151"&gt;Unit_StartTime_Day&lt;/TD&gt;
&lt;TD width="146"&gt;Unit_EndTime_Day&lt;/TD&gt;
&lt;TD width="131"&gt;notetime1&lt;/TD&gt;
&lt;TD width="131"&gt;notetime2&lt;/TD&gt;
&lt;TD width="131"&gt;notetime3&lt;/TD&gt;
&lt;TD width="131"&gt;notetime4&lt;/TD&gt;
&lt;TD width="131"&gt;notetime5&lt;/TD&gt;
&lt;TD width="78"&gt;notetime6&lt;/TD&gt;
&lt;TD width="78"&gt;notetime7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1234&lt;/TD&gt;
&lt;TD&gt;24Jul18:04:19:00&lt;/TD&gt;
&lt;TD&gt;24Jul18:23:59:59&lt;/TD&gt;
&lt;TD&gt;24Jul18:02:35:00&lt;/TD&gt;
&lt;TD&gt;24Jul18:08:42:00&lt;/TD&gt;
&lt;TD&gt;24Jul18:22:58:00&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1234&lt;/TD&gt;
&lt;TD&gt;25Jul18:00:00:00&lt;/TD&gt;
&lt;TD&gt;25Jul18:23:59:59&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;25Jul18:03:25:00&lt;/TD&gt;
&lt;TD&gt;25Jul18:08:18:00&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;</description>
    <pubDate>Mon, 30 Jul 2018 20:47:24 GMT</pubDate>
    <dc:creator>LB</dc:creator>
    <dc:date>2018-07-30T20:47:24Z</dc:date>
    <item>
      <title>Multi Dimension Arrays</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Multi-Dimension-Arrays/m-p/482609#M125034</link>
      <description>&lt;P&gt;Happy Monday All!&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So here is my questions that I hope can be solved with relative ease-&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have an array that works in that&amp;nbsp; it calculates if notetime{i} is between the Unit_startTime_Day &amp;amp;&amp;nbsp;&lt;SPAN&gt;Unit_EndTime_Day, tallies the sum of the entries that match and then keeps the notetimes that match the condition&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;But here is what I am trying to do-&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;In line2, I am trying to make it so that notetime4 becomes notetime1,&amp;nbsp;notetime5 becomes notetime2, etc etc as there can be up to x number of notes but it becomes difficult for users to scroll through when its note22-note1000&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;code below table-&amp;nbsp; I apologize in advance that there is no input table&amp;nbsp; but hopefully someone can point me to the way...&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Thanks in advance for your help.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;LB&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;data all_notes;&lt;BR /&gt;retain date time_days pt_hours total_notes;&lt;BR /&gt;merge unit_time note_times;&lt;BR /&gt;by PAT_ENC_CSN_ID;&lt;BR /&gt;&lt;BR /&gt;array notes (*) note:;&lt;BR /&gt;array notep {&amp;amp;notect};&lt;BR /&gt;array notetime {&amp;amp;notect};&lt;BR /&gt;do i=1 to dim(notes);&lt;BR /&gt;if start2&amp;lt;=notes(i)&amp;lt;=end_t then notep(i)=1; else notep(i)=0;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;if notep(i)=1 then notetime(i)=notes(i);else notetime(i)=.;&lt;BR /&gt;end;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;total_notes=sum(of notep1-notep&amp;amp;notect);&lt;BR /&gt;format notetime1-notetime&amp;amp;notect datetime19.;&lt;BR /&gt;drop _name_ _label_ note1-note&amp;amp;notect /*notep1-notep&amp;amp;notect* i*/ department_id DEPARTMENT_NAME tot_hrs;&lt;BR /&gt;rename start2=Unit_StartTime_Day END_T=Unit_EndTime_Day time_days=pt_days;&lt;BR /&gt;if department_id=. then delete;&lt;/P&gt;
&lt;P&gt;run;&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;
&lt;TABLE width="1229"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="121"&gt;pat_enc_csn_id&lt;/TD&gt;
&lt;TD width="151"&gt;Unit_StartTime_Day&lt;/TD&gt;
&lt;TD width="146"&gt;Unit_EndTime_Day&lt;/TD&gt;
&lt;TD width="131"&gt;notetime1&lt;/TD&gt;
&lt;TD width="131"&gt;notetime2&lt;/TD&gt;
&lt;TD width="131"&gt;notetime3&lt;/TD&gt;
&lt;TD width="131"&gt;notetime4&lt;/TD&gt;
&lt;TD width="131"&gt;notetime5&lt;/TD&gt;
&lt;TD width="78"&gt;notetime6&lt;/TD&gt;
&lt;TD width="78"&gt;notetime7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1234&lt;/TD&gt;
&lt;TD&gt;24Jul18:04:19:00&lt;/TD&gt;
&lt;TD&gt;24Jul18:23:59:59&lt;/TD&gt;
&lt;TD&gt;24Jul18:02:35:00&lt;/TD&gt;
&lt;TD&gt;24Jul18:08:42:00&lt;/TD&gt;
&lt;TD&gt;24Jul18:22:58:00&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1234&lt;/TD&gt;
&lt;TD&gt;25Jul18:00:00:00&lt;/TD&gt;
&lt;TD&gt;25Jul18:23:59:59&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;25Jul18:03:25:00&lt;/TD&gt;
&lt;TD&gt;25Jul18:08:18:00&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;TD&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;</description>
      <pubDate>Mon, 30 Jul 2018 20:47:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Multi-Dimension-Arrays/m-p/482609#M125034</guid>
      <dc:creator>LB</dc:creator>
      <dc:date>2018-07-30T20:47:24Z</dc:date>
    </item>
    <item>
      <title>Re: Multi Dimension Arrays</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Multi-Dimension-Arrays/m-p/482633#M125045</link>
      <description>&lt;P&gt;Not too sure I understand but this might to do what you want:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data HAVE;
 infile cards dlm='09'x dsd;
 input PAT_ENC_CSN_ID	(UNIT_STARTTIME_DAY	UNIT_ENDTIME_DAY	NOTETIME1	NOTETIME2	NOTETIME3	NOTETIME4	NOTETIME5	NOTETIME6	NOTETIME7) (: datetime16.);
 format                UNIT_STARTTIME_DAY	UNIT_ENDTIME_DAY	NOTETIME1	NOTETIME2	NOTETIME3	NOTETIME4	NOTETIME5	NOTETIME6	NOTETIME7 datetime.;
 cards;
1234	24Jul18:04:19:00	24Jul18:23:59:59	24Jul18:02:35:00	24Jul18:08:42:00	24Jul18:22:58:00	.	.	.	.
1234	25Jul18:00:00:00	25Jul18:23:59:59	.	.	.	25Jul18:03:25:00	25Jul18:08:18:00	.	.
run;
data WANT; 
set HAVE;
  array NOTES    [*] NOTETIME: ;
  array NOTEP    [7] ;
  array NOTETIME [7] NEW1-NEW7;
  format NEW: datetime.;
  POS=1;
  do I=1 to 7;
    if UNIT_STARTTIME_DAY &amp;lt;= NOTES[I] &amp;lt;= UNIT_ENDTIME_DAY then do;
      NOTEP[I]=1;
      NOTETIME[POS]=NOTES[I];
      POS+1; 
    end;
  end;
  TOTAL_NOTES=sum(of NOTEP1-NOTEP7);
run;
proc print noobs; 
  var PAT_ENC_CSN_ID NEW:; 
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="branch"&gt;
&lt;DIV&gt;
&lt;DIV align="center"&gt;
&lt;TABLE class="table" summary="Procedure Print: Data Set WORK.WANT" frame="box" rules="all" cellspacing="0" cellpadding="5"&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="r header" scope="col"&gt;PAT_ENC_CSN_ID&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;NEW1&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;NEW2&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;NEW3&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;NEW4&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;NEW5&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;NEW6&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;NEW7&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;1234&lt;/TD&gt;
&lt;TD class="r data"&gt;24JUL18:08:42:00&lt;/TD&gt;
&lt;TD class="r data"&gt;24JUL18:22:58:00&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;1234&lt;/TD&gt;
&lt;TD class="r data"&gt;25JUL18:03:25:00&lt;/TD&gt;
&lt;TD class="r data"&gt;25JUL18:08:18:00&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 30 Jul 2018 22:37:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Multi-Dimension-Arrays/m-p/482633#M125045</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2018-07-30T22:37:19Z</dc:date>
    </item>
    <item>
      <title>Re: Multi Dimension Arrays</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Multi-Dimension-Arrays/m-p/482643#M125051</link>
      <description>&lt;P&gt;perfect! Thanks!&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 30 Jul 2018 23:02:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Multi-Dimension-Arrays/m-p/482643#M125051</guid>
      <dc:creator>LB</dc:creator>
      <dc:date>2018-07-30T23:02:38Z</dc:date>
    </item>
  </channel>
</rss>

