<?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 Concatenate multiple rows of text to one row in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Concatenate-multiple-rows-of-text-to-one-row/m-p/867787#M342747</link>
    <description>&lt;P&gt;Good morning.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am attempting to concatenate rows of data from multiple line onto one line. I can't see to get this work. I've deconstructed it to see if I can tell what's going on but I can't see to locate the error. What I end up with is a single line per ID_NUMBER with only the first comment. I don't get the subsequent concatenations for the same ID_NUMBER.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm sure there must be a better way to do this but I'm trying to understand how such a data step works.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE border="1" width="99.90029910269192%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;HAVE&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;ID_NUMBER&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;COMMENT_NUMBER&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;COMMENT_SEQUENCE_NUMBER&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;INCOMING_COMMENT&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;1&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;10&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;1&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;This person has four lines&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;1&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;10&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;2&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;on their comment. I would like all four&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;1&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;10&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;3&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;on the same line.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;1&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;10&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;4&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;This is the final line for this comment.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;1&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;15&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;1&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;Jack and Jill went up the&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;1&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;15&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;2&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;hill to fetch a pail&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;1&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;15&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;3&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;of water.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;2&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;16&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;1&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;I wish the sky was purple&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;2&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;17&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;1&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;If the sky was purple can you&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;2&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;17&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;2&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;imagine the sunsets?&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;3&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;22&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;1&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;Sand paintings are the best.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;3&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;22&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;2&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;You can always get a different&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;3&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;22&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;3&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;view by changing the orientation.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;3&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;22&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;4&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;Just tip the picture and BAM!&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;3&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;22&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;5&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;You get a brand new landscape&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;WANT&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;ID_NUMBER&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;COMMENT_NUMBER&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;INCOMING_COMMENT&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;1&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;10&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;This person has four lines on their comment. I would like all four on the same line. This is the final line for this comment.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;1&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;15&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;Jack and Jill went up the hill to fetch a pail of water of water.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;2&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;16&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;I wish the sky was purple&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;2&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;17&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;If the sky was purple can you imagine the sunsets?&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;2&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;22&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;Sand paintings are the best. You can always get a different view by changing the orientation. Just tip the picture and BAM! You get a brand new landscape&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;Thanks very much if someone has the time to help out.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want (keep = id_number w_comment);
	set have (rename=(id_number = in_id_number comment_sequence_number = in_comment_sequence_number comment_line = in_comment))
		end = eof_input;
	length w_comment $ 1000;
	retain id_number comment_sequence_number comment_line w_comment;
	/*Initialize the output (retained) columns and return to top of data step.*/
	if _n_ = 1 then do;
		id_number = in_id_number;
		comment_sequence_number = in_comment_sequence_number;
		comment_line = in_comment;
		w_comment = in_comment;
		return;
	end;
	if id_number = in_id_number and comment_sequence_number = in_comment_sequence_number then do;
		w_comment = catx(", ", w_comment, in_comment);
	end;
	if in_id_number &amp;gt; id_number then do;
		output;
		id_number = in_id_number;
		comment_sequence_number = in_comment_sequence_number;
		comment_line = in_comment;
		w_comment = in_comment;
		return;
	end;
	/*At end of file on input file write out the last retained record of data.*/
	if eof_input then output;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Mon, 03 Apr 2023 16:06:51 GMT</pubDate>
    <dc:creator>Jeff_DOC</dc:creator>
    <dc:date>2023-04-03T16:06:51Z</dc:date>
    <item>
      <title>Concatenate multiple rows of text to one row</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Concatenate-multiple-rows-of-text-to-one-row/m-p/867787#M342747</link>
      <description>&lt;P&gt;Good morning.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am attempting to concatenate rows of data from multiple line onto one line. I can't see to get this work. I've deconstructed it to see if I can tell what's going on but I can't see to locate the error. What I end up with is a single line per ID_NUMBER with only the first comment. I don't get the subsequent concatenations for the same ID_NUMBER.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm sure there must be a better way to do this but I'm trying to understand how such a data step works.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE border="1" width="99.90029910269192%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;HAVE&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;ID_NUMBER&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;COMMENT_NUMBER&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;COMMENT_SEQUENCE_NUMBER&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;INCOMING_COMMENT&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;1&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;10&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;1&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;This person has four lines&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;1&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;10&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;2&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;on their comment. I would like all four&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;1&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;10&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;3&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;on the same line.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;1&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;10&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;4&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;This is the final line for this comment.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;1&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;15&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;1&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;Jack and Jill went up the&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;1&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;15&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;2&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;hill to fetch a pail&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;1&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;15&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;3&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;of water.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;2&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;16&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;1&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;I wish the sky was purple&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;2&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;17&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;1&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;If the sky was purple can you&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;2&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;17&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;2&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;imagine the sunsets?&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;3&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;22&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;1&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;Sand paintings are the best.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;3&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;22&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;2&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;You can always get a different&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;3&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;22&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;3&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;view by changing the orientation.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;3&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;22&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;4&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;Just tip the picture and BAM!&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;3&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;22&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;5&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;You get a brand new landscape&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;WANT&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;ID_NUMBER&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;COMMENT_NUMBER&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;INCOMING_COMMENT&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;1&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;10&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;This person has four lines on their comment. I would like all four on the same line. This is the final line for this comment.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;1&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;15&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;Jack and Jill went up the hill to fetch a pail of water of water.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;2&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;16&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;I wish the sky was purple&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;2&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;17&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;If the sky was purple can you imagine the sunsets?&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="10.468594217347956%"&gt;2&lt;/TD&gt;
&lt;TD width="18.344965104685944%"&gt;22&lt;/TD&gt;
&lt;TD width="27.018943170488534%"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="44.06779661016949%"&gt;Sand paintings are the best. You can always get a different view by changing the orientation. Just tip the picture and BAM! You get a brand new landscape&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;Thanks very much if someone has the time to help out.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want (keep = id_number w_comment);
	set have (rename=(id_number = in_id_number comment_sequence_number = in_comment_sequence_number comment_line = in_comment))
		end = eof_input;
	length w_comment $ 1000;
	retain id_number comment_sequence_number comment_line w_comment;
	/*Initialize the output (retained) columns and return to top of data step.*/
	if _n_ = 1 then do;
		id_number = in_id_number;
		comment_sequence_number = in_comment_sequence_number;
		comment_line = in_comment;
		w_comment = in_comment;
		return;
	end;
	if id_number = in_id_number and comment_sequence_number = in_comment_sequence_number then do;
		w_comment = catx(", ", w_comment, in_comment);
	end;
	if in_id_number &amp;gt; id_number then do;
		output;
		id_number = in_id_number;
		comment_sequence_number = in_comment_sequence_number;
		comment_line = in_comment;
		w_comment = in_comment;
		return;
	end;
	/*At end of file on input file write out the last retained record of data.*/
	if eof_input then output;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 03 Apr 2023 16:06:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Concatenate-multiple-rows-of-text-to-one-row/m-p/867787#M342747</guid>
      <dc:creator>Jeff_DOC</dc:creator>
      <dc:date>2023-04-03T16:06:51Z</dc:date>
    </item>
    <item>
      <title>Re: Concatenate multiple rows of text to one row</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Concatenate-multiple-rows-of-text-to-one-row/m-p/867793#M342748</link>
      <description>&lt;P&gt;like this?&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data HAVE;
infile cards4 dlm="|";
input ID_NUMBER COMMENT_NUMBER COMMENT_SEQUENCE_NUMBER INCOMING_COMMENT : $ 100.;
cards4;
1|10|1|This person has four lines
1|10|2|on their comment. I would like all four
1|10|3|on the same line.
1|10|4|This is the final line for this comment.
1|15|1|Jack and Jill went up the
1|15|2|hill to fetch a pail
1|15|3|of water.
2|16|1|I wish the sky was purple
2|17|1|If the sky was purple can you
2|17|2|imagine the sunsets?
3|22|1|Sand paintings are the best.
3|22|2|You can always get a different
3|22|3|view by changing the orientation.
3|22|4|Just tip the picture and BAM!
3|22|5|You get a brand new landscape
;;;;
run;
proc print;
run;

data want(rename=(IC = INCOMING_COMMENT));
  set HAVE;
  by ID_NUMBER COMMENT_NUMBER;
  retain IC;
  length IC $ 32767;

  if first.COMMENT_NUMBER then IC = " ";

  ic = catx(" ", ic, INCOMING_COMMENT);

  if last.COMMENT_NUMBER then output;

  drop INCOMING_COMMENT COMMENT_SEQUENCE_NUMBER;
run;
proc print;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Bart&lt;/P&gt;</description>
      <pubDate>Mon, 03 Apr 2023 16:19:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Concatenate-multiple-rows-of-text-to-one-row/m-p/867793#M342748</guid>
      <dc:creator>yabwon</dc:creator>
      <dc:date>2023-04-03T16:19:47Z</dc:date>
    </item>
    <item>
      <title>Re: Concatenate multiple rows of text to one row</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Concatenate-multiple-rows-of-text-to-one-row/m-p/867805#M342751</link>
      <description>&lt;P&gt;There's two common methods of doing this, one is using a data step and the second is to transpose.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You have two BY variables, so just make sure to have both in your BY statement.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;*create sample data for demonstration;
data have;
    infile cards dlm='09'x;
    input OrgID Product $   States $;
    cards;
1   football    DC
1   football    VA
1   football    MD
2   football    CA
3   football    NV
3   football    CA
;
run;

*Sort - required for both options;
proc sort data=have;
    by orgID;
run;

**********************************************************************;
*Use RETAIN and BY group processing to combine the information;
**********************************************************************;
data want_option1;
    set have;
    by orgID;
    length combined $100.;
    retain combined;

    if first.orgID then
        combined=states;
    else
        combined=catx(', ', combined, states);

    if last.orgID then
        output;
run;

**********************************************************************;
*Transpose it to a wide format and then combine into a single field;
**********************************************************************;
proc transpose data=have out=wide prefix=state_;
    by orgID;
    var states;
run;

data want_option2;
    set wide;
    length combined $100.;
    combined=catx(', ', of state_:);
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 03 Apr 2023 16:41:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Concatenate-multiple-rows-of-text-to-one-row/m-p/867805#M342751</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2023-04-03T16:41:38Z</dc:date>
    </item>
    <item>
      <title>Re: Concatenate multiple rows of text to one row</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Concatenate-multiple-rows-of-text-to-one-row/m-p/868096#M342882</link>
      <description>&lt;P&gt;Thank you Reeza.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I never considered using proc transpose in that way. Very simple and efficient suggestion. Thank you.&lt;/P&gt;</description>
      <pubDate>Tue, 04 Apr 2023 21:26:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Concatenate-multiple-rows-of-text-to-one-row/m-p/868096#M342882</guid>
      <dc:creator>Jeff_DOC</dc:creator>
      <dc:date>2023-04-04T21:26:15Z</dc:date>
    </item>
  </channel>
</rss>

