<?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: appending same column data and output last record in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/appending-same-column-data-and-output-last-record/m-p/393771#M94859</link>
    <description>&lt;P&gt;One possibility:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;data want;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;set delq_array ;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;by application app_month perf_month;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;length string $60;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;retain string;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;if first.application then do;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;location=1;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;string = repeat('.', 59);&lt;/P&gt;
&lt;P&gt;end;&lt;/P&gt;
&lt;P&gt;else location + month_diff;&lt;BR /&gt;&lt;SPAN&gt;substr(string, location, 1) = put(delq, 1.);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if last.application;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;run;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;This assumes that DELQ is numeric. &amp;nbsp;If it is actually character&amp;nbsp;with a length of $1, the program becomes simpler:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;substr(string, location, 1) = delq;&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Thu, 07 Sep 2017 07:02:53 GMT</pubDate>
    <dc:creator>Astounding</dc:creator>
    <dc:date>2017-09-07T07:02:53Z</dc:date>
    <item>
      <title>appending same column data and output last record</title>
      <link>https://communities.sas.com/t5/SAS-Programming/appending-same-column-data-and-output-last-record/m-p/393766#M94857</link>
      <description>&lt;P&gt;proc sort data=delq_array;&lt;BR /&gt;by application app_month perf_month;&lt;BR /&gt;run;&lt;/P&gt;
&lt;P&gt;data want;&lt;BR /&gt;set delq_array ;&lt;BR /&gt;by application app_month perf_month;&lt;BR /&gt;length string $60;&lt;BR /&gt;retain string;&lt;BR /&gt;string=compress(catx('',string,delq));&lt;BR /&gt;if last.application then do;&lt;BR /&gt;output;&lt;BR /&gt;call missing(string);&lt;BR /&gt;end;&lt;BR /&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;the aove program currently appends delq column data and outputs based on last.application. But i need to append '.' if there is missing performance based on perf_month column by application.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;indata is attached. please help me on the logic&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;current output&lt;/P&gt;
&lt;TABLE width="437"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="79"&gt;Application&lt;/TD&gt;
&lt;TD width="81"&gt;App_month&lt;/TD&gt;
&lt;TD width="82"&gt;Perf_month&lt;/TD&gt;
&lt;TD width="195"&gt;string&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;1-Sep-15&lt;/TD&gt;
&lt;TD&gt;1-Sep-17&lt;/TD&gt;
&lt;TD&gt;000112345211000000000000&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;1-Sep-15&lt;/TD&gt;
&lt;TD&gt;1-Jul-17&lt;/TD&gt;
&lt;TD&gt;0001123452000000000&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;1-Sep-15&lt;/TD&gt;
&lt;TD&gt;1-Jan-16&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;00&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;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;required output&lt;/P&gt;
&lt;TABLE width="437"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="79"&gt;Application&lt;/TD&gt;
&lt;TD width="81"&gt;App_month&lt;/TD&gt;
&lt;TD width="82"&gt;Perf_month&lt;/TD&gt;
&lt;TD width="195"&gt;string&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;1-Sep-15&lt;/TD&gt;
&lt;TD&gt;1-Sep-17&lt;/TD&gt;
&lt;TD&gt;000112345211000000000000&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;1-Sep-15&lt;/TD&gt;
&lt;TD&gt;1-Jul-17&lt;/TD&gt;
&lt;TD&gt;0001123452..0.00000000&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;1-Sep-15&lt;/TD&gt;
&lt;TD&gt;1-Jan-16&lt;/TD&gt;
&lt;TD&gt;.0.0&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;</description>
      <pubDate>Thu, 07 Sep 2017 05:55:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/appending-same-column-data-and-output-last-record/m-p/393766#M94857</guid>
      <dc:creator>SMohanReddy</dc:creator>
      <dc:date>2017-09-07T05:55:26Z</dc:date>
    </item>
    <item>
      <title>Re: appending same column data and output last record</title>
      <link>https://communities.sas.com/t5/SAS-Programming/appending-same-column-data-and-output-last-record/m-p/393771#M94859</link>
      <description>&lt;P&gt;One possibility:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;data want;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;set delq_array ;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;by application app_month perf_month;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;length string $60;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;retain string;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;if first.application then do;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;location=1;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;string = repeat('.', 59);&lt;/P&gt;
&lt;P&gt;end;&lt;/P&gt;
&lt;P&gt;else location + month_diff;&lt;BR /&gt;&lt;SPAN&gt;substr(string, location, 1) = put(delq, 1.);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if last.application;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;run;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;This assumes that DELQ is numeric. &amp;nbsp;If it is actually character&amp;nbsp;with a length of $1, the program becomes simpler:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;substr(string, location, 1) = delq;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 07 Sep 2017 07:02:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/appending-same-column-data-and-output-last-record/m-p/393771#M94859</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2017-09-07T07:02:53Z</dc:date>
    </item>
    <item>
      <title>Re: appending same column data and output last record</title>
      <link>https://communities.sas.com/t5/SAS-Programming/appending-same-column-data-and-output-last-record/m-p/394274#M94983</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/4954"&gt;@Astounding&lt;/a&gt;&amp;nbsp;Good approach. I simplifier your code and trim out all extra dots based on Month_Diff to make output as similar as post&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
	set delq_array ;
	by application app_month perf_month;
	length string $60;
	retain string;
	if first.application then string = repeat('.', 60);
	substr(string,Month_Diff,1) = strip(put(delq,best.));
	if last.application then do;
		string = substr(string,1,Month_Diff);
		output;
	end;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 08 Sep 2017 17:02:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/appending-same-column-data-and-output-last-record/m-p/394274#M94983</guid>
      <dc:creator>MINX</dc:creator>
      <dc:date>2017-09-08T17:02:58Z</dc:date>
    </item>
  </channel>
</rss>

