BEGIN:VCALENDAR
CALSCALE:GREGORIAN
VERSION:2.0
PRODID:-//Events Calendar//iCal4j 1.0//EN
BEGIN:VTIMEZONE
TZID:America/New_York
LAST-MODIFIED:20260306T231828Z
TZURL:https://www.tzurl.org/zoneinfo/America/New_York
X-LIC-LOCATION:America/New_York
X-PROLEPTIC-TZNAME:LMT
BEGIN:STANDARD
TZNAME:EST
TZOFFSETFROM:-045602
TZOFFSETTO:-0500
DTSTART:18831118T120358
END:STANDARD
BEGIN:DAYLIGHT
TZNAME:EDT
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
DTSTART:19180331T020000
RRULE:FREQ=YEARLY;UNTIL=19200328T070000Z;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZNAME:EST
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
DTSTART:19181027T020000
RRULE:FREQ=YEARLY;UNTIL=19201031T060000Z;BYMONTH=10;BYDAY=-1SU
END:STANDARD
BEGIN:DAYLIGHT
TZNAME:EDT
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
DTSTART:19210424T020000
RRULE:FREQ=YEARLY;UNTIL=19410427T070000Z;BYMONTH=4;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZNAME:EST
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
DTSTART:19210925T020000
RRULE:FREQ=YEARLY;UNTIL=19410928T060000Z;BYMONTH=9;BYDAY=-1SU
END:STANDARD
BEGIN:DAYLIGHT
TZNAME:EWT
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
DTSTART:19420209T020000
END:DAYLIGHT
BEGIN:DAYLIGHT
TZNAME:EPT
TZOFFSETFROM:-0400
TZOFFSETTO:-0400
DTSTART:19450814T190000
END:DAYLIGHT
BEGIN:STANDARD
TZNAME:EST
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
DTSTART:19450930T020000
END:STANDARD
BEGIN:DAYLIGHT
TZNAME:EDT
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
DTSTART:19460428T020000
RRULE:FREQ=YEARLY;UNTIL=19730429T070000Z;BYMONTH=4;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZNAME:EST
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
DTSTART:19460929T020000
RRULE:FREQ=YEARLY;UNTIL=19540926T060000Z;BYMONTH=9;BYDAY=-1SU
END:STANDARD
BEGIN:STANDARD
TZNAME:EST
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
DTSTART:19551030T020000
RRULE:FREQ=YEARLY;UNTIL=20061029T060000Z;BYMONTH=10;BYDAY=-1SU
END:STANDARD
BEGIN:DAYLIGHT
TZNAME:EDT
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
DTSTART:19740106T020000
RDATE:19750223T020000
END:DAYLIGHT
BEGIN:DAYLIGHT
TZNAME:EDT
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
DTSTART:19760425T020000
RRULE:FREQ=YEARLY;UNTIL=19860427T070000Z;BYMONTH=4;BYDAY=-1SU
END:DAYLIGHT
BEGIN:DAYLIGHT
TZNAME:EDT
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
DTSTART:19870405T020000
RRULE:FREQ=YEARLY;UNTIL=20060402T070000Z;BYMONTH=4;BYDAY=1SU
END:DAYLIGHT
BEGIN:DAYLIGHT
TZNAME:EDT
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
DTSTART:20070311T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
END:DAYLIGHT
BEGIN:STANDARD
TZNAME:EST
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
DTSTART:20071104T020000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTSTAMP:20260419T050231Z
DTSTART;TZID=America/New_York:20240508T120000
DTEND;TZID=America/New_York:20240508T130000
SUMMARY:BASUG: History Carried Forward\, Future Carried Back: Mixing Time S
 eries of Differing Frequencies
LAST-MODIFIED:20260419T050231Z
LOCATION:https://us02web.zoom.us/webinar/register/WN_7fc44Ny9TUuzsxwCAwOLfQ
 #/registration
TZID:America/New_York
UID:message-600
DESCRIPTION:Click the link below to go to the event page:\nhttps://communit
 ies.sas.com/t5/Upcoming-Events/BASUG-History-Carried-Forward-Future-Carrie
 d-Back-Mixing-Time/ec-p/925566#M600\n\nMany programming tasks require merg
 ing time series of varying frequency. For instance you might have three da
 tasets (YEAR\, QTR\, and MONTH) of data\, each with eponymous frequency an
 d sorted by common id and date variables. Producing a monthly file with th
 e most recent quarterly and yearly data is a hierarchical last-observation
 -carried-forward (LOCF) task. Or you may have three irregular times series
  (ADMISSIONS\, SERVICES\, TESTRESULTS)\, in which you want to capture the 
 latest data from each source at every date encountered (event-based LOCF).
  These are tasks often left poorly optimized by most SQL-based languages\,
  in which row order is ignored in the interests of optimizing table manipu
 lation.    This presentation shows how to use conditional SET statements i
 n the SAS® DATA step to update specific portions of the program data vecto
 r (i.e. the YEAR variables or the QTR variables) to carry forward low freq
 uency data to multiple subsequent high frequency records. A similar approa
 ch works just as well for carrying forward data from irregular time series
 . We’ll also show how to use “sentinel variables” as a means of controllin
 g the maximum time-span data is carried forward\, i.e. how to remove histo
 rical data that has become “stale.” Finally\, we will demonstrate how to m
 odify these techniques to carry future observations backward\, without re-
 sorting data.   Presented by Mark Keintz Mark Keintz has been using SAS® s
 ince it was documented in one book. His interests are largely in developme
 nt of applications for financial research and education\, addressed in sev
 eral presentations at SAS Global Forums and various regional SAS user grou
 ps. Mark's primary SAS expertise is in DATA step programming\, hash progra
 mming techniques\, efficient use of large data sets\, and macro programmin
 g.   REGISTER for this virtual event today.
X-ALT-DESC;FMTTYPE=text/html:<P>Click the link below to go to the event pag
 e:</P><BR><A href="https://communities.sas.com/t5/Upcoming-Events/BASUG-Hi
 story-Carried-Forward-Future-Carried-Back-Mixing-Time/ec-p/925566#M600">ht
 tps://communities.sas.com/t5/Upcoming-Events/BASUG-History-Carried-Forward
 -Future-Carried-Back-Mixing-Time/ec-p/925566#M600</A><BR><BR><P><SPAN>Many
  programming tasks require merging time series of varying frequency. For i
 nstance you might have three datasets (YEAR\, QTR\, and MONTH) of data\, e
 ach with eponymous frequency and sorted by common id and date variables. P
 roducing a monthly file with the most recent quarterly and yearly data is 
 a hierarchical last-observation-carried-forward (LOCF) task. Or you may ha
 ve three irregular times series (ADMISSIONS\, SERVICES\, TESTRESULTS)\, in
  which you want to capture the latest data from each source at every date 
 encountered (event-based LOCF). These are tasks often left poorly optimize
 d by most SQL-based languages\, in which row order is ignored in the inter
 ests of optimizing table manipulation. </SPAN></P>\n<P>&nbsp\;</P>\n<P><SP
 AN>This presentation shows how to use conditional SET statements in the SA
 S® DATA step to update specific portions of the program data vector (i.e. 
 the YEAR variables or the QTR variables) to carry forward low frequency da
 ta to multiple subsequent high frequency records. A similar approach works
  just as well for carrying forward data from irregular time series. We’ll 
 also show how to use “sentinel variables” as a means of controlling the ma
 ximum time-span data is carried forward\, i.e. how to remove historical da
 ta that has become “stale.” Finally\, we will demonstrate how to modify th
 ese techniques to carry future observations backward\, without re-sorting 
 data.</SPAN></P>\n<P>&nbsp\;</P>\n<P><STRONG>Presented by&nbsp\;Mark Keint
 z</STRONG></P>\n<P class="email" data-v-2041fe12=""><SPAN>Mark Keintz has 
 been using SAS® since it was documented in one book.&nbsp\;His interests a
 re largely in development of applications for financial research and educa
 tion\, addressed in several presentations at SAS Global Forums and various
  regional SAS user groups.&nbsp\;Mark's primary SAS expertise is in DATA s
 tep programming\, hash programming techniques\, efficient use of large dat
 a sets\, and macro programming.</SPAN></P>\n<P class="email" data-v-2041fe
 12="">&nbsp\;</P>\n<P class="email" data-v-2041fe12=""><SPAN><A href="http
 s://us02web.zoom.us/webinar/register/WN_7fc44Ny9TUuzsxwCAwOLfQ#/registrati
 on" target="_self" rel="nofollow noopener noreferrer"><STRONG>REGISTER</ST
 RONG> </A>for this virtual event today.</SPAN></P>
END:VEVENT
END:VCALENDAR
