<?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: Help !! in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-the-lag-function-in-SAS/m-p/838441#M331507</link>
    <description>&lt;P&gt;You have been around here for a while, so do this:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;edit your post to give it a descriptive subject line&lt;/LI&gt;
&lt;LI&gt;supply example data in usable form (data step with datalines)&lt;/LI&gt;
&lt;LI&gt;show the expected result&lt;/LI&gt;
&lt;/UL&gt;</description>
    <pubDate>Thu, 13 Oct 2022 16:45:41 GMT</pubDate>
    <dc:creator>Kurt_Bremser</dc:creator>
    <dc:date>2022-10-13T16:45:41Z</dc:date>
    <item>
      <title>How to calculate the lag function in SAS ?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-the-lag-function-in-SAS/m-p/838431#M331502</link>
      <description>&lt;P&gt;Please find the sample data below&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;business_dt&lt;/TD&gt;&lt;TD&gt;Card no&lt;/TD&gt;&lt;TD&gt;available_bal&lt;/TD&gt;&lt;TD&gt;amt_transaction&lt;/TD&gt;&lt;TD&gt;Difference&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;10-May-21&lt;/TD&gt;&lt;TD&gt;1111&lt;/TD&gt;&lt;TD&gt;35&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;null&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9-May-21&lt;/TD&gt;&lt;TD&gt;1111&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;8-May-21&lt;/TD&gt;&lt;TD&gt;1111&lt;/TD&gt;&lt;TD&gt;28&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7-May-21&lt;/TD&gt;&lt;TD&gt;1111&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;6-May-21&lt;/TD&gt;&lt;TD&gt;1111&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;10-May-21&lt;/TD&gt;&lt;TD&gt;22222&lt;/TD&gt;&lt;TD&gt;34&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;null&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9-May-21&lt;/TD&gt;&lt;TD&gt;22222&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;8-May-21&lt;/TD&gt;&lt;TD&gt;22222&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;7-May-21&lt;/TD&gt;&lt;TD&gt;22222&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;6-May-21&lt;/TD&gt;&lt;TD&gt;22222&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;BR /&gt;The table shows transaction data of members. The logic for the table is as follows.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;available_bal + amt_transaction = Available_balance&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;eg : transaction date 06 may&amp;nbsp; 22 . for member 22222 : 10+5=15 (which carries on to next row) and any new transaction on amt_transaction is added and it will be base balance for the next amt_transaction. The difference is basically the lag function that i had written as below:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;cast(available_bal + amt_transaction - lag(available_bal,1)&lt;BR /&gt;over (partition by business_dt,member_NO&lt;BR /&gt;order by member_NO,business_dt) as decimal(8,2)) difference&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please help me on how to do this in SAS. The out put is the table shown above. I need to write a script on how to do this in SAS.&lt;/P&gt;</description>
      <pubDate>Thu, 13 Oct 2022 16:53:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-the-lag-function-in-SAS/m-p/838431#M331502</guid>
      <dc:creator>Rhino84</dc:creator>
      <dc:date>2022-10-13T16:53:35Z</dc:date>
    </item>
    <item>
      <title>Re: Help !!</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-the-lag-function-in-SAS/m-p/838441#M331507</link>
      <description>&lt;P&gt;You have been around here for a while, so do this:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;edit your post to give it a descriptive subject line&lt;/LI&gt;
&lt;LI&gt;supply example data in usable form (data step with datalines)&lt;/LI&gt;
&lt;LI&gt;show the expected result&lt;/LI&gt;
&lt;/UL&gt;</description>
      <pubDate>Thu, 13 Oct 2022 16:45:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-the-lag-function-in-SAS/m-p/838441#M331507</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2022-10-13T16:45:41Z</dc:date>
    </item>
    <item>
      <title>Re: How to calculate the lag function in SAS ?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-the-lag-function-in-SAS/m-p/838445#M331508</link>
      <description>&lt;P&gt;Hint: Looks more like a RETAIN than a LAG solution for available_bal + amt_transaction = Available_balance.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Coupled with BY group processing and FIRST. to reset the accumulator at change of card no.&lt;/P&gt;</description>
      <pubDate>Thu, 13 Oct 2022 16:58:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-the-lag-function-in-SAS/m-p/838445#M331508</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2022-10-13T16:58:43Z</dc:date>
    </item>
    <item>
      <title>Re: How to calculate the lag function in SAS ?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-the-lag-function-in-SAS/m-p/838451#M331511</link>
      <description>&lt;P&gt;Have you tried the lag function?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;See the documentation examples:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://documentation.sas.com/doc/en/pgmsascdc/9.4_3.2/lefunctionsref/n0l66p5oqex1f2n1quuopdvtcjqb.htm" target="_blank"&gt;https://documentation.sas.com/doc/en/pgmsascdc/9.4_3.2/lefunctionsref/n0l66p5oqex1f2n1quuopdvtcjqb.htm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And a good reference on issues with using LAG().&lt;/P&gt;
&lt;P&gt;&lt;A href="https://support.sas.com/resources/papers/proceedings09/055-2009.pdf" target="_blank"&gt;https://support.sas.com/resources/papers/proceedings09/055-2009.pdf&lt;/A&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/391324"&gt;@Rhino84&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Please find the sample data below&lt;/P&gt;
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;business_dt&lt;/TD&gt;
&lt;TD&gt;Card no&lt;/TD&gt;
&lt;TD&gt;available_bal&lt;/TD&gt;
&lt;TD&gt;amt_transaction&lt;/TD&gt;
&lt;TD&gt;Difference&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10-May-21&lt;/TD&gt;
&lt;TD&gt;1111&lt;/TD&gt;
&lt;TD&gt;35&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;null&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;9-May-21&lt;/TD&gt;
&lt;TD&gt;1111&lt;/TD&gt;
&lt;TD&gt;30&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;8-May-21&lt;/TD&gt;
&lt;TD&gt;1111&lt;/TD&gt;
&lt;TD&gt;28&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;7-May-21&lt;/TD&gt;
&lt;TD&gt;1111&lt;/TD&gt;
&lt;TD&gt;14&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;6-May-21&lt;/TD&gt;
&lt;TD&gt;1111&lt;/TD&gt;
&lt;TD&gt;12&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10-May-21&lt;/TD&gt;
&lt;TD&gt;22222&lt;/TD&gt;
&lt;TD&gt;34&lt;/TD&gt;
&lt;TD&gt;8&lt;/TD&gt;
&lt;TD&gt;null&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;9-May-21&lt;/TD&gt;
&lt;TD&gt;22222&lt;/TD&gt;
&lt;TD&gt;30&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;8-May-21&lt;/TD&gt;
&lt;TD&gt;22222&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;7-May-21&lt;/TD&gt;
&lt;TD&gt;22222&lt;/TD&gt;
&lt;TD&gt;15&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;6-May-21&lt;/TD&gt;
&lt;TD&gt;22222&lt;/TD&gt;
&lt;TD&gt;10&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&lt;BR /&gt;The table shows transaction data of members. The logic for the table is as follows.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;available_bal + amt_transaction = Available_balance&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;eg : transaction date 06 may&amp;nbsp; 22 . for member 22222 : 10+5=15 (which carries on to next row) and any new transaction on amt_transaction is added and it will be base balance for the next amt_transaction. The difference is basically the lag function that i had written as below:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;cast(available_bal + amt_transaction - lag(available_bal,1)&lt;BR /&gt;over (partition by business_dt,member_NO&lt;BR /&gt;order by member_NO,business_dt) as decimal(8,2)) difference&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please help me on how to do this in SAS. The out put is the table shown above. I need to write a script on how to do this in SAS.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 13 Oct 2022 17:10:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-the-lag-function-in-SAS/m-p/838451#M331511</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2022-10-13T17:10:08Z</dc:date>
    </item>
    <item>
      <title>Re: How to calculate the lag function in SAS ?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-the-lag-function-in-SAS/m-p/838533#M331544</link>
      <description>&lt;P&gt;If the data you wish to process is coming from an external database then you can continue to use your custom SQL in a SAS SQL Passthru query. You don't need to change the logic at all.&lt;/P&gt;</description>
      <pubDate>Thu, 13 Oct 2022 23:54:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-the-lag-function-in-SAS/m-p/838533#M331544</guid>
      <dc:creator>SASKiwi</dc:creator>
      <dc:date>2022-10-13T23:54:08Z</dc:date>
    </item>
  </channel>
</rss>

