<?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: Fill in missing balances with the last balance in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Fill-in-missing-balances-with-the-last-balance/m-p/960812#M374660</link>
    <description>&lt;P&gt;Thanks for the advice! I will test the code!&lt;/P&gt;</description>
    <pubDate>Tue, 04 Mar 2025 09:17:17 GMT</pubDate>
    <dc:creator>mvalsamis</dc:creator>
    <dc:date>2025-03-04T09:17:17Z</dc:date>
    <item>
      <title>Fill in missing balances with the last balance</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Fill-in-missing-balances-with-the-last-balance/m-p/960768#M374653</link>
      <description>&lt;P&gt;Good evening from England! I am using DI Studio and I am facing the following issue. I have a table named TRANSACTIONS that shows all the transactions of several bank accounts within 2021. For simplicity, let's assume I have only one account and its transactions throughout January 2021. Assume also that the account holder performed transactions only on 3rd, 10th, 17th and 22nd of January. The TRANSACTIONS table is the following:&lt;/P&gt;
&lt;TABLE border="1" width="98.19494584837547%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="20%" height="30px"&gt;date&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;account_n&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;start_balance&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;trans_cr&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;trans_dr&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%" height="30px"&gt;01/01/2021&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;123456&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;300&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;.&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%" height="30px"&gt;02/01/2021&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;123456&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;.&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;.&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%" height="30px"&gt;03/01/2021&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;123456&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;.&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;200&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;90&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;04/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;05/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;06/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;07/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;08/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;09/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;10/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;30&lt;/TD&gt;
&lt;TD height="30px"&gt;10&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;11/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;12/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;13/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;14/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;15/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;16/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;17/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;30&lt;/TD&gt;
&lt;TD height="30px"&gt;70&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;18/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;19/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;20/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;21/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;22/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;20&lt;/TD&gt;
&lt;TD height="30px"&gt;10&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;23/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;24/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;25/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;26/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;27/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;28/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;29/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;30/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;31/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;TD height="30px"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Where date: the date of transaction in DDMMYY10. format&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; account_n: the account number&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; start_balance: the starting balance in the beginning of the year, i.e. 01/01/2021&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; trans_cr: the total credit transactions of the day&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; trans_dr: the total debit transactions of the day&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;From the TRANSACTIONS table above I want to create the following table, named CALC_BALS:&lt;/P&gt;
&lt;TABLE border="1" width="100%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="20%" height="30px"&gt;date&amp;nbsp;&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;account_n&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;endday_balance&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;trans_cr&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;trans_dr&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%" height="30px"&gt;01/01/2021&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;123456&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;300&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;0&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%" height="30px"&gt;02/01/2021&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;123456&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;300&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;0&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%" height="30px"&gt;03/01/2021&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;123456&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;410&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;200&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;90&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%" height="30px"&gt;04/01/2021&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;123456&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;410&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;0&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%" height="30px"&gt;05/01/2021&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;123456&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;410&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;0&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;06/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;410&lt;/TD&gt;
&lt;TD height="30px"&gt;0&lt;/TD&gt;
&lt;TD height="30px"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%" height="30px"&gt;07/01/2021&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;123456&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;410&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;0&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%" height="30px"&gt;08/01/2021&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;123456&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;410&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;0&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;09/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;410&lt;/TD&gt;
&lt;TD height="30px"&gt;0&lt;/TD&gt;
&lt;TD height="30px"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;10/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;430&lt;/TD&gt;
&lt;TD height="30px"&gt;30&lt;/TD&gt;
&lt;TD height="30px"&gt;10&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;11/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;430&lt;/TD&gt;
&lt;TD height="30px"&gt;0&lt;/TD&gt;
&lt;TD height="30px"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;12/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;430&lt;/TD&gt;
&lt;TD height="30px"&gt;0&lt;/TD&gt;
&lt;TD height="30px"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;13/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;430&lt;/TD&gt;
&lt;TD height="30px"&gt;0&lt;/TD&gt;
&lt;TD height="30px"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;14/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;430&lt;/TD&gt;
&lt;TD height="30px"&gt;0&lt;/TD&gt;
&lt;TD height="30px"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;15/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;430&lt;/TD&gt;
&lt;TD height="30px"&gt;0&lt;/TD&gt;
&lt;TD height="30px"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;16/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;430&lt;/TD&gt;
&lt;TD height="30px"&gt;0&lt;/TD&gt;
&lt;TD height="30px"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;17/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;390&lt;/TD&gt;
&lt;TD height="30px"&gt;30&lt;/TD&gt;
&lt;TD height="30px"&gt;70&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;18/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;390&lt;/TD&gt;
&lt;TD height="30px"&gt;0&lt;/TD&gt;
&lt;TD height="30px"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;19/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;390&lt;/TD&gt;
&lt;TD height="30px"&gt;0&lt;/TD&gt;
&lt;TD height="30px"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;20/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;390&lt;/TD&gt;
&lt;TD height="30px"&gt;0&lt;/TD&gt;
&lt;TD height="30px"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;21/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;390&lt;/TD&gt;
&lt;TD height="30px"&gt;0&lt;/TD&gt;
&lt;TD height="30px"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;22/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;400&lt;/TD&gt;
&lt;TD height="30px"&gt;20&lt;/TD&gt;
&lt;TD height="30px"&gt;10&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;23/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;400&lt;/TD&gt;
&lt;TD height="30px"&gt;0&lt;/TD&gt;
&lt;TD height="30px"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;24/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;400&lt;/TD&gt;
&lt;TD height="30px"&gt;0&lt;/TD&gt;
&lt;TD height="30px"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%" height="30px"&gt;25/01/2021&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;123456&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;400&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;0&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="20%" height="30px"&gt;26/01/2021&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;123456&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;400&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;0&lt;/TD&gt;
&lt;TD width="20%" height="30px"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;27/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;400&lt;/TD&gt;
&lt;TD height="30px"&gt;0&lt;/TD&gt;
&lt;TD height="30px"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;28/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;400&lt;/TD&gt;
&lt;TD height="30px"&gt;0&lt;/TD&gt;
&lt;TD height="30px"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD height="30px"&gt;29/01/2021&lt;/TD&gt;
&lt;TD height="30px"&gt;123456&lt;/TD&gt;
&lt;TD height="30px"&gt;400&lt;/TD&gt;
&lt;TD height="30px"&gt;0&lt;/TD&gt;
&lt;TD height="30px"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;30/01/2021&lt;/TD&gt;
&lt;TD&gt;123456&lt;/TD&gt;
&lt;TD&gt;400&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;31/01/2021&lt;/TD&gt;
&lt;TD&gt;123456&lt;/TD&gt;
&lt;TD&gt;400&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The created variable here is endday_balance, which is the balance at the end of the day, and it is defined as:&lt;/P&gt;
&lt;P&gt;start of day balance (ie previous endday_balance)+ trans_cr - trans_dr&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As it is shown, I want to fill in the missing values of endday_balance with its latest value. I am struggling with these 2 problems of filling values and using a lagged value. Do you have any idea of how to do it? I would prefer to use DI transformations, but if not possible, I can use manual code. Thank you in advance.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 03 Mar 2025 19:01:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Fill-in-missing-balances-with-the-last-balance/m-p/960768#M374653</guid>
      <dc:creator>mvalsamis</dc:creator>
      <dc:date>2025-03-03T19:01:24Z</dc:date>
    </item>
    <item>
      <title>Re: Fill in missing balances with the last balance</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Fill-in-missing-balances-with-the-last-balance/m-p/960770#M374654</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
    set have;
    if not missing(start_balance) or not missing(trans_cr) or not missing(trans_dr) then
         end_of_day_balance + sum(start_balance,trans_cr,-trans_dr);
    if missing(trans_cr) then trans_cr=0;
    if missing(trans_dr) then trans_dr=0;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This code is untested. If you want tested code, please provide data as working SAS data step code (&lt;A href="https://blogs.sas.com/content/sastraining/2016/03/11/jedi-sas-tricks-data-to-data-step-macro/" target="_self"&gt;examples and instructions&lt;/A&gt;) and NOT as Excel files and NOT as copy and paste from Excel.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You said: "&lt;SPAN&gt;For simplicity, let's assume I have only one account". This is a poor assumption, and the above code will not work if you have more than one account. In general, if the real life problem has more than 1 account, please provide data for at least two accounts.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Modification for more than 1 account (again, untested)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
    set have;
    by account_n;
    if first.account_n then end_of_day_balance=0;
    if not missing(start_balance) or not missing(trans_cr) or not missing(trans_dr) then
         end_of_day_balance + sum(start_balance,trans_cr,-trans_dr);
    if missing(trans_cr) then trans_cr=0;
    if missing(trans_dr) then trans_dr=0;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 03 Mar 2025 19:31:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Fill-in-missing-balances-with-the-last-balance/m-p/960770#M374654</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2025-03-03T19:31:30Z</dc:date>
    </item>
    <item>
      <title>Re: Fill in missing balances with the last balance</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Fill-in-missing-balances-with-the-last-balance/m-p/960771#M374655</link>
      <description>&lt;P&gt;Untested, in the absence of sample data in the form of a working data step:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
  set have;
  by account_n;
  trans_cr=coalesce(trans_cr,0);
  trans_dr=coalesce(trans_dr,0);

  retain endday_balance;
  if first.account_n then endday_balance=start_balance;
  else endday_balance + trans_cr +(-1*trans_dr);
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;The above assumes data are sorted by account_n/date, and that the first obs for each account has a valid start_balance value, but no values for trans_cr and trans_dr.&amp;nbsp; Also no other obs has a valid start_balance value.&lt;/P&gt;</description>
      <pubDate>Tue, 04 Mar 2025 02:50:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Fill-in-missing-balances-with-the-last-balance/m-p/960771#M374655</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2025-03-04T02:50:51Z</dc:date>
    </item>
    <item>
      <title>Re: Fill in missing balances with the last balance</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Fill-in-missing-balances-with-the-last-balance/m-p/960812#M374660</link>
      <description>&lt;P&gt;Thanks for the advice! I will test the code!&lt;/P&gt;</description>
      <pubDate>Tue, 04 Mar 2025 09:17:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Fill-in-missing-balances-with-the-last-balance/m-p/960812#M374660</guid>
      <dc:creator>mvalsamis</dc:creator>
      <dc:date>2025-03-04T09:17:17Z</dc:date>
    </item>
    <item>
      <title>Re: Fill in missing balances with the last balance</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Fill-in-missing-balances-with-the-last-balance/m-p/960814#M374661</link>
      <description>&lt;P&gt;Thanks! I will try the code!&lt;/P&gt;</description>
      <pubDate>Tue, 04 Mar 2025 09:42:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Fill-in-missing-balances-with-the-last-balance/m-p/960814#M374661</guid>
      <dc:creator>mvalsamis</dc:creator>
      <dc:date>2025-03-04T09:42:11Z</dc:date>
    </item>
  </channel>
</rss>

