<?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: rename column in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/rename-column/m-p/630172#M186517</link>
    <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/*------------------------------------------------------------eric-*/
/*-- This tagset creates sql statements to create a table        --*/
/*-- and insert all the records in the dataset.  The resulting   --*/
/*-- output will have the table create statement followed by     --*/
/*-- the insert statements.                                      --*/
/*--                                                             --*/
/*-- This has only been tested with proc print, although it may  --*/
/*-- Work with other proc's as well.                             --*/
/*--                                                             --*/
/*-- This isn't anything fancy, all it handles are strings,      --*/
/*-- integers and numbers.  It could do more by using the        --*/
/*-- value of sasformat.                                         --*/
/*---------------------------------------------------------12Feb04-*/

proc template;
  define tagset tagsets.sql;

      /*---------------------------------------------------------------eric-*/
      /*-- Set up some look-up tables for convenience.                    --*/
      /*------------------------------------------------------------11Feb04-*/
      /* type translations */
      define event type_translations;
          set $types['string'] 'varchar';
          set $types['double'] 'float';
          set $types['int']    'integer';
      end;

      /* column name translation */
      define event name_translations;
          set $name_trans['desc'] 'description';
      end;
  
      define event initialize;
          trigger type_translations;
          trigger name_translations;

          /* types that need widths */
          set $types_with_widths['string'] "True";

          /* types that need quotes */
          set $types_with_quotes['string'] "True";
      end;
  
      /*---------------------------------------------------------------eric-*/
      /*-- Reset everything so we can run one proc print after another.   --*/
      /*------------------------------------------------------------11Feb04-*/
      define event table;
          unset $names;
          unset $col_types;
          unset $columns;
          unset $values;
          unset $lowname;
      end;


      define event colspec_entry;
          /*---------------------------------------------------------------eric-*/
          /*-- Ignore the obs column.  The value will get ignored because     --*/
          /*-- it will be in a header cell and we don't define a header       --*/
          /*-- event to catch it.                                             --*/
          /*------------------------------------------------------------12Feb04-*/
          break /if cmp(name, 'obs');

          /*---------------------------------------------------------------eric-*/
          /*-- Create a list of column names.  Translate the names            --*/
          /*-- if they are in the translate list.                             --*/
          /*------------------------------------------------------------11Feb04-*/
          set $lowname lowcase(name);
          do /if $name_trans[$lowname];      
              set $names[] $name_trans[$lowname];
          else;
              set $names[] $lowname;
          done;

          /* keep a list of types */
          set $col_types[] type;

          /* make a list of column type definitions */
          set $col_def $types[type];

          /* append width if needed */
          set $col_def $col_def "(" colwidth ")" /if $types_with_widths[type];
          
          set $columns[] $col_def;
      end;
      
      /*---------------------------------------------------------------eric-*/
      /*-- Catch the data label and get the data set name from it.        --*/
      /*------------------------------------------------------------11Feb04-*/
      define event output;
          start:
              set $table_name reverse(label);
              set $table_name scan($table_name, 1, '.');
              set $table_name reverse($table_name);
              set $table_name lowcase($table_name);
      end;    

     /*---------------------------------------------------------------eric-*/
     /*-- Print out the create table statement before Any data           --*/
     /*-- rows come along.                                               --*/
     /*------------------------------------------------------------11Feb04-*/
      define event table_body;
          put "Create table " $table_name "(";
          /* put "           "; */

          /* loop over the names, and column definitions */
          eval $i 1;
          unset $not_first;
          do /while $i &amp;lt;= $names;      
              /* comma's only after the first name */
              put ', ' /if $not_first;
              put $names[$i] " ";
              put $columns[$i];
              eval $i $i+1;
              set $not_first "True";
          done;    

          put ");" nl;
      end;
  
      /*---------------------------------------------------------------eric-*/
      /*-- Reset the values at the beginning of each row.  Print the      --*/
      /*-- insert statement at the end of each row.                       --*/
      /*------------------------------------------------------------11Feb04-*/
      define event row;
          start:
              unset $values;
          finish:
              trigger insert;
      end;

      /*---------------------------------------------------------------eric-*/
      /*-- Save away the data.  The Obs column won't hit this because     --*/
      /*-- it's a header.                                                 --*/
      /*------------------------------------------------------------12Feb04-*/
      define event data;
          do /if value;
              set $values[] strip(value);
          else;
              set $values[] ' ';
          done;
      end;
          
      /*---------------------------------------------------------------eric-*/
      /*-- Create the insert statement                                    --*/
      /*------------------------------------------------------------12Feb04-*/
      define event insert;
          finish:
              break /if ^$values;
          
              put "Insert into " $table_name;
              trigger print_names;
              put " Values";
              trigger print_values;
              put ";" nl;
      end;    
      
      /*---------------------------------------------------------------eric-*/
      /*-- Print the list of names.  This could use                       --*/
      /*-- a single putvars statement if it weren't for                   --*/
      /*-- the commas.                                                    --*/
      /*------------------------------------------------------------12Feb04-*/
      define event print_names;
          put "(";
          iterate $names;
          unset $not_first;
          do /while _value_;
              /* comma's only after the first name */
              put ", " /if $not_first;
              put lowcase(_value_);
              set $not_first "true";
              next $names;
          done;
          put ")";
      end;

      /*---------------------------------------------------------------eric-*/
      /*-- Print the values for the insert statement. Commas and quoting  --*/
      /*-- are an issue.  double up the quotes in strings.  Remove        --*/
      /*-- commas from numbers.                                           --*/
      /*------------------------------------------------------------12Feb04-*/
      define event print_values;
          put "(";

          eval $i 1;
          unset $not_first;

          iterate $values;

          do /while _value_;
              put ", " /if $not_first;

              do /if $types_with_quotes[$col_types[$i]]; 
                  put "'" ;
                  put tranwrd(_value_, "'", "''") /if ^cmp(_value_, ' ');
                  put "'";
              else;
                  do /if cmp(_value_, ' ');
                      put '0';
                  else;    
                      put tranwrd(_value_, "," , "") ;
                  done;
              done;    

              set $not_first "true";

              next $values;
              eval $i $i+1;
          done;

          put ")";
      end;
      
  end;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Here's the code from the link.&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 06 Mar 2020 17:40:02 GMT</pubDate>
    <dc:creator>Reeza</dc:creator>
    <dc:date>2020-03-06T17:40:02Z</dc:date>
    <item>
      <title>rename column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/rename-column/m-p/629819#M186357</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I need help renaming column names.&lt;/P&gt;&lt;P&gt;I have around 100 columns like this...&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;&lt;FONT color="#000000" face="Arial" size="2"&gt;79. Q1 2016&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;&lt;FONT color="#000000" face="Arial" size="2"&gt;80. Q2 2016&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;&lt;FONT color="#000000" face="Arial" size="2"&gt;88. Q3 2016&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;&lt;FONT color="#000000" face="Arial" size="2"&gt;82. Q4 2016&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;&lt;FONT color="#000000" face="Arial" size="2"&gt;83. Q1 2017&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;&lt;FONT color="#000000" face="Arial" size="2"&gt;84. Q2 2017&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;&lt;FONT color="#000000" face="Arial" size="2"&gt;85. Q3 2017&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;&lt;FONT color="#000000" face="Arial" size="2"&gt;86. Q4 2017&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;&lt;FONT color="#000000" face="Arial" size="2"&gt;87. Q1 2018&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;&lt;FONT color="#000000" face="Arial" size="2"&gt;89. Q2 2018&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;&lt;FONT color="#000000" face="Arial" size="2"&gt;90. Q3 2018&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;&lt;FONT color="#000000" face="Arial" size="2"&gt;91. Q4 2018&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;..which I want to change to..&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#000000" face="Arial" size="2"&gt;2016-Q1&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="Arial" size="2"&gt;2016-Q2&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="Arial" size="2"&gt;2016-Q3&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="Arial" size="2"&gt;2016-Q4&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="Arial" size="2"&gt;2017-Q1&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="Arial" size="2"&gt;2017-Q2&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="Arial" size="2"&gt;2017-Q3&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="Arial" size="2"&gt;2017-Q4&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="Arial" size="2"&gt;2018-Q1&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="Arial" size="2"&gt;2018-Q2&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="Arial" size="2"&gt;2018-Q3&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000" face="Arial" size="2"&gt;2018-Q4&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to remove the preceding number (which&amp;nbsp;btw may not be in order) and format the quarter as shown above.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How can I do this?&lt;/P&gt;&lt;P&gt;Appreciate any help.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;</description>
      <pubDate>Thu, 05 Mar 2020 14:23:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/rename-column/m-p/629819#M186357</guid>
      <dc:creator>d0816</dc:creator>
      <dc:date>2020-03-05T14:23:26Z</dc:date>
    </item>
    <item>
      <title>Re: rename column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/rename-column/m-p/629821#M186359</link>
      <description>&lt;P&gt;Please give us more context and background about this table. Surely, you know that a SAS variable name cannot begin with a number and can't have dash in it.&lt;/P&gt;</description>
      <pubDate>Thu, 05 Mar 2020 14:37:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/rename-column/m-p/629821#M186359</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2020-03-05T14:37:52Z</dc:date>
    </item>
    <item>
      <title>Re: rename column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/rename-column/m-p/629826#M186362</link>
      <description>&lt;P&gt;Edit: Removed unecessary grouping in the regexp&lt;/P&gt;
&lt;P&gt;Those are not valid sas columns names. Since you are renaming them, for future purpose, you'd better chose&lt;/P&gt;
&lt;P&gt;valid names.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;option validvarname=any;

data have;
    input "79. Q1 2016"n "80. Q2 2016"n;
    cards;
1 2
;
run;

data _NULL_;
    call execute('data want; set have; rename');

    do until (fend);
        set sashelp.vcolumn end=fend;
        where libname="WORK" and memname="HAVE";
        call execute(cats('"',NAME,'"n=',prxchange("s/^[0-9]+. (Q[0-9]+) /$1_/",-1,NAME)));
    end;
    call execute('; run;'); 
    stop;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 05 Mar 2020 14:52:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/rename-column/m-p/629826#M186362</guid>
      <dc:creator>gamotte</dc:creator>
      <dc:date>2020-03-05T14:52:03Z</dc:date>
    </item>
    <item>
      <title>Re: rename column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/rename-column/m-p/629831#M186366</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/10892"&gt;@PaigeMiller&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;yes you are right.&amp;nbsp; I gave you excel column names instead of sas column names. clearly I was not thinking.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;To give you the context, I have a dataset like below.&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;ID&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;First Event Begin Quarter&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;Last Event Begin QTR&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;Last Event End QTR&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_01__Q3_1996&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_02__Q4_1996&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_03__Q1_1997&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_04__Q2_1997&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_05__Q3_1997&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_06__Q4_1997&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_07__Q1_1998&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_08__Q2_1998&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_09__Q3_1998&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_10__Q4_1998&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_11__Q1_1999&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_12__Q2_1999&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_13__Q3_1999&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_14__Q4_1999&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_15__Q1_2000&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_16__Q2_2000&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_17__Q3_2000&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_18__Q4_2000&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_19__Q1_2001&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_20__Q2_2001&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_21__Q3_2001&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_22__Q4_2001&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_23__Q1_2002&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_24__Q2_2002&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_25__Q3_2002&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_26__Q4_2002&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_27__Q1_2003&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_28__Q2_2003&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_29__Q3_2003&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_30__Q4_2003&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_31__Q1_2004&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_32__Q2_2004&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_33__Q3_2004&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_34__Q4_2004&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_35__Q1_2005&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_36__Q2_2005&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_37__Q3_2005&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_38__Q4_2005&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_39__Q1_2006&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_40__Q2_2006&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_41__Q3_2006&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_42__Q4_2006&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_43__Q1_2007&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_44__Q2_2007&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_45__Q3_2007&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_46__Q4_2007&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_47__Q1_2008&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_48__Q2_2008&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_49__Q3_2008&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_50__Q4_2008&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_51__Q1_2009&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_52__Q2_2009&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_53__Q3_2009&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_54__Q4_2009&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_55__Q1_2010&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_56__Q2_2010&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_57__Q3_2010&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_58__Q4_2010&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_59__Q1_2011&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_60__Q2_2011&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_61__Q3_2011&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_62__Q4_2011&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_63__Q1_2012&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_64__Q2_2012&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_65__Q3_2012&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_66__Q4_2012&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_67__Q1_2013&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_68__Q2_2013&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_69__Q3_2013&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_70__Q4_2013&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_71__Q1_2014&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_72__Q2_2014&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_73__Q3_2014&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_74__Q4_2014&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_75__Q1_2015&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_76__Q2_2015&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_77__Q3_2015&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_78__Q4_2015&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_79__Q1_2016&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_80__Q2_2016&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_82__Q4_2016&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_83__Q1_2017&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_84__Q2_2017&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_85__Q3_2017&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_86__Q4_2017&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_87__Q1_2018&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_88__Q3_2016&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_89__Q2_2018&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_90__Q3_2018&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_91__Q4_2018&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_92__Q1_2019&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;_93__Q2_2019&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1998-Q1&lt;/TD&gt;&lt;TD&gt;2017-Q4&lt;/TD&gt;&lt;TD&gt;2018-Q2&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$220.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$132.00&lt;/TD&gt;&lt;TD&gt;$138.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$487.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$919.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$634.00&lt;/TD&gt;&lt;TD&gt;$557.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$739.00&lt;/TD&gt;&lt;TD&gt;$180.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$529.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$33.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$5,577.00&lt;/TD&gt;&lt;TD&gt;$5,577.00&lt;/TD&gt;&lt;TD&gt;$5,467.00&lt;/TD&gt;&lt;TD&gt;$3,959.00&lt;/TD&gt;&lt;TD&gt;$3,698.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2001-Q3&lt;/TD&gt;&lt;TD&gt;2017-Q4&lt;/TD&gt;&lt;TD&gt;2018-Q2&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$67.00&lt;/TD&gt;&lt;TD&gt;$150.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$696.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$1,007.00&lt;/TD&gt;&lt;TD&gt;$1,307.00&lt;/TD&gt;&lt;TD&gt;$2,824.00&lt;/TD&gt;&lt;TD&gt;$103.00&lt;/TD&gt;&lt;TD&gt;$1,918.00&lt;/TD&gt;&lt;TD&gt;$2,150.00&lt;/TD&gt;&lt;TD&gt;$1,229.00&lt;/TD&gt;&lt;TD&gt;$86.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$1,179.00&lt;/TD&gt;&lt;TD&gt;$1,629.00&lt;/TD&gt;&lt;TD&gt;$2,679.00&lt;/TD&gt;&lt;TD&gt;$2,659.00&lt;/TD&gt;&lt;TD&gt;$551.00&lt;/TD&gt;&lt;TD&gt;$1,550.00&lt;/TD&gt;&lt;TD&gt;$3,552.00&lt;/TD&gt;&lt;TD&gt;$909.00&lt;/TD&gt;&lt;TD&gt;$894.00&lt;/TD&gt;&lt;TD&gt;$3,099.00&lt;/TD&gt;&lt;TD&gt;$2,087.00&lt;/TD&gt;&lt;TD&gt;$3,648.00&lt;/TD&gt;&lt;TD&gt;$878.00&lt;/TD&gt;&lt;TD&gt;$1,388.00&lt;/TD&gt;&lt;TD&gt;$2,450.00&lt;/TD&gt;&lt;TD&gt;$2,613.00&lt;/TD&gt;&lt;TD&gt;$694.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$1,494.00&lt;/TD&gt;&lt;TD&gt;$3.00&lt;/TD&gt;&lt;TD&gt;$300.00&lt;/TD&gt;&lt;TD&gt;$1,088.00&lt;/TD&gt;&lt;TD&gt;$2,171.00&lt;/TD&gt;&lt;TD&gt;$688.00&lt;/TD&gt;&lt;TD&gt;$4,193.00&lt;/TD&gt;&lt;TD&gt;$3,856.00&lt;/TD&gt;&lt;TD&gt;$4,393.00&lt;/TD&gt;&lt;TD&gt;$4,744.00&lt;/TD&gt;&lt;TD&gt;$4,271.00&lt;/TD&gt;&lt;TD&gt;$3,654.00&lt;/TD&gt;&lt;TD&gt;$4,407.00&lt;/TD&gt;&lt;TD&gt;$4,468.00&lt;/TD&gt;&lt;TD&gt;$4,449.00&lt;/TD&gt;&lt;TD&gt;$1,849.00&lt;/TD&gt;&lt;TD&gt;$2,746.00&lt;/TD&gt;&lt;TD&gt;$2,852.00&lt;/TD&gt;&lt;TD&gt;$2,415.00&lt;/TD&gt;&lt;TD&gt;$1,956.00&lt;/TD&gt;&lt;TD&gt;$1,027.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$3,141.00&lt;/TD&gt;&lt;TD&gt;$3,987.00&lt;/TD&gt;&lt;TD&gt;$3,775.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$1,619.00&lt;/TD&gt;&lt;TD&gt;$3,053.00&lt;/TD&gt;&lt;TD&gt;$3,230.00&lt;/TD&gt;&lt;TD&gt;$2,009.00&lt;/TD&gt;&lt;TD&gt;$4,508.00&lt;/TD&gt;&lt;TD&gt;$6,575.00&lt;/TD&gt;&lt;TD&gt;$8,747.00&lt;/TD&gt;&lt;TD&gt;$6,005.00&lt;/TD&gt;&lt;TD&gt;$4,886.00&lt;/TD&gt;&lt;TD&gt;$4,382.00&lt;/TD&gt;&lt;TD&gt;$3,898.00&lt;/TD&gt;&lt;TD&gt;$3,481.00&lt;/TD&gt;&lt;TD&gt;$1,636.00&lt;/TD&gt;&lt;TD&gt;$2,343.00&lt;/TD&gt;&lt;TD&gt;$5,689.00&lt;/TD&gt;&lt;TD&gt;$3,519.00&lt;/TD&gt;&lt;TD&gt;$3,539.00&lt;/TD&gt;&lt;TD&gt;$4,791.00&lt;/TD&gt;&lt;TD&gt;$3,635.00&lt;/TD&gt;&lt;TD&gt;$3,968.00&lt;/TD&gt;&lt;TD&gt;$3,686.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$6,687.00&lt;/TD&gt;&lt;TD&gt;$3,877.00&lt;/TD&gt;&lt;TD&gt;$8,302.00&lt;/TD&gt;&lt;TD&gt;$8,302.00&lt;/TD&gt;&lt;TD&gt;$7,478.00&lt;/TD&gt;&lt;TD&gt;$15.00&lt;/TD&gt;&lt;TD&gt;$5,605.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;1996-Q1&lt;/TD&gt;&lt;TD&gt;2018-Q1&lt;/TD&gt;&lt;TD&gt;2018-Q2&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$534.00&lt;/TD&gt;&lt;TD&gt;$1,623.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$121.00&lt;/TD&gt;&lt;TD&gt;$912.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$392.00&lt;/TD&gt;&lt;TD&gt;$387.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$1,749.00&lt;/TD&gt;&lt;TD&gt;$312.00&lt;/TD&gt;&lt;TD&gt;$2,186.00&lt;/TD&gt;&lt;TD&gt;$2,211.00&lt;/TD&gt;&lt;TD&gt;$1,503.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$627.00&lt;/TD&gt;&lt;TD&gt;$2,013.00&lt;/TD&gt;&lt;TD&gt;$1,582.00&lt;/TD&gt;&lt;TD&gt;$1,146.00&lt;/TD&gt;&lt;TD&gt;$974.00&lt;/TD&gt;&lt;TD&gt;$2,438.00&lt;/TD&gt;&lt;TD&gt;$1,493.00&lt;/TD&gt;&lt;TD&gt;$3,083.00&lt;/TD&gt;&lt;TD&gt;$4,418.00&lt;/TD&gt;&lt;TD&gt;$2,753.00&lt;/TD&gt;&lt;TD&gt;$2,652.00&lt;/TD&gt;&lt;TD&gt;$4,118.00&lt;/TD&gt;&lt;TD&gt;$3,849.00&lt;/TD&gt;&lt;TD&gt;$2,573.00&lt;/TD&gt;&lt;TD&gt;$3,030.00&lt;/TD&gt;&lt;TD&gt;$3,291.00&lt;/TD&gt;&lt;TD&gt;$2,925.00&lt;/TD&gt;&lt;TD&gt;$3,519.00&lt;/TD&gt;&lt;TD&gt;$2,358.00&lt;/TD&gt;&lt;TD&gt;$2,340.00&lt;/TD&gt;&lt;TD&gt;$4,104.00&lt;/TD&gt;&lt;TD&gt;$3,618.00&lt;/TD&gt;&lt;TD&gt;$4,212.00&lt;/TD&gt;&lt;TD&gt;$1,112.00&lt;/TD&gt;&lt;TD&gt;$3,962.00&lt;/TD&gt;&lt;TD&gt;$3,031.00&lt;/TD&gt;&lt;TD&gt;$4,057.00&lt;/TD&gt;&lt;TD&gt;$361.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$957.00&lt;/TD&gt;&lt;TD&gt;$3,360.00&lt;/TD&gt;&lt;TD&gt;$1,620.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$2,347.00&lt;/TD&gt;&lt;TD&gt;$3,332.00&lt;/TD&gt;&lt;TD&gt;$3,817.00&lt;/TD&gt;&lt;TD&gt;$553.00&lt;/TD&gt;&lt;TD&gt;$478.00&lt;/TD&gt;&lt;TD&gt;$2,929.00&lt;/TD&gt;&lt;TD&gt;$3,419.00&lt;/TD&gt;&lt;TD&gt;$2,310.00&lt;/TD&gt;&lt;TD&gt;$2,671.00&lt;/TD&gt;&lt;TD&gt;$2,866.00&lt;/TD&gt;&lt;TD&gt;$3,456.00&lt;/TD&gt;&lt;TD&gt;$3,224.00&lt;/TD&gt;&lt;TD&gt;$2,951.00&lt;/TD&gt;&lt;TD&gt;$2,927.00&lt;/TD&gt;&lt;TD&gt;$2,566.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$3,241.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$2,228.00&lt;/TD&gt;&lt;TD&gt;$2,956.00&lt;/TD&gt;&lt;TD&gt;$3,619.00&lt;/TD&gt;&lt;TD&gt;$3,619.00&lt;/TD&gt;&lt;TD&gt;$3,788.00&lt;/TD&gt;&lt;TD&gt;$2,962.00&lt;/TD&gt;&lt;TD&gt;$4,186.00&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I need to add three columns like below&amp;nbsp;where&amp;nbsp;I need to match the quarter with the column quarter and&amp;nbsp;pick that value&amp;nbsp;in that matching column quarter like below. If there is no matching column quarter I need to identify that and so put -$1.00 (no value is actual dataset is negative). I thought I will start with making the column names same but clearly I was not thinking.&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Amount in First Begin QTR&lt;/TD&gt;&lt;TD&gt;Amount in Last Begin QTR&lt;/TD&gt;&lt;TD&gt;Amount in Last End QTR&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$5,577.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;$2,679.00&lt;/TD&gt;&lt;TD&gt;$0.00&lt;/TD&gt;&lt;TD&gt;$8,302.00&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;-$1.00&lt;/TD&gt;&lt;TD&gt;$2,228.00&lt;/TD&gt;&lt;TD&gt;$3,619.00&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How can I add these three columns?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;</description>
      <pubDate>Thu, 05 Mar 2020 15:06:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/rename-column/m-p/629831#M186366</guid>
      <dc:creator>d0816</dc:creator>
      <dc:date>2020-03-05T15:06:36Z</dc:date>
    </item>
    <item>
      <title>Re: rename column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/rename-column/m-p/629833#M186367</link>
      <description>&lt;P&gt;So the table you now show, is that the Excel table, or the SAS data set? Does it get created somehow earlier in your code/process flow, or is this a data set / Excel file that is provided to you and you're stuck with it?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As a general rule, these types of analyses are much easier handled when you have a long data set rather than a wide one. In the long data set, your _01___Q3_1996 becomes an identifier rather than a column heading. So, first thing I would do is transpose this data set, but we still need a lot more background and detail in order to provide specific code. Also, are the values 1998-Q1 and so on in the columns on the left actual numeric SAS date values, or are they character strings?&lt;/P&gt;</description>
      <pubDate>Thu, 05 Mar 2020 15:37:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/rename-column/m-p/629833#M186367</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2020-03-05T15:37:35Z</dc:date>
    </item>
    <item>
      <title>Re: rename column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/rename-column/m-p/629838#M186370</link>
      <description>&lt;P&gt;I am provided excel file in a wide-form and I am importing it to sas. So I am stuck with it. so, &amp;nbsp;01. Q3 1996 in excel becomes _01__Q3_1996 in sas.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;First Event Begin Quarter, Last Event Begin QTR, Last Event End QTR got imported as Type Char, Length 7, Format $7., and Informat $5.&amp;nbsp;. &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;_01___Q3_1996 and&amp;nbsp;most of the columns&amp;nbsp;got&amp;nbsp;imported as Type Char, Length 5, Format $5., and Informat $5.&amp;nbsp;.Some columns got imported as Type Num, Length 8, Format NLMNY15.2, and&amp;nbsp; no Informat.&lt;/P&gt;</description>
      <pubDate>Thu, 05 Mar 2020 15:29:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/rename-column/m-p/629838#M186370</guid>
      <dc:creator>d0816</dc:creator>
      <dc:date>2020-03-05T15:29:22Z</dc:date>
    </item>
    <item>
      <title>Re: rename column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/rename-column/m-p/629841#M186371</link>
      <description>&lt;P&gt;Well, isn't that lovely? A difficult problem made worse by an absurd layout of the data. Please convey my dislike to the people who provided the table.&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN&gt;_01___Q3_1996 and&amp;nbsp;most of the columns&amp;nbsp;got&amp;nbsp;imported as Type Char, Length 5, Format $5., and Informat $5.&amp;nbsp;.Some columns got imported as Type Num, Length 8, Format NLMNY15.2, and&amp;nbsp; no Informat.&lt;/SPAN&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;And of course, this makes the problem even harder.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Please provide the SAS data set in DATA step code, by following these instructions:&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://communities.sas.com/t5/SAS-Communities-Library/How-to-create-a-data-step-version-of-your-data-AKA-generate/ta-p/258712" target="_blank"&gt;How to create a data step version of your data AKA generate sample data for forums&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 05 Mar 2020 15:42:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/rename-column/m-p/629841#M186371</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2020-03-05T15:42:37Z</dc:date>
    </item>
    <item>
      <title>Re: rename column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/rename-column/m-p/629865#M186385</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/10892"&gt;@PaigeMiller&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am not being able to generate the sas data set following the method. I tried the codes including the edits. I am getting errors.&lt;/P&gt;</description>
      <pubDate>Thu, 05 Mar 2020 16:25:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/rename-column/m-p/629865#M186385</guid>
      <dc:creator>d0816</dc:creator>
      <dc:date>2020-03-05T16:25:30Z</dc:date>
    </item>
    <item>
      <title>Re: rename column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/rename-column/m-p/629891#M186402</link>
      <description>&lt;UL&gt;
&lt;LI&gt;Transpose your data to a long format instead of a wide format.&lt;/LI&gt;
&lt;LI&gt;Extract the Quarter and Date from the variable name, which is now a column itself. You now have a long data set with time series type format.&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;Clean up names using SCAN() function within a data step&lt;/LI&gt;
&lt;LI&gt;Transpose to Wide again (if needed) using PROC TRANSPOSE and the ID statement to get the labels correct and use your new measure&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color="#800080"&gt;&lt;STRONG&gt;OR&lt;/STRONG&gt;&lt;/FONT&gt; calculate your new measures from the long format and append them to your data set and then Transpose.&amp;nbsp;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Transposing data tutorials:&lt;/STRONG&gt;&lt;BR /&gt;Long to Wide:&lt;BR /&gt;&lt;A href="https://stats.idre.ucla.edu/sas/modules/how-to-reshape-data-long-to-wide-using-proc-transpose/" target="_blank"&gt;https://stats.idre.ucla.edu/sas/modules/how-to-reshape-data-long-to-wide-using-proc-transpose/&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="https://stats.idre.ucla.edu/sas/modules/reshaping-data-long-to-wide-using-the-data-step/" target="_blank"&gt;https://stats.idre.ucla.edu/sas/modules/reshaping-data-long-to-wide-using-the-data-step/&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;Wide to Long:&lt;BR /&gt;&lt;A href="https://stats.idre.ucla.edu/sas/modules/how-to-reshape-data-wide-to-long-using-proc-transpose/" target="_blank"&gt;https://stats.idre.ucla.edu/sas/modules/how-to-reshape-data-wide-to-long-using-proc-transpose/&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="https://stats.idre.ucla.edu/sas/modules/reshaping-data-wide-to-long-using-a-data-step/" target="_blank"&gt;https://stats.idre.ucla.edu/sas/modules/reshaping-data-wide-to-long-using-a-data-step/&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/155169"&gt;@d0816&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/10892"&gt;@PaigeMiller&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;yes you are right.&amp;nbsp; I gave you excel column names instead of sas column names. clearly I was not thinking.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;To give you the context, I have a dataset like below.&lt;/P&gt;
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;STRONG&gt;ID&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;First Event Begin Quarter&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;Last Event Begin QTR&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;Last Event End QTR&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_01__Q3_1996&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_02__Q4_1996&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_03__Q1_1997&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_04__Q2_1997&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_05__Q3_1997&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_06__Q4_1997&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_07__Q1_1998&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_08__Q2_1998&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_09__Q3_1998&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_10__Q4_1998&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_11__Q1_1999&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_12__Q2_1999&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_13__Q3_1999&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_14__Q4_1999&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_15__Q1_2000&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_16__Q2_2000&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_17__Q3_2000&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_18__Q4_2000&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_19__Q1_2001&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_20__Q2_2001&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_21__Q3_2001&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_22__Q4_2001&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_23__Q1_2002&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_24__Q2_2002&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_25__Q3_2002&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_26__Q4_2002&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_27__Q1_2003&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_28__Q2_2003&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_29__Q3_2003&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_30__Q4_2003&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_31__Q1_2004&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_32__Q2_2004&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_33__Q3_2004&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_34__Q4_2004&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_35__Q1_2005&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_36__Q2_2005&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_37__Q3_2005&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_38__Q4_2005&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_39__Q1_2006&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_40__Q2_2006&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_41__Q3_2006&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_42__Q4_2006&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_43__Q1_2007&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_44__Q2_2007&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_45__Q3_2007&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_46__Q4_2007&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_47__Q1_2008&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_48__Q2_2008&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_49__Q3_2008&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_50__Q4_2008&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_51__Q1_2009&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_52__Q2_2009&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_53__Q3_2009&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_54__Q4_2009&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_55__Q1_2010&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_56__Q2_2010&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_57__Q3_2010&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_58__Q4_2010&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_59__Q1_2011&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_60__Q2_2011&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_61__Q3_2011&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_62__Q4_2011&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_63__Q1_2012&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_64__Q2_2012&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_65__Q3_2012&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_66__Q4_2012&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_67__Q1_2013&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_68__Q2_2013&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_69__Q3_2013&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_70__Q4_2013&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_71__Q1_2014&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_72__Q2_2014&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_73__Q3_2014&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_74__Q4_2014&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_75__Q1_2015&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_76__Q2_2015&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_77__Q3_2015&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_78__Q4_2015&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_79__Q1_2016&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_80__Q2_2016&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_82__Q4_2016&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_83__Q1_2017&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_84__Q2_2017&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_85__Q3_2017&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_86__Q4_2017&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_87__Q1_2018&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_88__Q3_2016&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_89__Q2_2018&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_90__Q3_2018&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_91__Q4_2018&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_92__Q1_2019&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;_93__Q2_2019&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;1998-Q1&lt;/TD&gt;
&lt;TD&gt;2017-Q4&lt;/TD&gt;
&lt;TD&gt;2018-Q2&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$220.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$132.00&lt;/TD&gt;
&lt;TD&gt;$138.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$487.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$919.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$634.00&lt;/TD&gt;
&lt;TD&gt;$557.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$739.00&lt;/TD&gt;
&lt;TD&gt;$180.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$529.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$33.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$5,577.00&lt;/TD&gt;
&lt;TD&gt;$5,577.00&lt;/TD&gt;
&lt;TD&gt;$5,467.00&lt;/TD&gt;
&lt;TD&gt;$3,959.00&lt;/TD&gt;
&lt;TD&gt;$3,698.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;2001-Q3&lt;/TD&gt;
&lt;TD&gt;2017-Q4&lt;/TD&gt;
&lt;TD&gt;2018-Q2&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$67.00&lt;/TD&gt;
&lt;TD&gt;$150.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$696.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$1,007.00&lt;/TD&gt;
&lt;TD&gt;$1,307.00&lt;/TD&gt;
&lt;TD&gt;$2,824.00&lt;/TD&gt;
&lt;TD&gt;$103.00&lt;/TD&gt;
&lt;TD&gt;$1,918.00&lt;/TD&gt;
&lt;TD&gt;$2,150.00&lt;/TD&gt;
&lt;TD&gt;$1,229.00&lt;/TD&gt;
&lt;TD&gt;$86.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$1,179.00&lt;/TD&gt;
&lt;TD&gt;$1,629.00&lt;/TD&gt;
&lt;TD&gt;$2,679.00&lt;/TD&gt;
&lt;TD&gt;$2,659.00&lt;/TD&gt;
&lt;TD&gt;$551.00&lt;/TD&gt;
&lt;TD&gt;$1,550.00&lt;/TD&gt;
&lt;TD&gt;$3,552.00&lt;/TD&gt;
&lt;TD&gt;$909.00&lt;/TD&gt;
&lt;TD&gt;$894.00&lt;/TD&gt;
&lt;TD&gt;$3,099.00&lt;/TD&gt;
&lt;TD&gt;$2,087.00&lt;/TD&gt;
&lt;TD&gt;$3,648.00&lt;/TD&gt;
&lt;TD&gt;$878.00&lt;/TD&gt;
&lt;TD&gt;$1,388.00&lt;/TD&gt;
&lt;TD&gt;$2,450.00&lt;/TD&gt;
&lt;TD&gt;$2,613.00&lt;/TD&gt;
&lt;TD&gt;$694.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$1,494.00&lt;/TD&gt;
&lt;TD&gt;$3.00&lt;/TD&gt;
&lt;TD&gt;$300.00&lt;/TD&gt;
&lt;TD&gt;$1,088.00&lt;/TD&gt;
&lt;TD&gt;$2,171.00&lt;/TD&gt;
&lt;TD&gt;$688.00&lt;/TD&gt;
&lt;TD&gt;$4,193.00&lt;/TD&gt;
&lt;TD&gt;$3,856.00&lt;/TD&gt;
&lt;TD&gt;$4,393.00&lt;/TD&gt;
&lt;TD&gt;$4,744.00&lt;/TD&gt;
&lt;TD&gt;$4,271.00&lt;/TD&gt;
&lt;TD&gt;$3,654.00&lt;/TD&gt;
&lt;TD&gt;$4,407.00&lt;/TD&gt;
&lt;TD&gt;$4,468.00&lt;/TD&gt;
&lt;TD&gt;$4,449.00&lt;/TD&gt;
&lt;TD&gt;$1,849.00&lt;/TD&gt;
&lt;TD&gt;$2,746.00&lt;/TD&gt;
&lt;TD&gt;$2,852.00&lt;/TD&gt;
&lt;TD&gt;$2,415.00&lt;/TD&gt;
&lt;TD&gt;$1,956.00&lt;/TD&gt;
&lt;TD&gt;$1,027.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$3,141.00&lt;/TD&gt;
&lt;TD&gt;$3,987.00&lt;/TD&gt;
&lt;TD&gt;$3,775.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$1,619.00&lt;/TD&gt;
&lt;TD&gt;$3,053.00&lt;/TD&gt;
&lt;TD&gt;$3,230.00&lt;/TD&gt;
&lt;TD&gt;$2,009.00&lt;/TD&gt;
&lt;TD&gt;$4,508.00&lt;/TD&gt;
&lt;TD&gt;$6,575.00&lt;/TD&gt;
&lt;TD&gt;$8,747.00&lt;/TD&gt;
&lt;TD&gt;$6,005.00&lt;/TD&gt;
&lt;TD&gt;$4,886.00&lt;/TD&gt;
&lt;TD&gt;$4,382.00&lt;/TD&gt;
&lt;TD&gt;$3,898.00&lt;/TD&gt;
&lt;TD&gt;$3,481.00&lt;/TD&gt;
&lt;TD&gt;$1,636.00&lt;/TD&gt;
&lt;TD&gt;$2,343.00&lt;/TD&gt;
&lt;TD&gt;$5,689.00&lt;/TD&gt;
&lt;TD&gt;$3,519.00&lt;/TD&gt;
&lt;TD&gt;$3,539.00&lt;/TD&gt;
&lt;TD&gt;$4,791.00&lt;/TD&gt;
&lt;TD&gt;$3,635.00&lt;/TD&gt;
&lt;TD&gt;$3,968.00&lt;/TD&gt;
&lt;TD&gt;$3,686.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$6,687.00&lt;/TD&gt;
&lt;TD&gt;$3,877.00&lt;/TD&gt;
&lt;TD&gt;$8,302.00&lt;/TD&gt;
&lt;TD&gt;$8,302.00&lt;/TD&gt;
&lt;TD&gt;$7,478.00&lt;/TD&gt;
&lt;TD&gt;$15.00&lt;/TD&gt;
&lt;TD&gt;$5,605.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;1996-Q1&lt;/TD&gt;
&lt;TD&gt;2018-Q1&lt;/TD&gt;
&lt;TD&gt;2018-Q2&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$534.00&lt;/TD&gt;
&lt;TD&gt;$1,623.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$121.00&lt;/TD&gt;
&lt;TD&gt;$912.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$392.00&lt;/TD&gt;
&lt;TD&gt;$387.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$1,749.00&lt;/TD&gt;
&lt;TD&gt;$312.00&lt;/TD&gt;
&lt;TD&gt;$2,186.00&lt;/TD&gt;
&lt;TD&gt;$2,211.00&lt;/TD&gt;
&lt;TD&gt;$1,503.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$627.00&lt;/TD&gt;
&lt;TD&gt;$2,013.00&lt;/TD&gt;
&lt;TD&gt;$1,582.00&lt;/TD&gt;
&lt;TD&gt;$1,146.00&lt;/TD&gt;
&lt;TD&gt;$974.00&lt;/TD&gt;
&lt;TD&gt;$2,438.00&lt;/TD&gt;
&lt;TD&gt;$1,493.00&lt;/TD&gt;
&lt;TD&gt;$3,083.00&lt;/TD&gt;
&lt;TD&gt;$4,418.00&lt;/TD&gt;
&lt;TD&gt;$2,753.00&lt;/TD&gt;
&lt;TD&gt;$2,652.00&lt;/TD&gt;
&lt;TD&gt;$4,118.00&lt;/TD&gt;
&lt;TD&gt;$3,849.00&lt;/TD&gt;
&lt;TD&gt;$2,573.00&lt;/TD&gt;
&lt;TD&gt;$3,030.00&lt;/TD&gt;
&lt;TD&gt;$3,291.00&lt;/TD&gt;
&lt;TD&gt;$2,925.00&lt;/TD&gt;
&lt;TD&gt;$3,519.00&lt;/TD&gt;
&lt;TD&gt;$2,358.00&lt;/TD&gt;
&lt;TD&gt;$2,340.00&lt;/TD&gt;
&lt;TD&gt;$4,104.00&lt;/TD&gt;
&lt;TD&gt;$3,618.00&lt;/TD&gt;
&lt;TD&gt;$4,212.00&lt;/TD&gt;
&lt;TD&gt;$1,112.00&lt;/TD&gt;
&lt;TD&gt;$3,962.00&lt;/TD&gt;
&lt;TD&gt;$3,031.00&lt;/TD&gt;
&lt;TD&gt;$4,057.00&lt;/TD&gt;
&lt;TD&gt;$361.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$957.00&lt;/TD&gt;
&lt;TD&gt;$3,360.00&lt;/TD&gt;
&lt;TD&gt;$1,620.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$2,347.00&lt;/TD&gt;
&lt;TD&gt;$3,332.00&lt;/TD&gt;
&lt;TD&gt;$3,817.00&lt;/TD&gt;
&lt;TD&gt;$553.00&lt;/TD&gt;
&lt;TD&gt;$478.00&lt;/TD&gt;
&lt;TD&gt;$2,929.00&lt;/TD&gt;
&lt;TD&gt;$3,419.00&lt;/TD&gt;
&lt;TD&gt;$2,310.00&lt;/TD&gt;
&lt;TD&gt;$2,671.00&lt;/TD&gt;
&lt;TD&gt;$2,866.00&lt;/TD&gt;
&lt;TD&gt;$3,456.00&lt;/TD&gt;
&lt;TD&gt;$3,224.00&lt;/TD&gt;
&lt;TD&gt;$2,951.00&lt;/TD&gt;
&lt;TD&gt;$2,927.00&lt;/TD&gt;
&lt;TD&gt;$2,566.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$3,241.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$2,228.00&lt;/TD&gt;
&lt;TD&gt;$2,956.00&lt;/TD&gt;
&lt;TD&gt;$3,619.00&lt;/TD&gt;
&lt;TD&gt;$3,619.00&lt;/TD&gt;
&lt;TD&gt;$3,788.00&lt;/TD&gt;
&lt;TD&gt;$2,962.00&lt;/TD&gt;
&lt;TD&gt;$4,186.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I need to add three columns like below&amp;nbsp;where&amp;nbsp;I need to match the quarter with the column quarter and&amp;nbsp;pick that value&amp;nbsp;in that matching column quarter like below. If there is no matching column quarter I need to identify that and so put -$1.00 (no value is actual dataset is negative). I thought I will start with making the column names same but clearly I was not thinking.&lt;/P&gt;
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;Amount in First Begin QTR&lt;/TD&gt;
&lt;TD&gt;Amount in Last Begin QTR&lt;/TD&gt;
&lt;TD&gt;Amount in Last End QTR&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$5,577.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;$2,679.00&lt;/TD&gt;
&lt;TD&gt;$0.00&lt;/TD&gt;
&lt;TD&gt;$8,302.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;-$1.00&lt;/TD&gt;
&lt;TD&gt;$2,228.00&lt;/TD&gt;
&lt;TD&gt;$3,619.00&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;How can I add these three columns?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 05 Mar 2020 17:52:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/rename-column/m-p/629891#M186402</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2020-03-05T17:52:18Z</dc:date>
    </item>
    <item>
      <title>Re: rename column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/rename-column/m-p/629955#M186440</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/155169"&gt;@d0816&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/10892"&gt;@PaigeMiller&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am not being able to generate the sas data set following the method. I tried the codes including the edits. I am getting errors.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;When getting errors with code:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Copy from the LOG all of the procedure or data step and the errors, notes and messages. Paste into a code box opened with the forum's {i} icon. The code box will preserve formatting of any diagnostic messages.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;That way we have some possibility of addressing the issue.&lt;/P&gt;</description>
      <pubDate>Thu, 05 Mar 2020 21:09:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/rename-column/m-p/629955#M186440</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2020-03-05T21:09:18Z</dc:date>
    </item>
    <item>
      <title>Re: rename column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/rename-column/m-p/630100#M186482</link>
      <description>&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13884"&gt;@ballardw&lt;/a&gt;&lt;BR /&gt;&lt;BR /&gt;I ran this code...&lt;BR /&gt;&lt;BR /&gt;filename tagset url "&lt;A href="https://gist.githubusercontent.com/statgeek/7be124b98b37d51e7c002b85b6e9cf72/raw/ec0bc5cf8e1a3386c5cf71d2280b242b7f87dadd/SAS_tagsets_sql_reprex.sas" target="_blank"&gt;https://gist.githubusercontent.com/statgeek/7be124b98b37d51e7c002b85b6e9cf72/raw/ec0bc5cf8e1a3386c5cf71d2280b242b7f87dadd/SAS_tagsets_sql_reprex.sas&lt;/A&gt;";&lt;BR /&gt;%include tagset;&lt;BR /&gt;&lt;BR /&gt;ods tagsets.sql file="H:\Desktop\FolderName/Sample1.txt";&lt;BR /&gt;proc print data=Sample1 ; run;&lt;BR /&gt;ods tagsets.sql close;&lt;BR /&gt;&lt;BR /&gt;...and got this error message...&lt;BR /&gt;ERROR: Cannot load SSL support.&lt;BR /&gt;ERROR: Cannot open %INCLUDE file TAGSET.&lt;BR /&gt;ERROR: %INCLUDE has encountered an I/O/ error. Canceling submitted statements&lt;BR /&gt;</description>
      <pubDate>Fri, 06 Mar 2020 15:17:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/rename-column/m-p/630100#M186482</guid>
      <dc:creator>d0816</dc:creator>
      <dc:date>2020-03-06T15:17:14Z</dc:date>
    </item>
    <item>
      <title>Re: rename column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/rename-column/m-p/630161#M186508</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/155169"&gt;@d0816&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13884"&gt;@ballardw&lt;/a&gt;&lt;BR /&gt;&lt;BR /&gt;I ran this code...&lt;BR /&gt;&lt;BR /&gt;filename tagset url "&lt;A href="https://gist.githubusercontent.com/statgeek/7be124b98b37d51e7c002b85b6e9cf72/raw/ec0bc5cf8e1a3386c5cf71d2280b242b7f87dadd/SAS_tagsets_sql_reprex.sas" target="_blank" rel="noopener"&gt;https://gist.githubusercontent.com/statgeek/7be124b98b37d51e7c002b85b6e9cf72/raw/ec0bc5cf8e1a3386c5cf71d2280b242b7f87dadd/SAS_tagsets_sql_reprex.sas&lt;/A&gt;";&lt;BR /&gt;%include tagset;&lt;BR /&gt;&lt;BR /&gt;ods tagsets.sql file="H:\Desktop\FolderName/Sample1.txt";&lt;BR /&gt;proc print data=Sample1 ; run;&lt;BR /&gt;ods tagsets.sql close;&lt;BR /&gt;&lt;BR /&gt;...and got this error message...&lt;BR /&gt;ERROR: Cannot load SSL support.&lt;BR /&gt;ERROR: Cannot open %INCLUDE file TAGSET.&lt;BR /&gt;ERROR: %INCLUDE has encountered an I/O/ error. Canceling submitted statements&lt;BR /&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;I am not allowed to access Github so can't test. The errors appear to be related to the actual Github connection though. SSL would be, I believe, Secure Sockets Layer, which is in the internet communications magic. It may be that you are also blocked by the organization or need additional information in the filename to connect properly. If you can manualy download that file then you&amp;nbsp;might try that and then use %INCLUDE using the full path and filename of the download.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 06 Mar 2020 17:00:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/rename-column/m-p/630161#M186508</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2020-03-06T17:00:44Z</dc:date>
    </item>
    <item>
      <title>Re: rename column</title>
      <link>https://communities.sas.com/t5/SAS-Programming/rename-column/m-p/630172#M186517</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/*------------------------------------------------------------eric-*/
/*-- This tagset creates sql statements to create a table        --*/
/*-- and insert all the records in the dataset.  The resulting   --*/
/*-- output will have the table create statement followed by     --*/
/*-- the insert statements.                                      --*/
/*--                                                             --*/
/*-- This has only been tested with proc print, although it may  --*/
/*-- Work with other proc's as well.                             --*/
/*--                                                             --*/
/*-- This isn't anything fancy, all it handles are strings,      --*/
/*-- integers and numbers.  It could do more by using the        --*/
/*-- value of sasformat.                                         --*/
/*---------------------------------------------------------12Feb04-*/

proc template;
  define tagset tagsets.sql;

      /*---------------------------------------------------------------eric-*/
      /*-- Set up some look-up tables for convenience.                    --*/
      /*------------------------------------------------------------11Feb04-*/
      /* type translations */
      define event type_translations;
          set $types['string'] 'varchar';
          set $types['double'] 'float';
          set $types['int']    'integer';
      end;

      /* column name translation */
      define event name_translations;
          set $name_trans['desc'] 'description';
      end;
  
      define event initialize;
          trigger type_translations;
          trigger name_translations;

          /* types that need widths */
          set $types_with_widths['string'] "True";

          /* types that need quotes */
          set $types_with_quotes['string'] "True";
      end;
  
      /*---------------------------------------------------------------eric-*/
      /*-- Reset everything so we can run one proc print after another.   --*/
      /*------------------------------------------------------------11Feb04-*/
      define event table;
          unset $names;
          unset $col_types;
          unset $columns;
          unset $values;
          unset $lowname;
      end;


      define event colspec_entry;
          /*---------------------------------------------------------------eric-*/
          /*-- Ignore the obs column.  The value will get ignored because     --*/
          /*-- it will be in a header cell and we don't define a header       --*/
          /*-- event to catch it.                                             --*/
          /*------------------------------------------------------------12Feb04-*/
          break /if cmp(name, 'obs');

          /*---------------------------------------------------------------eric-*/
          /*-- Create a list of column names.  Translate the names            --*/
          /*-- if they are in the translate list.                             --*/
          /*------------------------------------------------------------11Feb04-*/
          set $lowname lowcase(name);
          do /if $name_trans[$lowname];      
              set $names[] $name_trans[$lowname];
          else;
              set $names[] $lowname;
          done;

          /* keep a list of types */
          set $col_types[] type;

          /* make a list of column type definitions */
          set $col_def $types[type];

          /* append width if needed */
          set $col_def $col_def "(" colwidth ")" /if $types_with_widths[type];
          
          set $columns[] $col_def;
      end;
      
      /*---------------------------------------------------------------eric-*/
      /*-- Catch the data label and get the data set name from it.        --*/
      /*------------------------------------------------------------11Feb04-*/
      define event output;
          start:
              set $table_name reverse(label);
              set $table_name scan($table_name, 1, '.');
              set $table_name reverse($table_name);
              set $table_name lowcase($table_name);
      end;    

     /*---------------------------------------------------------------eric-*/
     /*-- Print out the create table statement before Any data           --*/
     /*-- rows come along.                                               --*/
     /*------------------------------------------------------------11Feb04-*/
      define event table_body;
          put "Create table " $table_name "(";
          /* put "           "; */

          /* loop over the names, and column definitions */
          eval $i 1;
          unset $not_first;
          do /while $i &amp;lt;= $names;      
              /* comma's only after the first name */
              put ', ' /if $not_first;
              put $names[$i] " ";
              put $columns[$i];
              eval $i $i+1;
              set $not_first "True";
          done;    

          put ");" nl;
      end;
  
      /*---------------------------------------------------------------eric-*/
      /*-- Reset the values at the beginning of each row.  Print the      --*/
      /*-- insert statement at the end of each row.                       --*/
      /*------------------------------------------------------------11Feb04-*/
      define event row;
          start:
              unset $values;
          finish:
              trigger insert;
      end;

      /*---------------------------------------------------------------eric-*/
      /*-- Save away the data.  The Obs column won't hit this because     --*/
      /*-- it's a header.                                                 --*/
      /*------------------------------------------------------------12Feb04-*/
      define event data;
          do /if value;
              set $values[] strip(value);
          else;
              set $values[] ' ';
          done;
      end;
          
      /*---------------------------------------------------------------eric-*/
      /*-- Create the insert statement                                    --*/
      /*------------------------------------------------------------12Feb04-*/
      define event insert;
          finish:
              break /if ^$values;
          
              put "Insert into " $table_name;
              trigger print_names;
              put " Values";
              trigger print_values;
              put ";" nl;
      end;    
      
      /*---------------------------------------------------------------eric-*/
      /*-- Print the list of names.  This could use                       --*/
      /*-- a single putvars statement if it weren't for                   --*/
      /*-- the commas.                                                    --*/
      /*------------------------------------------------------------12Feb04-*/
      define event print_names;
          put "(";
          iterate $names;
          unset $not_first;
          do /while _value_;
              /* comma's only after the first name */
              put ", " /if $not_first;
              put lowcase(_value_);
              set $not_first "true";
              next $names;
          done;
          put ")";
      end;

      /*---------------------------------------------------------------eric-*/
      /*-- Print the values for the insert statement. Commas and quoting  --*/
      /*-- are an issue.  double up the quotes in strings.  Remove        --*/
      /*-- commas from numbers.                                           --*/
      /*------------------------------------------------------------12Feb04-*/
      define event print_values;
          put "(";

          eval $i 1;
          unset $not_first;

          iterate $values;

          do /while _value_;
              put ", " /if $not_first;

              do /if $types_with_quotes[$col_types[$i]]; 
                  put "'" ;
                  put tranwrd(_value_, "'", "''") /if ^cmp(_value_, ' ');
                  put "'";
              else;
                  do /if cmp(_value_, ' ');
                      put '0';
                  else;    
                      put tranwrd(_value_, "," , "") ;
                  done;
              done;    

              set $not_first "true";

              next $values;
              eval $i $i+1;
          done;

          put ")";
      end;
      
  end;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Here's the code from the link.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 06 Mar 2020 17:40:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/rename-column/m-p/630172#M186517</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2020-03-06T17:40:02Z</dc:date>
    </item>
  </channel>
</rss>

