<?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: Sum of values based on a conditions between dates in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Sum-of-values-based-on-a-conditions-between-dates/m-p/940727#M369214</link>
    <description>&lt;P&gt;&amp;nbsp;And if you want us to test code against your data, post it in a working DATA step with DATALINES which creates the dataset.&lt;/P&gt;</description>
    <pubDate>Sat, 24 Aug 2024 14:39:53 GMT</pubDate>
    <dc:creator>Kurt_Bremser</dc:creator>
    <dc:date>2024-08-24T14:39:53Z</dc:date>
    <item>
      <title>Sum of values based on a conditions between dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sum-of-values-based-on-a-conditions-between-dates/m-p/940460#M369145</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I have a subset of dates and values of sales. For each data and for each point of sale, I need to sum the sales of the previous six months. The column Sellin is what I expect to have.&lt;/P&gt;&lt;P&gt;Example for the PV 9097947:&lt;/P&gt;&lt;P&gt;(dates are in Italian format)&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;PV&lt;/TD&gt;&lt;TD&gt;data&lt;/TD&gt;&lt;TD&gt;sale $&lt;/TD&gt;&lt;TD&gt;Sell-in&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9097947&lt;/TD&gt;&lt;TD&gt;18/01/2023&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8.400&lt;/TD&gt;&lt;TD&gt;\&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9097947&lt;/TD&gt;&lt;TD&gt;08/02/2023&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7.200&lt;/TD&gt;&lt;TD&gt;\&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9097947&lt;/TD&gt;&lt;TD&gt;24/02/2023&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6.750&lt;/TD&gt;&lt;TD&gt;\&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9097947&lt;/TD&gt;&lt;TD&gt;10/03/2023&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7.800&lt;/TD&gt;&lt;TD&gt;\&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9097947&lt;/TD&gt;&lt;TD&gt;29/03/2023&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.575&lt;/TD&gt;&lt;TD&gt;\&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9097947&lt;/TD&gt;&lt;TD&gt;19/04/2023&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.875&lt;/TD&gt;&lt;TD&gt;\&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9097947&lt;/TD&gt;&lt;TD&gt;08/05/2023&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.750&lt;/TD&gt;&lt;TD&gt;\&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9097947&lt;/TD&gt;&lt;TD&gt;22/05/2023&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 9.000&lt;/TD&gt;&lt;TD&gt;\&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9097947&lt;/TD&gt;&lt;TD&gt;08/06/2023&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.950&lt;/TD&gt;&lt;TD&gt;\&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9097947&lt;/TD&gt;&lt;TD&gt;28/06/2023&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 9.750&lt;/TD&gt;&lt;TD&gt;75300&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9097947&lt;/TD&gt;&lt;TD&gt;20/07/2023&lt;/TD&gt;&lt;TD&gt;10950&lt;/TD&gt;&lt;TD&gt;76650&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;What program can fit better what I need? I think a do loop but I don't know how to do it.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;</description>
      <pubDate>Thu, 22 Aug 2024 14:22:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sum-of-values-based-on-a-conditions-between-dates/m-p/940460#M369145</guid>
      <dc:creator>M_96</dc:creator>
      <dc:date>2024-08-22T14:22:02Z</dc:date>
    </item>
    <item>
      <title>Re: Sum of values based on a conditions between dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sum-of-values-based-on-a-conditions-between-dates/m-p/940464#M369146</link>
      <description>&lt;P&gt;Use a date-indexed array:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let start = %sysfunc(inputn(1900-01-01,yymmdd10.));
%let end = %sysfunc(inputn(2099-12-31,yymmdd10.));

data want;
set have;
by pv;
array s {&amp;amp;start.:&amp;amp;end.} _temporary_;
if first.pv
then do i = &amp;amp;start. to &amp;amp;end.;
  s{i} = 0;
end;
s{data} = s{data} + sales;
do i = intnx("month",data,-6,"s") to data;
  sales_sum6 = sum(sales_sum6,s{i});
end;
drop i;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Untested, posted from my tablet.&lt;/P&gt;</description>
      <pubDate>Thu, 22 Aug 2024 14:44:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sum-of-values-based-on-a-conditions-between-dates/m-p/940464#M369146</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2024-08-22T14:44:01Z</dc:date>
    </item>
    <item>
      <title>Re: Sum of values based on a conditions between dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sum-of-values-based-on-a-conditions-between-dates/m-p/940474#M369150</link>
      <description>&lt;P&gt;WOW, it works. I need two adjustments: the first one is that the sellin doesn't have to consider the sales of the day (so for example, for today it has to consider the sales from yesterday up to 6 months ago) - see the SALES_SUM6 of the last 3 rows of the table;&lt;/P&gt;&lt;P&gt;the other adjustment is that the variable SALES_SUM6 needS to be null if for a given date there isn't a history of at least 6 months (in our case all the dates up to 18AUG2023 need to have SALES_SUM6 null because&amp;nbsp;18AUG2023 - 180 days is 19FEB2024 and our data starts from 02MAR2023 and it is ok ) - see the first rows of the table.&lt;/P&gt;&lt;P&gt;See the table to understand the 2 adjustments:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;PV&lt;/TD&gt;&lt;TD&gt;DATE&lt;/TD&gt;&lt;TD&gt;SELLIN&lt;/TD&gt;&lt;TD&gt;6MONTHSAGO&lt;/TD&gt;&lt;TD&gt;SALES_SUM6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;02-mar-23&lt;/TD&gt;&lt;TD&gt;2250&lt;/TD&gt;&lt;TD&gt;03SEP2022&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;22-mar-23&lt;/TD&gt;&lt;TD&gt;2325&lt;/TD&gt;&lt;TD&gt;23SEP2022&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;06-apr-23&lt;/TD&gt;&lt;TD&gt;2475&lt;/TD&gt;&lt;TD&gt;08OCT2022&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;21-apr-23&lt;/TD&gt;&lt;TD&gt;2850&lt;/TD&gt;&lt;TD&gt;23OCT2022&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;05MAY2023&lt;/TD&gt;&lt;TD&gt;2475&lt;/TD&gt;&lt;TD&gt;06-nov-22&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;18MAY2023&lt;/TD&gt;&lt;TD&gt;2400&lt;/TD&gt;&lt;TD&gt;19-nov-22&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;01JUN2023&lt;/TD&gt;&lt;TD&gt;2475&lt;/TD&gt;&lt;TD&gt;03DEC2022&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;15JUN2023&lt;/TD&gt;&lt;TD&gt;2175&lt;/TD&gt;&lt;TD&gt;17DEC2022&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;30JUN2023&lt;/TD&gt;&lt;TD&gt;2250&lt;/TD&gt;&lt;TD&gt;01JAN2023&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;14JUL2023&lt;/TD&gt;&lt;TD&gt;2475&lt;/TD&gt;&lt;TD&gt;15JAN2023&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;28JUL2023&lt;/TD&gt;&lt;TD&gt;2100&lt;/TD&gt;&lt;TD&gt;29JAN2023&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;18AUG2023&lt;/TD&gt;&lt;TD&gt;1125&lt;/TD&gt;&lt;TD&gt;19-feb-23&lt;/TD&gt;&lt;TD&gt;26250&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;04SEP2023&lt;/TD&gt;&lt;TD&gt;2025&lt;/TD&gt;&lt;TD&gt;08-mar-23&lt;/TD&gt;&lt;TD&gt;25125&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;20SEP2023&lt;/TD&gt;&lt;TD&gt;2550&lt;/TD&gt;&lt;TD&gt;24-mar-23&lt;/TD&gt;&lt;TD&gt;24825&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I hope my explanation is clear and there is a solution ofr my requests. Thank you so much! I'm very grateful&lt;/P&gt;</description>
      <pubDate>Thu, 22 Aug 2024 15:17:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sum-of-values-based-on-a-conditions-between-dates/m-p/940474#M369150</guid>
      <dc:creator>M_96</dc:creator>
      <dc:date>2024-08-22T15:17:51Z</dc:date>
    </item>
    <item>
      <title>Re: Sum of values based on a conditions between dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sum-of-values-based-on-a-conditions-between-dates/m-p/940531#M369158</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
set have;
by pv;
array s {&amp;amp;start.:&amp;amp;end.} _temporary_;
if first.pv
then do i = &amp;amp;start. to &amp;amp;end.;
  s{i} = .;
end;
s{data} = sum(s{data},sales);
do i = intnx("month",data,-6,"s") to data - 1;
  sales_sum6 = sum(sales_sum6,s{i});
end;
drop i;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;If all array elements are missing, the SUM function will always return a missing value.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And if you want to look back 180 days instead of 6 months, replace the INTNX function call with&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data - 180&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Keep in mind that SAS dates are counts of days.&lt;/P&gt;</description>
      <pubDate>Thu, 22 Aug 2024 19:30:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sum-of-values-based-on-a-conditions-between-dates/m-p/940531#M369158</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2024-08-22T19:30:45Z</dc:date>
    </item>
    <item>
      <title>Re: Sum of values based on a conditions between dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sum-of-values-based-on-a-conditions-between-dates/m-p/940585#M369172</link>
      <description>&lt;P&gt;Great! Just one last question. What type of change I need in the code below if I want to calculate for each pv and for each date the mean of the days? It seems to work but the results are wrong.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data freq;&lt;BR /&gt;set dataset;&lt;BR /&gt;by pv;&lt;BR /&gt;array s {&amp;amp;start.:&amp;amp;end.} _temporary_;&lt;BR /&gt;if first.pv&lt;BR /&gt;then do i = &amp;amp;start. to &amp;amp;end.;&lt;BR /&gt;s{i} = .;&lt;BR /&gt;end;&lt;BR /&gt;s{data} = mean(s{data},days);&lt;BR /&gt;do i = intnx("day",data,-180,"s") to data - 1;&lt;BR /&gt;freq = mean(days,s{i});&lt;BR /&gt;end;&lt;BR /&gt;format i date9.;&lt;BR /&gt;*drop i;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here the sample of data (here mean_days is not correct):&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;pv&lt;/TD&gt;&lt;TD&gt;date&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;days&lt;/TD&gt;&lt;TD&gt;mean_days&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;02-mar-23&lt;/TD&gt;&lt;TD&gt;03SEP2022&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;22-mar-23&lt;/TD&gt;&lt;TD&gt;23SEP2022&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;06-apr-23&lt;/TD&gt;&lt;TD&gt;08OCT2022&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;7.5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;21-apr-23&lt;/TD&gt;&lt;TD&gt;23OCT2022&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;7.5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;05MAY2023&lt;/TD&gt;&lt;TD&gt;06-nov-22&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;18MAY2023&lt;/TD&gt;&lt;TD&gt;19-nov-22&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;6.5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;01JUN2023&lt;/TD&gt;&lt;TD&gt;03DEC2022&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;15JUN2023&lt;/TD&gt;&lt;TD&gt;17DEC2022&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;30JUN2023&lt;/TD&gt;&lt;TD&gt;01JAN2023&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;7.5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;14JUL2023&lt;/TD&gt;&lt;TD&gt;15JAN2023&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;28JUL2023&lt;/TD&gt;&lt;TD&gt;29JAN2023&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;18AUG2023&lt;/TD&gt;&lt;TD&gt;19-feb-23&lt;/TD&gt;&lt;TD&gt;21&lt;/TD&gt;&lt;TD&gt;10.5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;04SEP2023&lt;/TD&gt;&lt;TD&gt;08-mar-23&lt;/TD&gt;&lt;TD&gt;17&lt;/TD&gt;&lt;TD&gt;8.5&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance.&lt;/P&gt;</description>
      <pubDate>Fri, 23 Aug 2024 10:15:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sum-of-values-based-on-a-conditions-between-dates/m-p/940585#M369172</guid>
      <dc:creator>M_96</dc:creator>
      <dc:date>2024-08-23T10:15:14Z</dc:date>
    </item>
    <item>
      <title>Re: Sum of values based on a conditions between dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sum-of-values-based-on-a-conditions-between-dates/m-p/940587#M369173</link>
      <description>&lt;P&gt;Please define in plain language what you mean by "mean of days".&lt;/P&gt;</description>
      <pubDate>Fri, 23 Aug 2024 11:24:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sum-of-values-based-on-a-conditions-between-dates/m-p/940587#M369173</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2024-08-23T11:24:06Z</dc:date>
    </item>
    <item>
      <title>Re: Sum of values based on a conditions between dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sum-of-values-based-on-a-conditions-between-dates/m-p/940591#M369175</link>
      <description>&lt;P&gt;"Days" are the days between each date of sale and the previous one. I need to understand the average number of days that pass between one sale and another for the PV, still considering the last six months for each date of sale.&lt;/P&gt;&lt;P&gt;Here what I expect to have:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;pv&lt;/TD&gt;&lt;TD&gt;date&lt;/TD&gt;&lt;TD&gt;date - 180 days&lt;/TD&gt;&lt;TD&gt;days&lt;/TD&gt;&lt;TD&gt;mean_days WRONG&lt;/TD&gt;&lt;TD&gt;mean days CORRECT&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;02-mar-23&lt;/TD&gt;&lt;TD&gt;03-set-22&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;22-mar-23&lt;/TD&gt;&lt;TD&gt;23-set-22&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;06-apr-23&lt;/TD&gt;&lt;TD&gt;08-ott-22&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;7.5&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;21-apr-23&lt;/TD&gt;&lt;TD&gt;23-ott-22&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;7.5&lt;/TD&gt;&lt;TD&gt;11,66666667&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;05-mag-23&lt;/TD&gt;&lt;TD&gt;06-nov-22&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;12,5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;18-mag-23&lt;/TD&gt;&lt;TD&gt;19-nov-22&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;6.5&lt;/TD&gt;&lt;TD&gt;12,8&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;01-giu-23&lt;/TD&gt;&lt;TD&gt;03-dic-22&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;12,83333333&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;15-giu-23&lt;/TD&gt;&lt;TD&gt;17-dic-22&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;30-giu-23&lt;/TD&gt;&lt;TD&gt;01-gen-23&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;7.5&lt;/TD&gt;&lt;TD&gt;13,125&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;14-lug-23&lt;/TD&gt;&lt;TD&gt;15-gen-23&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;13,33333333&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;28-lug-23&lt;/TD&gt;&lt;TD&gt;29-gen-23&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;13,4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;18-ago-23&lt;/TD&gt;&lt;TD&gt;19-feb-23&lt;/TD&gt;&lt;TD&gt;21&lt;/TD&gt;&lt;TD&gt;10.5&lt;/TD&gt;&lt;TD&gt;13,45454545&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;04-set-23&lt;/TD&gt;&lt;TD&gt;08-mar-23&lt;/TD&gt;&lt;TD&gt;17&lt;/TD&gt;&lt;TD&gt;8.5&lt;/TD&gt;&lt;TD&gt;15,36363636&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2011164&lt;/TD&gt;&lt;TD&gt;20-set-23&lt;/TD&gt;&lt;TD&gt;24-mar-23&lt;/TD&gt;&lt;TD&gt;16&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;15,09090909&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 23 Aug 2024 11:44:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sum-of-values-based-on-a-conditions-between-dates/m-p/940591#M369175</guid>
      <dc:creator>M_96</dc:creator>
      <dc:date>2024-08-23T11:44:53Z</dc:date>
    </item>
    <item>
      <title>Re: Sum of values based on a conditions between dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sum-of-values-based-on-a-conditions-between-dates/m-p/940723#M369213</link>
      <description>&lt;P&gt;I don't get your formula. In observation 3, you would have 2 intervals of 20 and 15 days, giving a mean of (20 + 15) / 2 = 17.5.&lt;/P&gt;
&lt;P&gt;You need to create a second array for the intervals:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
set have;
by pv;
array s {&amp;amp;start.:&amp;amp;end.} _temporary_;
array i {&amp;amp;start.:&amp;amp;end.} _temporary_;
_l = dif(data);
if first.pv
then do _i = &amp;amp;start. to &amp;amp;end.;
  s{_i} = .;
  i{_i} = .;
end;
else i{data} = _l;
s{data} = sum(s{data},sales);
_c = 0;
_i_sum = 0;
do _i = data - 180 to data - 1;
  sales_sum6 = sum(sales_sum6,s{_i});
  if i{_i} ne .
  then do;
    _c = _c + 1;
    _i_sum = _i_sum + i{_i};
    mean_days = _i_sum / _c;
end;
drop _i _l _c _i_sum;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 24 Aug 2024 14:14:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sum-of-values-based-on-a-conditions-between-dates/m-p/940723#M369213</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2024-08-24T14:14:36Z</dc:date>
    </item>
    <item>
      <title>Re: Sum of values based on a conditions between dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sum-of-values-based-on-a-conditions-between-dates/m-p/940727#M369214</link>
      <description>&lt;P&gt;&amp;nbsp;And if you want us to test code against your data, post it in a working DATA step with DATALINES which creates the dataset.&lt;/P&gt;</description>
      <pubDate>Sat, 24 Aug 2024 14:39:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sum-of-values-based-on-a-conditions-between-dates/m-p/940727#M369214</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2024-08-24T14:39:53Z</dc:date>
    </item>
  </channel>
</rss>

