<?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 create a function  in a data step using a dataset in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/how-to-create-a-function-in-a-data-step-using-a-dataset/m-p/549816#M152614</link>
    <description>&lt;P&gt;The output dataset should be something like below&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;id1&lt;/TD&gt;&lt;TD&gt;open_date&lt;/TD&gt;&lt;TD&gt;amt_d1&lt;/TD&gt;&lt;TD&gt;amt_d2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123567&lt;/TD&gt;&lt;TD&gt;01-Apr-09&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123567&lt;/TD&gt;&lt;TD&gt;10-Apr-09&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123567&lt;/TD&gt;&lt;TD&gt;01-May-09&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123567&lt;/TD&gt;&lt;TD&gt;01-Jun-10&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123567&lt;/TD&gt;&lt;TD&gt;01-Jul-10&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123567&lt;/TD&gt;&lt;TD&gt;01-Sep-10&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123567&lt;/TD&gt;&lt;TD&gt;01-Oct-10&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123567&lt;/TD&gt;&lt;TD&gt;03-Dec-12&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123568&lt;/TD&gt;&lt;TD&gt;02-Sep-11&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123568&lt;/TD&gt;&lt;TD&gt;02-Apr-09&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123568&lt;/TD&gt;&lt;TD&gt;12-Apr-09&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123568&lt;/TD&gt;&lt;TD&gt;11-May-09&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;so amt is the last amt prior to each date as you loop through the dates in between d1 and d2&lt;/P&gt;&lt;P&gt;so if we loop through open date in d1 then the dtes will be like 01-apr,02-apr,03-apr,04-apr,05-apr,06-apr and so on and these dates we need to compare with the open date from d2 so if the date say 01apr2009 from d1 falls between the dates 02ma2009 till 11apr2009 then return the amt at 02mar2009,if its not falling between those dates then check the next two dates (make sure the open dte in d2 is sorted in ascending order)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 09 Apr 2019 22:24:34 GMT</pubDate>
    <dc:creator>MV04</dc:creator>
    <dc:date>2019-04-09T22:24:34Z</dc:date>
    <item>
      <title>how to create a function  in a data step using a dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-create-a-function-in-a-data-step-using-a-dataset/m-p/549778#M152602</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I have got two datasets as D1 and D2&lt;/P&gt;&lt;P&gt;D1&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;id2&lt;/TD&gt;&lt;TD&gt;id1&lt;/TD&gt;&lt;TD&gt;open_date&lt;/TD&gt;&lt;TD&gt;amt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;122234&lt;/TD&gt;&lt;TD&gt;123567&lt;/TD&gt;&lt;TD&gt;01-Apr-09&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;122234&lt;/TD&gt;&lt;TD&gt;123567&lt;/TD&gt;&lt;TD&gt;10-Apr-09&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;122234&lt;/TD&gt;&lt;TD&gt;123567&lt;/TD&gt;&lt;TD&gt;01-May-09&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;122234&lt;/TD&gt;&lt;TD&gt;123567&lt;/TD&gt;&lt;TD&gt;01-Jun-10&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;122234&lt;/TD&gt;&lt;TD&gt;123567&lt;/TD&gt;&lt;TD&gt;01-Jul-10&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;122234&lt;/TD&gt;&lt;TD&gt;123567&lt;/TD&gt;&lt;TD&gt;01-Sep-10&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;122234&lt;/TD&gt;&lt;TD&gt;123567&lt;/TD&gt;&lt;TD&gt;01-Oct-10&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;122234&lt;/TD&gt;&lt;TD&gt;123567&lt;/TD&gt;&lt;TD&gt;03-Dec-12&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;134221&lt;/TD&gt;&lt;TD&gt;123568&lt;/TD&gt;&lt;TD&gt;02-Sep-11&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;134222&lt;/TD&gt;&lt;TD&gt;123568&lt;/TD&gt;&lt;TD&gt;02-Apr-09&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;134222&lt;/TD&gt;&lt;TD&gt;123568&lt;/TD&gt;&lt;TD&gt;12-Apr-09&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;134222&lt;/TD&gt;&lt;TD&gt;123568&lt;/TD&gt;&lt;TD&gt;11-May-09&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;134222&lt;/TD&gt;&lt;TD&gt;123568&lt;/TD&gt;&lt;TD&gt;12-Jun-10&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;134222&lt;/TD&gt;&lt;TD&gt;123568&lt;/TD&gt;&lt;TD&gt;02-Jul-10&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;D2&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;id2&lt;/TD&gt;&lt;TD&gt;open_date&lt;/TD&gt;&lt;TD&gt;amt&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;122234&lt;/TD&gt;&lt;TD&gt;02-Mar-09&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;122234&lt;/TD&gt;&lt;TD&gt;11-Apr-09&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;122234&lt;/TD&gt;&lt;TD&gt;02-May-09&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;122234&lt;/TD&gt;&lt;TD&gt;05-Jun-09&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;122234&lt;/TD&gt;&lt;TD&gt;02-Jul-10&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;122234&lt;/TD&gt;&lt;TD&gt;05-Sep-10&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;122234&lt;/TD&gt;&lt;TD&gt;04-Nov-10&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;134221&lt;/TD&gt;&lt;TD&gt;11-Sep-11&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;134222&lt;/TD&gt;&lt;TD&gt;10-May-09&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;134222&lt;/TD&gt;&lt;TD&gt;25-May-09&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;134222&lt;/TD&gt;&lt;TD&gt;26-May-09&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;134222&lt;/TD&gt;&lt;TD&gt;28-May-09&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Now the task is :&lt;/P&gt;&lt;P&gt;I need to take all those amounts from D2 where any date&amp;nbsp; per account from d1 &amp;gt; (all dates&amp;nbsp; from d2) The two datasets can be linked on D2.&lt;/P&gt;&lt;P&gt;all I am trying to create a macro which will compare the d1 and d2 on acc numbers and check the dates from d1 into d2 and whereever date from d1 is greater than d2 get the amount of the prior date&lt;/P&gt;</description>
      <pubDate>Tue, 09 Apr 2019 19:21:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-create-a-function-in-a-data-step-using-a-dataset/m-p/549778#M152602</guid>
      <dc:creator>MV04</dc:creator>
      <dc:date>2019-04-09T19:21:25Z</dc:date>
    </item>
    <item>
      <title>Re: how to create a function  in a data step using a dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-create-a-function-in-a-data-step-using-a-dataset/m-p/549785#M152606</link>
      <description>&lt;P&gt;This is not a job for a macro.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The solution can be done via merging the two data sets in a data step.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;But before we provide a solution, show us the output data set you want from this.&lt;/P&gt;</description>
      <pubDate>Tue, 09 Apr 2019 19:48:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-create-a-function-in-a-data-step-using-a-dataset/m-p/549785#M152606</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2019-04-09T19:48:09Z</dc:date>
    </item>
    <item>
      <title>Re: how to create a function  in a data step using a dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/how-to-create-a-function-in-a-data-step-using-a-dataset/m-p/549816#M152614</link>
      <description>&lt;P&gt;The output dataset should be something like below&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;id1&lt;/TD&gt;&lt;TD&gt;open_date&lt;/TD&gt;&lt;TD&gt;amt_d1&lt;/TD&gt;&lt;TD&gt;amt_d2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123567&lt;/TD&gt;&lt;TD&gt;01-Apr-09&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123567&lt;/TD&gt;&lt;TD&gt;10-Apr-09&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123567&lt;/TD&gt;&lt;TD&gt;01-May-09&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123567&lt;/TD&gt;&lt;TD&gt;01-Jun-10&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123567&lt;/TD&gt;&lt;TD&gt;01-Jul-10&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123567&lt;/TD&gt;&lt;TD&gt;01-Sep-10&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123567&lt;/TD&gt;&lt;TD&gt;01-Oct-10&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123567&lt;/TD&gt;&lt;TD&gt;03-Dec-12&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123568&lt;/TD&gt;&lt;TD&gt;02-Sep-11&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123568&lt;/TD&gt;&lt;TD&gt;02-Apr-09&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123568&lt;/TD&gt;&lt;TD&gt;12-Apr-09&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123568&lt;/TD&gt;&lt;TD&gt;11-May-09&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;so amt is the last amt prior to each date as you loop through the dates in between d1 and d2&lt;/P&gt;&lt;P&gt;so if we loop through open date in d1 then the dtes will be like 01-apr,02-apr,03-apr,04-apr,05-apr,06-apr and so on and these dates we need to compare with the open date from d2 so if the date say 01apr2009 from d1 falls between the dates 02ma2009 till 11apr2009 then return the amt at 02mar2009,if its not falling between those dates then check the next two dates (make sure the open dte in d2 is sorted in ascending order)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 09 Apr 2019 22:24:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/how-to-create-a-function-in-a-data-step-using-a-dataset/m-p/549816#M152614</guid>
      <dc:creator>MV04</dc:creator>
      <dc:date>2019-04-09T22:24:34Z</dc:date>
    </item>
  </channel>
</rss>

