<?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 Using a macro to generat daily population records - how do I increase the date each iteration? in New SAS User</title>
    <link>https://communities.sas.com/t5/New-SAS-User/Using-a-macro-to-generat-daily-population-records-how-do-I/m-p/550437#M8800</link>
    <description>&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;I wrote a program that reads in&amp;nbsp;data that looks like this:&lt;/FONT&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;&lt;STRONG&gt;ID&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;&lt;STRONG&gt;Type&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;&lt;STRONG&gt;Gender&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;&lt;STRONG&gt;Ethnicity&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;&lt;STRONG&gt;_start&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;&lt;STRONG&gt;_end&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;&lt;STRONG&gt;rank&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;1001549&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;P&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;Male&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;1&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;24-Mar-17&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;23-Mar-19&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;2&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;1001549&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;CS&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;Male&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;1&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;16-Mar-15&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;14-Jun-17&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;1&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;and analyzes that&amp;nbsp;data to create daily population data that will look like this:&lt;/FONT&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;&lt;STRONG&gt;rank&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;&lt;STRONG&gt;Gender&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;&lt;STRONG&gt;Ethnicity&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;&lt;STRONG&gt;Snapshot&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;&lt;STRONG&gt;Type&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;&lt;STRONG&gt;count&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;1&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;Male&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;0&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;1-Apr-17&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;CS&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;1&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;Rather than running that program 365 times, changing the date each time, I thought I could put it into a macro. But I can't figure out how to increase the date each iteration. Here's the program that I have written so far.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#0000ff"&gt;%let&lt;/FONT&gt; date = '01apr2017'd;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#008000" face="arial,helvetica,sans-serif" size="1"&gt;*read in the programs data and keep only the programs that were active on the snapshot date;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#008000" face="arial,helvetica,sans-serif" size="1"&gt;*sort by client id, then by the rank of their programs that were active on that day;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#000080"&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt;&lt;/FONT&gt; &lt;STRONG&gt;&lt;FONT color="#000080"&gt;sort&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff"&gt;data&lt;/FONT&gt;=Intakes1 &lt;FONT color="#0000ff"&gt;out&lt;/FONT&gt; = a;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#0000ff"&gt;where&lt;/FONT&gt; _start &amp;lt;= &amp;amp;date &amp;lt;= _end;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#0000ff"&gt;by&lt;/FONT&gt; id rank;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#000080"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#339966" face="arial,helvetica,sans-serif" size="1"&gt;*for each client, keep the program that is ranked highest on that date;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#000080"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt; b;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#0000ff"&gt;set&lt;/FONT&gt; a;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#0000ff"&gt;by&lt;/FONT&gt; id;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#0000ff"&gt;if&lt;/FONT&gt; first.id;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;snaphot = &amp;amp;date;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;count = &lt;STRONG&gt;&lt;FONT color="#008080"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#0000ff"&gt;format&lt;/FONT&gt; snapshot &lt;FONT color="#008080"&gt;date9.&lt;/FONT&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#000080"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#339966" face="arial,helvetica,sans-serif" size="1"&gt;*sort to prepare for proc summary;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#000080"&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt;&lt;/FONT&gt; &lt;STRONG&gt;&lt;FONT color="#000080"&gt;sort&lt;/FONT&gt;&lt;/STRONG&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#0000ff"&gt;by&lt;/FONT&gt; rank gender ethnicity;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#000080"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#339966" face="arial,helvetica,sans-serif" size="1"&gt;*aggregate the program records to get a total count of clients, categorized by their highest ranked program;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#000080"&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt;&lt;/FONT&gt; &lt;STRONG&gt;&lt;FONT color="#000080"&gt;summary&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff"&gt;nway&lt;/FONT&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#0000ff"&gt;class&lt;/FONT&gt; rank gender ethnicity;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#0000ff"&gt;var&lt;/FONT&gt; count;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#0000ff"&gt;id&lt;/FONT&gt; snapshot type;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#0000ff"&gt;output&lt;/FONT&gt; &lt;FONT color="#0000ff"&gt;out&lt;/FONT&gt;=c &lt;FONT color="#0000ff"&gt;sum&lt;/FONT&gt;=;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#000080"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#008000" size="1"&gt;*add the results of c to the daily dataset;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#008000" size="1"&gt;*the daily dataset will be used to create a fiscal year average of clients, analyzed by type of program/gender/ethnicity;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="1"&gt;&lt;FONT color="#000080"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt; daily (&lt;FONT color="#0000ff"&gt;drop&lt;/FONT&gt; = _type_ _freq_);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="1"&gt;&lt;FONT color="#0000ff"&gt;set&lt;/FONT&gt; daily c;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="1"&gt;&lt;FONT color="#000080"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#339966" face="arial,helvetica,sans-serif" size="1"&gt;*delete the work datasets and start again;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#000080"&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt;&lt;/FONT&gt; &lt;STRONG&gt;&lt;FONT color="#000080"&gt;datasets&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff"&gt;library&lt;/FONT&gt; = work &lt;FONT color="#0000ff"&gt;nolist&lt;/FONT&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#0000ff"&gt;delete&lt;/FONT&gt; a b c; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#000080"&gt;&lt;STRONG&gt;quit&lt;/STRONG&gt;&lt;/FONT&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#000080"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;I'd&amp;nbsp;like the macro to repeat for each day in the fiscal year.&amp;nbsp;&lt;/FONT&gt;I thought I could start with&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %macro repeat(n);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %do I=1 %to &amp;amp;n.;&lt;/P&gt;&lt;P&gt;and end with&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %mend repeat;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %repeat(365);&amp;nbsp;&amp;nbsp;&amp;nbsp;(although&amp;nbsp;would have to modify that during a leap year);&lt;/P&gt;&lt;P&gt;but I just can't&amp;nbsp;figure out&amp;nbsp;how to manage the date to increase it each time&amp;nbsp;and use it through all of those&amp;nbsp;proc and data steps.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks for any help that you can provide! I am using SAS 9.4.&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;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 11 Apr 2019 21:25:53 GMT</pubDate>
    <dc:creator>Kathy_JSG</dc:creator>
    <dc:date>2019-04-11T21:25:53Z</dc:date>
    <item>
      <title>Using a macro to generat daily population records - how do I increase the date each iteration?</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Using-a-macro-to-generat-daily-population-records-how-do-I/m-p/550437#M8800</link>
      <description>&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;I wrote a program that reads in&amp;nbsp;data that looks like this:&lt;/FONT&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;&lt;STRONG&gt;ID&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;&lt;STRONG&gt;Type&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;&lt;STRONG&gt;Gender&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;&lt;STRONG&gt;Ethnicity&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;&lt;STRONG&gt;_start&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;&lt;STRONG&gt;_end&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;&lt;STRONG&gt;rank&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;1001549&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;P&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;Male&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;1&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;24-Mar-17&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;23-Mar-19&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;2&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;1001549&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;CS&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;Male&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;1&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;16-Mar-15&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;14-Jun-17&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;1&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;and analyzes that&amp;nbsp;data to create daily population data that will look like this:&lt;/FONT&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;&lt;STRONG&gt;rank&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;&lt;STRONG&gt;Gender&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;&lt;STRONG&gt;Ethnicity&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;&lt;STRONG&gt;Snapshot&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;&lt;STRONG&gt;Type&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;&lt;STRONG&gt;count&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;1&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;Male&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;0&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;1-Apr-17&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;CS&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;1&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;Rather than running that program 365 times, changing the date each time, I thought I could put it into a macro. But I can't figure out how to increase the date each iteration. Here's the program that I have written so far.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#0000ff"&gt;%let&lt;/FONT&gt; date = '01apr2017'd;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#008000" face="arial,helvetica,sans-serif" size="1"&gt;*read in the programs data and keep only the programs that were active on the snapshot date;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#008000" face="arial,helvetica,sans-serif" size="1"&gt;*sort by client id, then by the rank of their programs that were active on that day;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#000080"&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt;&lt;/FONT&gt; &lt;STRONG&gt;&lt;FONT color="#000080"&gt;sort&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff"&gt;data&lt;/FONT&gt;=Intakes1 &lt;FONT color="#0000ff"&gt;out&lt;/FONT&gt; = a;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#0000ff"&gt;where&lt;/FONT&gt; _start &amp;lt;= &amp;amp;date &amp;lt;= _end;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#0000ff"&gt;by&lt;/FONT&gt; id rank;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#000080"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#339966" face="arial,helvetica,sans-serif" size="1"&gt;*for each client, keep the program that is ranked highest on that date;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#000080"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt; b;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#0000ff"&gt;set&lt;/FONT&gt; a;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#0000ff"&gt;by&lt;/FONT&gt; id;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#0000ff"&gt;if&lt;/FONT&gt; first.id;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;snaphot = &amp;amp;date;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;count = &lt;STRONG&gt;&lt;FONT color="#008080"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#0000ff"&gt;format&lt;/FONT&gt; snapshot &lt;FONT color="#008080"&gt;date9.&lt;/FONT&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#000080"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#339966" face="arial,helvetica,sans-serif" size="1"&gt;*sort to prepare for proc summary;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#000080"&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt;&lt;/FONT&gt; &lt;STRONG&gt;&lt;FONT color="#000080"&gt;sort&lt;/FONT&gt;&lt;/STRONG&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#0000ff"&gt;by&lt;/FONT&gt; rank gender ethnicity;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#000080"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#339966" face="arial,helvetica,sans-serif" size="1"&gt;*aggregate the program records to get a total count of clients, categorized by their highest ranked program;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#000080"&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt;&lt;/FONT&gt; &lt;STRONG&gt;&lt;FONT color="#000080"&gt;summary&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff"&gt;nway&lt;/FONT&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#0000ff"&gt;class&lt;/FONT&gt; rank gender ethnicity;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#0000ff"&gt;var&lt;/FONT&gt; count;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#0000ff"&gt;id&lt;/FONT&gt; snapshot type;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#0000ff"&gt;output&lt;/FONT&gt; &lt;FONT color="#0000ff"&gt;out&lt;/FONT&gt;=c &lt;FONT color="#0000ff"&gt;sum&lt;/FONT&gt;=;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#000080"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#008000" size="1"&gt;*add the results of c to the daily dataset;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#008000" size="1"&gt;*the daily dataset will be used to create a fiscal year average of clients, analyzed by type of program/gender/ethnicity;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="1"&gt;&lt;FONT color="#000080"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt; daily (&lt;FONT color="#0000ff"&gt;drop&lt;/FONT&gt; = _type_ _freq_);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="1"&gt;&lt;FONT color="#0000ff"&gt;set&lt;/FONT&gt; daily c;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="1"&gt;&lt;FONT color="#000080"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#339966" face="arial,helvetica,sans-serif" size="1"&gt;*delete the work datasets and start again;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#000080"&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt;&lt;/FONT&gt; &lt;STRONG&gt;&lt;FONT color="#000080"&gt;datasets&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff"&gt;library&lt;/FONT&gt; = work &lt;FONT color="#0000ff"&gt;nolist&lt;/FONT&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#0000ff"&gt;delete&lt;/FONT&gt; a b c; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#000080"&gt;&lt;STRONG&gt;quit&lt;/STRONG&gt;&lt;/FONT&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="1"&gt;&lt;FONT color="#000080"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;I'd&amp;nbsp;like the macro to repeat for each day in the fiscal year.&amp;nbsp;&lt;/FONT&gt;I thought I could start with&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %macro repeat(n);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %do I=1 %to &amp;amp;n.;&lt;/P&gt;&lt;P&gt;and end with&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %mend repeat;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %repeat(365);&amp;nbsp;&amp;nbsp;&amp;nbsp;(although&amp;nbsp;would have to modify that during a leap year);&lt;/P&gt;&lt;P&gt;but I just can't&amp;nbsp;figure out&amp;nbsp;how to manage the date to increase it each time&amp;nbsp;and use it through all of those&amp;nbsp;proc and data steps.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks for any help that you can provide! I am using SAS 9.4.&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;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 11 Apr 2019 21:25:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Using-a-macro-to-generat-daily-population-records-how-do-I/m-p/550437#M8800</guid>
      <dc:creator>Kathy_JSG</dc:creator>
      <dc:date>2019-04-11T21:25:53Z</dc:date>
    </item>
    <item>
      <title>Re: Using a macro to generat daily population records - how do I increase the date each iteration?</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Using-a-macro-to-generat-daily-population-records-how-do-I/m-p/550464#M8803</link>
      <description>I would suggest adding observations and eliminating macro language.  For example:&lt;BR /&gt;&lt;BR /&gt;data want;&lt;BR /&gt;set have;&lt;BR /&gt;do date=_start to _end;&lt;BR /&gt;  output;&lt;BR /&gt;end;&lt;BR /&gt;drop _start _end;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;Then you can add DATE to the list of BY variables and process the data just once.</description>
      <pubDate>Thu, 11 Apr 2019 23:13:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Using-a-macro-to-generat-daily-population-records-how-do-I/m-p/550464#M8803</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2019-04-11T23:13:11Z</dc:date>
    </item>
  </channel>
</rss>

