<?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 write output to a text file in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-write-output-to-a-text-file/m-p/390903#M93831</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;data _null_;
  set have;
  length tmp $200;
  file "&amp;lt;path to file&amp;gt;\&amp;lt;outputfilename&amp;gt;.dlm";
  put f1;
  tmp=catx("|",f2,f2_1);
  put tmp;
  tmp=catx("|",f3,f3_1,f3_2);
  put tmp;
run;
&lt;/PRE&gt;
&lt;P&gt;Not tested (post test data in the form of a datastep!).&lt;/P&gt;</description>
    <pubDate>Fri, 25 Aug 2017 13:36:56 GMT</pubDate>
    <dc:creator>RW9</dc:creator>
    <dc:date>2017-08-25T13:36:56Z</dc:date>
    <item>
      <title>How to write output to a text file</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-write-output-to-a-text-file/m-p/390899#M93829</link>
      <description>&lt;P&gt;I have a dataset with values like the below:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;F1&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;F2&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;F2_1&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;F3&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;F3_1&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;F3_2&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Name1&lt;/TD&gt;&lt;TD&gt;RD&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;RS&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Name2&lt;/TD&gt;&lt;TD&gt;RD&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;RS&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Name2&lt;/TD&gt;&lt;TD&gt;RD&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;RS&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;Name2&lt;/TD&gt;&lt;TD&gt;RD&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;RS&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Name3&lt;/TD&gt;&lt;TD&gt;RD&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;TD&gt;RS&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Name3&lt;/TD&gt;&lt;TD&gt;RD&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;TD&gt;RS&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Name4&lt;/TD&gt;&lt;TD&gt;RD&lt;/TD&gt;&lt;TD&gt;40&lt;/TD&gt;&lt;TD&gt;RS&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;16&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;and I need to create a text file with "|" delimited. And the output should like this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Output:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Name1&lt;BR /&gt;RD|10&lt;BR /&gt;RS|1|2&lt;BR /&gt;Name2&lt;BR /&gt;RD|20&lt;BR /&gt;RS|3|4&lt;BR /&gt;RS|5|6&lt;BR /&gt;RS|7|8&lt;BR /&gt;Name3&lt;BR /&gt;RD|30&lt;BR /&gt;RS|11|12&lt;BR /&gt;RS|13|14&lt;BR /&gt;Name4&lt;BR /&gt;RD|40&lt;BR /&gt;RS|15|16&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How to achieve this? Could someone please help?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The main thing is field F3 (RS) should have as many rows as in the input and rest should come only once. Thanks&lt;/P&gt;</description>
      <pubDate>Fri, 25 Aug 2017 13:33:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-write-output-to-a-text-file/m-p/390899#M93829</guid>
      <dc:creator>BalajiBollu</dc:creator>
      <dc:date>2017-08-25T13:33:46Z</dc:date>
    </item>
    <item>
      <title>Re: How to write output to a text file</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-write-output-to-a-text-file/m-p/390903#M93831</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;data _null_;
  set have;
  length tmp $200;
  file "&amp;lt;path to file&amp;gt;\&amp;lt;outputfilename&amp;gt;.dlm";
  put f1;
  tmp=catx("|",f2,f2_1);
  put tmp;
  tmp=catx("|",f3,f3_1,f3_2);
  put tmp;
run;
&lt;/PRE&gt;
&lt;P&gt;Not tested (post test data in the form of a datastep!).&lt;/P&gt;</description>
      <pubDate>Fri, 25 Aug 2017 13:36:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-write-output-to-a-text-file/m-p/390903#M93831</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2017-08-25T13:36:56Z</dc:date>
    </item>
    <item>
      <title>Re: How to write output to a text file</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-write-output-to-a-text-file/m-p/390905#M93833</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input F1$ F2$ F2_1$ F3$ F3_1$ F3_2$;
datalines; 
Name1 RD 10 RS 1 2 
Name2 RD 20 RS 3 4 
Name2 RD 20 RS 5 6 
Name2 RD 20 RS 7 8 
Name3 RD 30 RS 11 12 
Name3 RD 30 RS 13 14 
Name4 RD 40 RS 15 16
;

proc sort data=have;
	by F1;
run;

data want;
	set have;
	by F1;
	file "path\filename.txt"
	if first.F1 then do;
		var=F1;output;
		var=catx("|", F2, F2_1);output;
		var=catx("|", F3, F3_1, F3_2);output;		
	end;
	else do;
		var=catx("|", F2, F2_1);output;
		var=catx("|", F3, F3_1, F3_2);output;
	end;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 25 Aug 2017 13:39:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-write-output-to-a-text-file/m-p/390905#M93833</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2017-08-25T13:39:34Z</dc:date>
    </item>
    <item>
      <title>Re: How to write output to a text file</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-write-output-to-a-text-file/m-p/390908#M93835</link>
      <description>&lt;P&gt;Seems pretty simple. Looks like you just want to write two extra lines at the beginning of each group.&lt;/P&gt;
&lt;P&gt;Let's converty your table into an actual SAS dataset.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have ;
 input F1 $ F2 $ F2_1 F3 $ F3_1 F3_2 ;
cards;
Name1 RD 10 RS 1 2
Name2 RD 20 RS 3 4
Name2 RD 20 RS 5 6
Name2 RD 20 RS 7 8
Name3 RD 30 RS 11 12
Name3 RD 30 RS 13 14
Name4 RD 40 RS 15 16
;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Now it looks like the first three variables define the groups. So use a BY statement.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data _null_;
  file 'myfile.txt' dsd dlm='|';
  set have ;
  by f1 f2 f2_1;
  if first.f2_1 then put f1 / f2 f2_1;
  put f3 f3_1 f3_2;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 25 Aug 2017 13:49:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-write-output-to-a-text-file/m-p/390908#M93835</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2017-08-25T13:49:54Z</dc:date>
    </item>
    <item>
      <title>Re: How to write output to a text file</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-write-output-to-a-text-file/m-p/391187#M93921</link>
      <description>&lt;P&gt;Thanks!!&lt;/P&gt;</description>
      <pubDate>Mon, 28 Aug 2017 05:21:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-write-output-to-a-text-file/m-p/391187#M93921</guid>
      <dc:creator>BalajiBollu</dc:creator>
      <dc:date>2017-08-28T05:21:52Z</dc:date>
    </item>
    <item>
      <title>Re: How to write output to a text file</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-write-output-to-a-text-file/m-p/391218#M93933</link>
      <description>Thanks! This worked!!</description>
      <pubDate>Mon, 28 Aug 2017 12:53:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-write-output-to-a-text-file/m-p/391218#M93933</guid>
      <dc:creator>BalajiBollu</dc:creator>
      <dc:date>2017-08-28T12:53:54Z</dc:date>
    </item>
    <item>
      <title>Re: How to write output to a text file</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-write-output-to-a-text-file/m-p/391219#M93934</link>
      <description>&lt;P&gt;Thanks! This worked!!&lt;/P&gt;</description>
      <pubDate>Mon, 28 Aug 2017 12:54:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-write-output-to-a-text-file/m-p/391219#M93934</guid>
      <dc:creator>BalajiBollu</dc:creator>
      <dc:date>2017-08-28T12:54:44Z</dc:date>
    </item>
    <item>
      <title>Re: How to write output to a text file</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-write-output-to-a-text-file/m-p/391391#M93988</link>
      <description>&lt;P&gt;I just want an extended version of this output with two more variables.&amp;nbsp;Let's say I have the dataset like the below.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; have;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;input&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; F1$ F2$ F2_1$ F4$ F4_1$ F4_2$ F3$ F5$;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;datalines&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;Name1 RD 10 RS 1 2 AS GS&lt;/P&gt;&lt;P&gt;Name2 RD 20 RS 3 4 AS TS&lt;/P&gt;&lt;P&gt;Name2 RD 20 RS 5 6 AS TT&lt;/P&gt;&lt;P&gt;Name2 RD 20 RS 7 8 AS ST&lt;/P&gt;&lt;P&gt;Name3 RD 30 RS 11 12 AS GS&lt;/P&gt;&lt;P&gt;Name3 RD 30 RS 13 14 AS HG&lt;/P&gt;&lt;P&gt;Name4 RD 40 RS 15 16 AS GS&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is it possible to get an output like the below. There is one more variable which has more than one value for one Name and that the order is also changed.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Name1&lt;BR /&gt;RD|10&lt;BR /&gt;RS|1|2&lt;BR /&gt;AS&lt;/P&gt;&lt;P&gt;GS&lt;BR /&gt;Name2&lt;BR /&gt;RD|20&lt;BR /&gt;RS|3|4&lt;BR /&gt;RS|5|6&lt;BR /&gt;RS|7|8&lt;BR /&gt;AS&lt;/P&gt;&lt;P&gt;TS&lt;/P&gt;&lt;P&gt;TT&lt;/P&gt;&lt;P&gt;ST&lt;BR /&gt;Name3&lt;BR /&gt;RD|30&lt;BR /&gt;RS|11|12&lt;BR /&gt;RS|13|14&lt;BR /&gt;AS&lt;/P&gt;&lt;P&gt;GS&lt;/P&gt;&lt;P&gt;HG&lt;BR /&gt;Name4&lt;BR /&gt;RD|40&lt;BR /&gt;RS|15|16&lt;BR /&gt;AS&lt;/P&gt;&lt;P&gt;GS&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance!&lt;/P&gt;</description>
      <pubDate>Tue, 29 Aug 2017 05:51:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-write-output-to-a-text-file/m-p/391391#M93988</guid>
      <dc:creator>BalajiBollu</dc:creator>
      <dc:date>2017-08-29T05:51:13Z</dc:date>
    </item>
  </channel>
</rss>

