<?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 can we Transpose a table to make values as headers and adding empty values rows in SAS Enterprise Guide</title>
    <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-can-we-Transpose-data-so-that-values-in-row-become-headers/m-p/310953#M21015</link>
    <description>&lt;P&gt;&amp;nbsp;Please state clearly what your problem is, starting from the start, provide test data which matches your data, and and example of what your output should be. &amp;nbsp;The post you have just made is different to the post you first made, you are no longer "transposing data", but actually creating dataset structure. &amp;nbsp;In which case I would seay the better option is to create an empty table, proc sql - generated from your metadata table, then insert the various values into each column as the logic to insert the data will be different for each datatype.&lt;/P&gt;</description>
    <pubDate>Fri, 11 Nov 2016 12:43:43 GMT</pubDate>
    <dc:creator>RW9</dc:creator>
    <dc:date>2016-11-11T12:43:43Z</dc:date>
    <item>
      <title>How can we Transpose data so that values in row become headers &amp; add empty values in the first row</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-can-we-Transpose-data-so-that-values-in-row-become-headers/m-p/310934#M21012</link>
      <description>&lt;P&gt;I have following SAS EG code to create a table with header as 'Name':&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;    data have;
    input Name $;
    cards;&lt;BR /&gt;
    DATE
    DIAM
    ET
    PXMC
    PWC
    PWSC
    Site
    Time
    TPMC
    SF
    ;
    run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;BR /&gt;What I want to do is to Transpose the above table (so that column values of 'Name' become header and also insert 5 rows with NULL values (a dot,&amp;nbsp; . ) as shown below:&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DATE&amp;nbsp;&amp;nbsp; &amp;nbsp;DIAM&amp;nbsp;&amp;nbsp; &amp;nbsp;ET&amp;nbsp;&amp;nbsp; &amp;nbsp;PXMC&amp;nbsp;&amp;nbsp; &amp;nbsp;PWC&amp;nbsp;&amp;nbsp; &amp;nbsp;PWSC&amp;nbsp;&amp;nbsp; &amp;nbsp;Site&amp;nbsp;&amp;nbsp; &amp;nbsp;Time&amp;nbsp;&amp;nbsp; &amp;nbsp;TPMC&amp;nbsp;&amp;nbsp; &amp;nbsp;SF&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .&amp;nbsp;&amp;nbsp; &amp;nbsp;.&amp;nbsp;&amp;nbsp; &amp;nbsp;.&amp;nbsp;&amp;nbsp; &amp;nbsp;.&amp;nbsp;&amp;nbsp; &amp;nbsp;.&amp;nbsp;&amp;nbsp; &amp;nbsp;.&amp;nbsp;&amp;nbsp; &amp;nbsp;.&amp;nbsp;&amp;nbsp; &amp;nbsp;.&amp;nbsp;&amp;nbsp; &amp;nbsp;.&amp;nbsp;&amp;nbsp; &amp;nbsp;.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;How can it be done using proc SQL or something?&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 11 Nov 2016 12:06:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-can-we-Transpose-data-so-that-values-in-row-become-headers/m-p/310934#M21012</guid>
      <dc:creator>imanojkumar1</dc:creator>
      <dc:date>2016-11-11T12:06:40Z</dc:date>
    </item>
    <item>
      <title>Re: How can we Transpose a table to make values as headers and adding empty values rows</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-can-we-Transpose-data-so-that-values-in-row-become-headers/m-p/310936#M21013</link>
      <description>&lt;P&gt;SQL would be a valid approach. &amp;nbsp;It can capture all the names:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc sql noprint;&lt;/P&gt;
&lt;P&gt;select name into : varlist separated by ' ' from have;&lt;/P&gt;
&lt;P&gt;quit;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Then a DATA step could use the list of names:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data want;&lt;/P&gt;
&lt;P&gt;length &amp;amp;varlist 8;&lt;/P&gt;
&lt;P&gt;do _n_=1 to 5;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;output;&lt;/P&gt;
&lt;P&gt;end;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There will be notes about variables being uninitialized. &amp;nbsp;In this case, the notes are harmless.&lt;/P&gt;</description>
      <pubDate>Fri, 11 Nov 2016 12:08:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-can-we-Transpose-data-so-that-values-in-row-become-headers/m-p/310936#M21013</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2016-11-11T12:08:04Z</dc:date>
    </item>
    <item>
      <title>Re: How can we Transpose a table to make values as headers and adding empty values rows</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-can-we-Transpose-data-so-that-values-in-row-become-headers/m-p/310939#M21014</link>
      <description>&lt;P&gt;Thank you so much. it worked. But there is a bigger issue. The dimensions I forgot to tell.. something like this formate:&lt;BR /&gt;&lt;BR /&gt;DATE&amp;nbsp;&amp;nbsp;&amp;nbsp; 01JAN16&lt;BR /&gt;DIAM&amp;nbsp;&amp;nbsp;&amp;nbsp; numeric&lt;BR /&gt;ET&amp;nbsp;&amp;nbsp;&amp;nbsp; character&lt;BR /&gt;PXMC&amp;nbsp;&amp;nbsp;&amp;nbsp; character&lt;BR /&gt;PWC&amp;nbsp;&amp;nbsp;&amp;nbsp; character&lt;BR /&gt;PWSC&amp;nbsp;&amp;nbsp;&amp;nbsp; character&lt;BR /&gt;Site&amp;nbsp;&amp;nbsp;&amp;nbsp; character&lt;BR /&gt;Time&amp;nbsp;&amp;nbsp;&amp;nbsp; time format 00:00&lt;BR /&gt;TPMC&amp;nbsp;&amp;nbsp;&amp;nbsp; character&lt;BR /&gt;SF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; numeric&lt;BR /&gt;&lt;BR /&gt;I wonder if we could have done with the above procedure ? is it possible?&lt;BR /&gt;&lt;BR /&gt;Why because, if dataset has veyr large headers, manually change of Data Type would be challenging and time consuming.&lt;/P&gt;</description>
      <pubDate>Fri, 11 Nov 2016 12:20:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-can-we-Transpose-data-so-that-values-in-row-become-headers/m-p/310939#M21014</guid>
      <dc:creator>imanojkumar1</dc:creator>
      <dc:date>2016-11-11T12:20:23Z</dc:date>
    </item>
    <item>
      <title>Re: How can we Transpose a table to make values as headers and adding empty values rows</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-can-we-Transpose-data-so-that-values-in-row-become-headers/m-p/310953#M21015</link>
      <description>&lt;P&gt;&amp;nbsp;Please state clearly what your problem is, starting from the start, provide test data which matches your data, and and example of what your output should be. &amp;nbsp;The post you have just made is different to the post you first made, you are no longer "transposing data", but actually creating dataset structure. &amp;nbsp;In which case I would seay the better option is to create an empty table, proc sql - generated from your metadata table, then insert the various values into each column as the logic to insert the data will be different for each datatype.&lt;/P&gt;</description>
      <pubDate>Fri, 11 Nov 2016 12:43:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-can-we-Transpose-data-so-that-values-in-row-become-headers/m-p/310953#M21015</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2016-11-11T12:43:43Z</dc:date>
    </item>
    <item>
      <title>Re: How can we Transpose a table to make values as headers and adding empty values rows</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-can-we-Transpose-data-so-that-values-in-row-become-headers/m-p/310956#M21016</link>
      <description>&lt;P&gt;If you're using the EG GUI under Tasks&amp;gt;Data there should be a TRANSPOSE task that you can play around with to get your requirements.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Otherwise, I highly suggest posting sample input and output data. Yes, your data is confidential, so make up fake data if necessary.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 11 Nov 2016 12:55:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-can-we-Transpose-data-so-that-values-in-row-become-headers/m-p/310956#M21016</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-11-11T12:55:43Z</dc:date>
    </item>
    <item>
      <title>Re: How can we Transpose a table to make values as headers and adding empty values rows</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-can-we-Transpose-data-so-that-values-in-row-become-headers/m-p/310963#M21017</link>
      <description>&lt;P&gt;This is wahat we have...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data have;&lt;BR /&gt;&amp;nbsp;input Name $;&lt;BR /&gt;&amp;nbsp;cards;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DATE&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DIAM&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ET&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PXMC&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PWC&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PWSC&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Site&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Time&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TPMC&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SF&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&lt;BR /&gt;&amp;nbsp;run;&lt;BR /&gt;&lt;BR /&gt;proc sql noprint;&lt;BR /&gt;select name into : varlist separated by ' ' from have;&lt;BR /&gt;quit;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;data want;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; length &amp;amp;varlist 8;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; do _n_=1 to 5;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; output;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; end;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;But after transposing, all the variables are NUMERIC data type.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Instead of numeric, I was looking for a way to change the data type something like..&lt;/P&gt;&lt;P&gt;Date&amp;nbsp; as 'date.' &amp;nbsp; (data type, which will result in 01JAN2016 if we enter data for example 01.01.2016)&lt;/P&gt;&lt;P&gt;SF is already 'numeric' so no need to&lt;/P&gt;&lt;P&gt;ET as character data type ( so we need to convert from numeric to character, may be using 'put' or someother method)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Sample data:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;DATE&lt;/TD&gt;&lt;TD&gt;DIAM&lt;/TD&gt;&lt;TD&gt;ET&lt;/TD&gt;&lt;TD&gt;PXMC&lt;/TD&gt;&lt;TD&gt;PWC&lt;/TD&gt;&lt;TD&gt;PWSC&lt;/TD&gt;&lt;TD&gt;Site&lt;/TD&gt;&lt;TD&gt;Time&lt;/TD&gt;&lt;TD&gt;TPMC&lt;/TD&gt;&lt;TD&gt;SF&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;01JAN16&lt;/TD&gt;&lt;TD&gt;290&lt;/TD&gt;&lt;TD&gt;SW01&lt;/TD&gt;&lt;TD&gt;SW001A&lt;/TD&gt;&lt;TD&gt;1101&lt;/TD&gt;&lt;TD&gt;1101-2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;18:12&lt;/TD&gt;&lt;TD&gt;7101&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;02JAN16&lt;/TD&gt;&lt;TD&gt;285&lt;/TD&gt;&lt;TD&gt;SW01&lt;/TD&gt;&lt;TD&gt;SW001B&lt;/TD&gt;&lt;TD&gt;1102&lt;/TD&gt;&lt;TD&gt;1102-2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;12:15&lt;/TD&gt;&lt;TD&gt;7102&lt;/TD&gt;&lt;TD&gt;2&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;Thanks.&lt;/P&gt;</description>
      <pubDate>Fri, 11 Nov 2016 13:30:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-can-we-Transpose-data-so-that-values-in-row-become-headers/m-p/310963#M21017</guid>
      <dc:creator>imanojkumar1</dc:creator>
      <dc:date>2016-11-11T13:30:12Z</dc:date>
    </item>
    <item>
      <title>Re: How can we Transpose a table to make values as headers and adding empty values rows</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-can-we-Transpose-data-so-that-values-in-row-become-headers/m-p/310969#M21019</link>
      <description>&lt;P&gt;Right so you are creating a dataset based on some metadata you have. &amp;nbsp;Now the question is, how should the code know what type/format to apply to each column? &amp;nbsp;Sure, I could guess that date should be a date format - althoguh following good coding you would not call a variable date. &amp;nbsp;But what about DIAM, should that be number or character, what length, what format? &amp;nbsp;It may look ok to you and that is because SAS defaults to 8. for non-specified variables. &amp;nbsp;It is not really robust though. &amp;nbsp;I would say that you would at minimum want to add to your source data what the metadata should be:&lt;/P&gt;
&lt;PRE&gt;data have;
  length name fmt $200;
  infile datalines dlm=",";
  input Name $ fmt $;
datalines;
DATE,num format=date.
DIAM,num
ET,char(50)
PXMC,char(50)
PWC,num
PWSC,char(50)
Site,num
Time,num format=time5.
TPMC,num
SF,num
;
run;

data _null_;
  set have end=last;
  if _n_=1 then call execute('proc sql; create table WANT ('||strip(name)||" "||strip(fmt));
  call execute(","||strip(name)||" "||strip(fmt));
  if last then call execute(');quit;');
run;
&lt;/PRE&gt;
&lt;P&gt;That is of course aside from the point though, why do you programatically need to create a dataset, I mean its not like your going to repeatedly create a dataset, and if you are then create an emtpy dataset, call it myteplate or something, and then set your data with the template. &amp;nbsp;All the above is just a waste of coding space really.&lt;/P&gt;</description>
      <pubDate>Fri, 11 Nov 2016 13:45:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-can-we-Transpose-data-so-that-values-in-row-become-headers/m-p/310969#M21019</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2016-11-11T13:45:22Z</dc:date>
    </item>
    <item>
      <title>Re: How can we Transpose a table to make values as headers and adding empty values rows</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-can-we-Transpose-data-so-that-values-in-row-become-headers/m-p/310974#M21021</link>
      <description>Thanks so much... Now I got the idea how we can do it..</description>
      <pubDate>Fri, 11 Nov 2016 13:51:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-can-we-Transpose-data-so-that-values-in-row-become-headers/m-p/310974#M21021</guid>
      <dc:creator>imanojkumar1</dc:creator>
      <dc:date>2016-11-11T13:51:09Z</dc:date>
    </item>
    <item>
      <title>Re: How can we Transpose a table to make values as headers and adding empty values rows</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-can-we-Transpose-data-so-that-values-in-row-become-headers/m-p/310976#M21022</link>
      <description>&lt;P&gt;Do take on board however my point, that there is almost never a need to do this. &amp;nbsp;If you doing it, then liklihood is your process could be improved.&lt;/P&gt;</description>
      <pubDate>Fri, 11 Nov 2016 13:53:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/How-can-we-Transpose-data-so-that-values-in-row-become-headers/m-p/310976#M21022</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2016-11-11T13:53:23Z</dc:date>
    </item>
  </channel>
</rss>

