<?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: Reverse Column Order in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Reverse-Column-Order/m-p/444900#M111428</link>
    <description>&lt;P&gt;I agree with&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/31304"&gt;@PeterClemmensen&lt;/a&gt;&amp;nbsp;in principle, but suggest using retain rather than format. Using format, as such, you'd lose any formats that you had assigned. So, instead, I'd recommend using:&lt;/P&gt;
&lt;PRE&gt;proc sql noprint;
   select name into :vars separated by ' '
   from dictionary.columns
   where libname="SASHELP" and memname='CLASS'
   order by varnum descending;
quit;

data want;
   retain &amp;amp;vars.;
   set sashelp.class;
run;
&lt;/PRE&gt;
&lt;P&gt;That way you don't risk losing anything,&lt;/P&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 12 Mar 2018 19:25:25 GMT</pubDate>
    <dc:creator>art297</dc:creator>
    <dc:date>2018-03-12T19:25:25Z</dc:date>
    <item>
      <title>Reverse Column Order</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Reverse-Column-Order/m-p/444892#M111424</link>
      <description>&lt;P&gt;&lt;SPAN&gt;I'm looking to reverse the order of all columns in a sas dataset. I believe the best way to do this would be to transpose the column data to be rows and then reorder the rows.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Here is my code:&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;*Step One;
data pre_transpose; 
            set sashelp.class;
            *set &amp;amp;&amp;amp;dataset&amp;amp;i.. ;    
                _row_ + 1;              * Unique identifier ;
                length _charvar_ $20;   * Create 1 character variable ;
            run; 

*Step Two --&amp;gt; Is this where I would reverse columns? ;
proc transpose data = pre_transpose out = middle (where = (lowcase(_name_) ne '_row_'));
                by _row_;
                var _all_;
            quit; 

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;SPAN&gt;Here are pictures of my output:&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Step One" style="width: 600px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/19157i8088233613FA3A1A/image-size/large?v=v2&amp;amp;px=999" role="button" title="pre_transpose.PNG" alt="Step One" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Step One&lt;/span&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Step Two - Do I Reverse Column Order Here?" style="width: 600px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/19158i2F3CCD127F03B2B5/image-size/large?v=v2&amp;amp;px=999" role="button" title="transposed.PNG" alt="Step Two - Do I Reverse Column Order Here?" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Step Two - Do I Reverse Column Order Here?&lt;/span&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;So, would I reverse the column order in the second step or is there a better way of achieving&amp;nbsp;this result?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 12 Mar 2018 19:08:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Reverse-Column-Order/m-p/444892#M111424</guid>
      <dc:creator>lhsumdalum</dc:creator>
      <dc:date>2018-03-12T19:08:17Z</dc:date>
    </item>
    <item>
      <title>Re: Reverse Column Order</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Reverse-Column-Order/m-p/444896#M111425</link>
      <description>&lt;P&gt;Do something like this&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql noprint;
   select name into :vars separated by ' '
   from dictionary.columns
   where libname="SASHELP" and memname='CLASS'
   order by varnum descending;
quit;

%put &amp;amp;vars.;

data want;
   format &amp;amp;vars.;
   set sashelp.class;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 12 Mar 2018 19:20:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Reverse-Column-Order/m-p/444896#M111425</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2018-03-12T19:20:29Z</dc:date>
    </item>
    <item>
      <title>Re: Reverse Column Order</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Reverse-Column-Order/m-p/444898#M111427</link>
      <description>Thanks for your reply, I like the proc sql macro method you have suggested. I'm curious what I would replace libname = "SASHELP" and memname = 'CLASS' with if I choose to run this on any dataset from a specified directory?</description>
      <pubDate>Mon, 12 Mar 2018 19:23:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Reverse-Column-Order/m-p/444898#M111427</guid>
      <dc:creator>lhsumdalum</dc:creator>
      <dc:date>2018-03-12T19:23:45Z</dc:date>
    </item>
    <item>
      <title>Re: Reverse Column Order</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Reverse-Column-Order/m-p/444900#M111428</link>
      <description>&lt;P&gt;I agree with&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/31304"&gt;@PeterClemmensen&lt;/a&gt;&amp;nbsp;in principle, but suggest using retain rather than format. Using format, as such, you'd lose any formats that you had assigned. So, instead, I'd recommend using:&lt;/P&gt;
&lt;PRE&gt;proc sql noprint;
   select name into :vars separated by ' '
   from dictionary.columns
   where libname="SASHELP" and memname='CLASS'
   order by varnum descending;
quit;

data want;
   retain &amp;amp;vars.;
   set sashelp.class;
run;
&lt;/PRE&gt;
&lt;P&gt;That way you don't risk losing anything,&lt;/P&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 12 Mar 2018 19:25:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Reverse-Column-Order/m-p/444900#M111428</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2018-03-12T19:25:25Z</dc:date>
    </item>
    <item>
      <title>Re: Reverse Column Order</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Reverse-Column-Order/m-p/444904#M111430</link>
      <description>This did not reverse the order of the columns for me. My log states this: "NOTE: The query as specified involves ordering by an item that doesn't appear in its select clause."</description>
      <pubDate>Mon, 12 Mar 2018 19:33:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Reverse-Column-Order/m-p/444904#M111430</guid>
      <dc:creator>lhsumdalum</dc:creator>
      <dc:date>2018-03-12T19:33:06Z</dc:date>
    </item>
    <item>
      <title>Re: Reverse Column Order</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Reverse-Column-Order/m-p/444910#M111433</link>
      <description>&lt;P&gt;Show the code you submitted. The libname and memname have to be in upper case. Were they?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 12 Mar 2018 19:45:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Reverse-Column-Order/m-p/444910#M111433</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2018-03-12T19:45:22Z</dc:date>
    </item>
    <item>
      <title>Re: Reverse Column Order</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Reverse-Column-Order/m-p/444914#M111435</link>
      <description>&lt;P&gt;Art. thank you for clarifying that the libname and memname statements have to be in upper case. This has resolved my issue!&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 12 Mar 2018 19:49:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Reverse-Column-Order/m-p/444914#M111435</guid>
      <dc:creator>lhsumdalum</dc:creator>
      <dc:date>2018-03-12T19:49:38Z</dc:date>
    </item>
  </channel>
</rss>

