<?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 do cycle grouping? in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-do-cycle-grouping/m-p/463385#M284983</link>
    <description>&lt;P&gt;Fairly straight forward if you understand the data:&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/*set up grouping variable temp*/

data temp;
set have;
by item notsorted;
retain temp;
if first.item then call missing(temp);
if not missing(delivery_date) then temp=date;
format temp date9.;
run;

/*sum group by item, temp*/
proc sql;
create table want(drop=temp) as
select *,(date=min(date))*sum(demand) as cycle_demand
from temp
group by item, temp
order by item,date;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Fri, 18 May 2018 16:07:04 GMT</pubDate>
    <dc:creator>novinosrin</dc:creator>
    <dc:date>2018-05-18T16:07:04Z</dc:date>
    <item>
      <title>How to do cycle grouping?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-do-cycle-grouping/m-p/463318#M284980</link>
      <description>&lt;P&gt;I am trying to write a code that would calculate the &lt;STRONG&gt;Cycle_Demand &lt;/STRONG&gt;(Sum of demand for each item_id&amp;nbsp;between the delivery_day and the day before the next delivery_day). Can you please provide any ideas on how to address in SAS? Thank you for your expertise and insight.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;Item&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;Day_of_Week&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;Delivery_Date&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;Date&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;Demand&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;Cycle_Demand&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;xds1&lt;/TD&gt;&lt;TD&gt;Monday&lt;/TD&gt;&lt;TD&gt;Monday&lt;/TD&gt;&lt;TD&gt;5/14/2018&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;22&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;xds1&lt;/TD&gt;&lt;TD&gt;Tuesday&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;5/15/2018&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;xds1&lt;/TD&gt;&lt;TD&gt;Wednesday&lt;/TD&gt;&lt;TD&gt;Wednesday&lt;/TD&gt;&lt;TD&gt;5/16/2018&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;14&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;xds1&lt;/TD&gt;&lt;TD&gt;Thursday&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;5/17/2018&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;xds1&lt;/TD&gt;&lt;TD&gt;Friday&lt;/TD&gt;&lt;TD&gt;Friday&lt;/TD&gt;&lt;TD&gt;5/18/2018&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;33&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;xds1&lt;/TD&gt;&lt;TD&gt;Saturday&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;5/19/2018&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;xds1&lt;/TD&gt;&lt;TD&gt;Sunday&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;5/20/2018&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;xds1&lt;/TD&gt;&lt;TD&gt;Monday&lt;/TD&gt;&lt;TD&gt;Mon&lt;/TD&gt;&lt;TD&gt;5/21/2018&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;16&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;xds1&lt;/TD&gt;&lt;TD&gt;Tuesday&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;5/22/2018&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;xds1&lt;/TD&gt;&lt;TD&gt;Wednesday&lt;/TD&gt;&lt;TD&gt;Wed&lt;/TD&gt;&lt;TD&gt;5/23/2018&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;14&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;xds1&lt;/TD&gt;&lt;TD&gt;Thursday&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;5/24/2018&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;xds1&lt;/TD&gt;&lt;TD&gt;Friday&lt;/TD&gt;&lt;TD&gt;Fri&lt;/TD&gt;&lt;TD&gt;5/25/2018&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;38&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;xds1&lt;/TD&gt;&lt;TD&gt;Saturday&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;5/26/2018&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;xds1&lt;/TD&gt;&lt;TD&gt;Sunday&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;5/27/2018&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;xds1&lt;/TD&gt;&lt;TD&gt;Monday&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;5/28/2018&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ses2&lt;/TD&gt;&lt;TD&gt;Tuesday&lt;/TD&gt;&lt;TD&gt;Tue&lt;/TD&gt;&lt;TD&gt;5/15/2018&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;24&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ses2&lt;/TD&gt;&lt;TD&gt;Wednesday&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;5/16/2018&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ses2&lt;/TD&gt;&lt;TD&gt;Thursday&lt;/TD&gt;&lt;TD&gt;Thu&lt;/TD&gt;&lt;TD&gt;5/17/2018&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;41&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ses2&lt;/TD&gt;&lt;TD&gt;Friday&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;5/18/2018&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ses2&lt;/TD&gt;&lt;TD&gt;Saturday&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;5/19/2018&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ses2&lt;/TD&gt;&lt;TD&gt;Sunday&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;5/20/2018&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ses2&lt;/TD&gt;&lt;TD&gt;Monday&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;5/21/2018&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ses2&lt;/TD&gt;&lt;TD&gt;Tuesday&lt;/TD&gt;&lt;TD&gt;Tue&lt;/TD&gt;&lt;TD&gt;5/22/2018&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;15&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ses2&lt;/TD&gt;&lt;TD&gt;Wednesday&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;5/23/2018&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ses2&lt;/TD&gt;&lt;TD&gt;Thursday&lt;/TD&gt;&lt;TD&gt;Thu&lt;/TD&gt;&lt;TD&gt;5/24/2018&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;44&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ses2&lt;/TD&gt;&lt;TD&gt;Friday&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;5/25/2018&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ses2&lt;/TD&gt;&lt;TD&gt;Saturday&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;5/26/2018&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ses2&lt;/TD&gt;&lt;TD&gt;Sunday&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;5/27/2018&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ses2&lt;/TD&gt;&lt;TD&gt;Monday&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;5/28/2018&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Fri, 18 May 2018 13:24:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-do-cycle-grouping/m-p/463318#M284980</guid>
      <dc:creator>zechliv</dc:creator>
      <dc:date>2018-05-18T13:24:42Z</dc:date>
    </item>
    <item>
      <title>Re: How to do cycle grouping?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-do-cycle-grouping/m-p/463353#M284981</link>
      <description>&lt;P&gt;For each delivery date, find the next highest date and then find all records from the first date but less than the next date.&amp;nbsp; Sum the amounts.&lt;/P&gt;</description>
      <pubDate>Fri, 18 May 2018 14:27:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-do-cycle-grouping/m-p/463353#M284981</guid>
      <dc:creator>tomrvincent</dc:creator>
      <dc:date>2018-05-18T14:27:51Z</dc:date>
    </item>
    <item>
      <title>Re: How to do cycle grouping?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-do-cycle-grouping/m-p/463361#M284982</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/163217"&gt;@zechliv&lt;/a&gt;&amp;nbsp;if you can provide sample data as a data step someone can help with the code.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here are the instructions on providing data as a data step:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://communities.sas.com/t5/SAS-Communities-Library/How-to-create-a-data-step-version-of-your-data-AKA-generate/ta-p/258712" target="_blank"&gt;https://communities.sas.com/t5/SAS-Communities-Library/How-to-create-a-data-step-version-of-your-data-AKA-generate/ta-p/258712&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 18 May 2018 14:53:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-do-cycle-grouping/m-p/463361#M284982</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2018-05-18T14:53:32Z</dc:date>
    </item>
    <item>
      <title>Re: How to do cycle grouping?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-do-cycle-grouping/m-p/463385#M284983</link>
      <description>&lt;P&gt;Fairly straight forward if you understand the data:&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/*set up grouping variable temp*/

data temp;
set have;
by item notsorted;
retain temp;
if first.item then call missing(temp);
if not missing(delivery_date) then temp=date;
format temp date9.;
run;

/*sum group by item, temp*/
proc sql;
create table want(drop=temp) as
select *,(date=min(date))*sum(demand) as cycle_demand
from temp
group by item, temp
order by item,date;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 18 May 2018 16:07:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-do-cycle-grouping/m-p/463385#M284983</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-05-18T16:07:04Z</dc:date>
    </item>
    <item>
      <title>Re: How to do cycle grouping?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-do-cycle-grouping/m-p/463521#M284984</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile cards expandtabs;
input (Item	Day_of_Week	Delivery_Date	date) (: $20.) Demand;
cards;
xds1	Monday	Monday	5/14/2018	12	22
xds1	Tuesday	 .	5/15/2018	10	 
xds1	Wednesday	Wednesday	5/16/2018	14	14
xds1	Thursday	. 	5/17/2018	0	 
xds1	Friday	Friday	5/18/2018	15	33
xds1	Saturday	. 	5/19/2018	9	
;
run;

data temp;
 set have;
 by item;
 if first.item or not missing (Delivery_Date) then group+1;
run;
data want;
sum=0;
 do until(last.group);
  set temp;
  by group;
  sum+Demand;
 end;
 do until(last.group);
  set temp;
  by group;
  if first.group then Cycle_Demand=sum;
   else Cycle_Demand=.;
  output;
 end;
 drop sum group;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 19 May 2018 13:22:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-do-cycle-grouping/m-p/463521#M284984</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2018-05-19T13:22:33Z</dc:date>
    </item>
    <item>
      <title>Re: How to do cycle grouping?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-do-cycle-grouping/m-p/463865#M284985</link>
      <description>&lt;P&gt;I appreciate your taking the time to help me with getting the data into a dataset and providing a solution code. I am actually adapting your code the to the rest of my population.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;</description>
      <pubDate>Mon, 21 May 2018 19:44:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-do-cycle-grouping/m-p/463865#M284985</guid>
      <dc:creator>zechliv</dc:creator>
      <dc:date>2018-05-21T19:44:20Z</dc:date>
    </item>
  </channel>
</rss>

