<?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: Transpose Macro Issue in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Transpose-Macro-Issue/m-p/527304#M143732</link>
    <description>&lt;P&gt;Hi;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I ran the codes below, but the error was shown in the log.&amp;nbsp; Could you specify where to put the '&lt;SPAN&gt;_NAME_'?&amp;nbsp; I am still confused.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%macro tranpose();
      %do i = 1 %to %sysfunc(countw(&amp;amp;vars));
            %let v = %scan(&amp;amp;vars., &amp;amp;i.);

            proc transpose data = FluPS_2010 out = temp2010 prefix = &amp;amp;v._20;
                  by caseid;
                  id fluPSseason;
                  var _NAME_ ;
            run;

%end;
%mend;

%tranpose();&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Tue, 15 Jan 2019 14:02:55 GMT</pubDate>
    <dc:creator>ybz12003</dc:creator>
    <dc:date>2019-01-15T14:02:55Z</dc:date>
    <item>
      <title>Transpose Macro Issue</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transpose-Macro-Issue/m-p/527293#M143723</link>
      <description>&lt;P&gt;Hello:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I ran a macro for transposing dataset.&amp;nbsp; The code is list below.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;options mprint symbolgen mlogic;

%let vars = TestRGdt1 TestRGtype1 TestRGlot1 TestRGdt2  TestRGtype2 TestRGlot2 TestRGnum
                  TestPVnum TestPVdt1 TestPVtype1 TestPVlot1 TestPVdt2 TestPVtype2 TestPVlot2;

%macro tranpose();
      %do i = 1 %to %sysfunc(countw(&amp;amp;vars));
            %let v = %scan(&amp;amp;vars., &amp;amp;i.);

            proc transpose data = Test_2010 out = temp2010 prefix = &amp;amp;v._20;
                  by ID;
                  id Testseason;
                  var &amp;amp;v. ;
            run;

			proc transpose data = Test2009Final out = temp2009 prefix = &amp;amp;v._20;
                  by ID;
                  id seasontail;
                  var &amp;amp;v. ;
            run;

			proc transpose data = Test_2008 out = temp2008 prefix = &amp;amp;v._200;
                  by ID;
                  id Testseason;
                  var &amp;amp;v. ;
            run;


      %end;
%mend;

%tranpose();

&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;The Log result is shown below.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;MLOGIC(TRANPOSE):&amp;nbsp; Beginning execution.&lt;/P&gt;
&lt;P&gt;SYMBOLGEN:&amp;nbsp; Macro variable VARS resolves to TestRGdt1 TestRGtype1 TestRGlot1 TestRGdt2&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TestRGtype2 TestRGlot2 TestRGnum&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; TestPVnum TestPVdt1&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TestPVtype1 TestPVlot1 TestPVdt2 TestPVtype2 TestPVlot2&lt;/P&gt;
&lt;P&gt;MLOGIC(TRANPOSE):&amp;nbsp; %DO loop beginning; index variable I; start value is 1; stop value is 14; by value&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; is 1.&lt;/P&gt;
&lt;P&gt;MLOGIC(TRANPOSE):&amp;nbsp; %LET (variable name is V)&lt;/P&gt;
&lt;P&gt;SYMBOLGEN:&amp;nbsp; Macro variable VARS resolves to TestRGdt1 TestRGtype1 TestRGlot1 TestRGdt2&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TestRGtype2 TestRGlot2 TestRGnum&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; TestPVnum TestPVdt1&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TestPVtype1 TestPVlot1 TestPVdt2 TestPVtype2 TestPVlot2&lt;/P&gt;
&lt;P&gt;SYMBOLGEN:&amp;nbsp; Macro variable I resolves to 1&lt;/P&gt;
&lt;P&gt;SYMBOLGEN:&amp;nbsp; Macro variable V resolves to TestRGdt1&lt;/P&gt;
&lt;P&gt;MPRINT(TRANPOSE):&amp;nbsp;&amp;nbsp; proc transpose data = Test_2010 out = temp2010 prefix = TestRGdt1_20;&lt;/P&gt;
&lt;P&gt;MPRINT(TRANPOSE):&amp;nbsp;&amp;nbsp; by ID;&lt;/P&gt;
&lt;P&gt;MPRINT(TRANPOSE):&amp;nbsp;&amp;nbsp; id Testseason;&lt;/P&gt;
&lt;P&gt;SYMBOLGEN:&amp;nbsp; Macro variable V resolves to TestRGdt1&lt;/P&gt;
&lt;P&gt;MPRINT(TRANPOSE):&amp;nbsp;&amp;nbsp; var TestRGdt1 ;&lt;/P&gt;
&lt;P&gt;.&lt;/P&gt;
&lt;P&gt;.&lt;/P&gt;
&lt;P&gt;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;MLOGIC(TRANPOSE):&amp;nbsp; %DO loop index variable I is now 5; loop will iterate again.&lt;/P&gt;
&lt;P&gt;MLOGIC(TRANPOSE):&amp;nbsp; %LET (variable name is V)&lt;/P&gt;
&lt;P&gt;SYMBOLGEN:&amp;nbsp; Macro variable VARS resolves to TestRGdt1 TestRGtype1 TestRGlot1 TestRGdt2&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TestRGtype2 TestRGlot2 TestRGnum&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; TestPVnum TestPVdt1&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TestPVtype1 TestPVlot1 TestPVdt2 TestPVtype2 TestPVlot2&lt;/P&gt;
&lt;P&gt;SYMBOLGEN:&amp;nbsp; Macro variable I resolves to 5&lt;/P&gt;
&lt;P&gt;SYMBOLGEN:&amp;nbsp; Macro variable V resolves to TestRGtype2&lt;/P&gt;
&lt;P&gt;MPRINT(TRANPOSE):&amp;nbsp;&amp;nbsp; proc transpose data = Test_2010 out = temp2010 prefix = TestRGtype2_20;&lt;/P&gt;
&lt;P&gt;MPRINT(TRANPOSE):&amp;nbsp;&amp;nbsp; by ID;&lt;/P&gt;
&lt;P&gt;MPRINT(TRANPOSE):&amp;nbsp;&amp;nbsp; id Testseason;&lt;/P&gt;
&lt;P&gt;SYMBOLGEN:&amp;nbsp; Macro variable V resolves to TestRGtype2&lt;/P&gt;
&lt;P&gt;MPRINT(TRANPOSE):&amp;nbsp;&amp;nbsp; var TestRGtype2 ;&lt;/P&gt;
&lt;P&gt;MPRINT(TRANPOSE):&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;.&lt;/P&gt;
&lt;P&gt;.&lt;/P&gt;
&lt;P&gt;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;MLOGIC(TRANPOSE):&amp;nbsp; %DO loop index variable I is now 14; loop will iterate again.&lt;/P&gt;
&lt;P&gt;MLOGIC(TRANPOSE):&amp;nbsp; %LET (variable name is V)&lt;/P&gt;
&lt;P&gt;SYMBOLGEN:&amp;nbsp; Macro variable VARS resolves to TestRGdt1 TestRGtype1 TestRGlot1 TestRGdt2&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TestRGtype2 TestRGlot2 TestRGnum&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; TestPVnum TestPVdt1&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TestPVtype1 TestPVlot1 TestPVdt2 TestPVtype2 TestPVlot2&lt;/P&gt;
&lt;P&gt;SYMBOLGEN:&amp;nbsp; Macro variable I resolves to 14&lt;/P&gt;
&lt;P&gt;SYMBOLGEN:&amp;nbsp; Macro variable V resolves to TestPVlot2&lt;/P&gt;
&lt;P&gt;MPRINT(TRANPOSE):&amp;nbsp;&amp;nbsp; proc transpose data = Test_2010 out = temp2010 prefix = TestPVlot2_20;&lt;/P&gt;
&lt;P&gt;MPRINT(TRANPOSE):&amp;nbsp;&amp;nbsp; by ID;&lt;/P&gt;
&lt;P&gt;MPRINT(TRANPOSE):&amp;nbsp;&amp;nbsp; id Testseason;&lt;/P&gt;
&lt;P&gt;SYMBOLGEN:&amp;nbsp; Macro variable V resolves to TestPVlot2&lt;/P&gt;
&lt;P&gt;MPRINT(TRANPOSE):&amp;nbsp;&amp;nbsp; var TestPVlot2 ;&lt;/P&gt;
&lt;P&gt;MPRINT(TRANPOSE):&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;However, I checked the final dataset 'Temp2010'&amp;nbsp; was not right.&amp;nbsp; &amp;nbsp;I only saw the last variable '&lt;SPAN&gt;TestPVlot2' shown in the dataset.&amp;nbsp; &amp;nbsp;All the other 13 variables, such as '&lt;/SPAN&gt;TestRGdt1 TestRGtype1 TestRGlot1 TestRGdt2 TestRGtype2 TestRGlot2 TestRGnum&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TestPVnum TestPVdt1&amp;nbsp;&lt;SPAN&gt;TestPVtype1 TestPVlot1 TestPVdt2 TestPVtype2', were missing in the 'Temp2010'.&amp;nbsp; &amp;nbsp;As you could see the log window, the program DID ruthroughht all of the 14 variables.&amp;nbsp; &amp;nbsp;Any idea where went wrong and how to fix it?&amp;nbsp; Thank you!!!&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 15 Jan 2019 13:48:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transpose-Macro-Issue/m-p/527293#M143723</guid>
      <dc:creator>ybz12003</dc:creator>
      <dc:date>2019-01-15T13:48:20Z</dc:date>
    </item>
    <item>
      <title>Re: Transpose Macro Issue</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transpose-Macro-Issue/m-p/527299#M143728</link>
      <description>&lt;P&gt;You overwrite your output datasets in every macro iteration, so only the last iteration can take effect.&lt;/P&gt;
&lt;P&gt;You can do all variables in one step, and use the _NAME_ variable to identify the source columns.&lt;/P&gt;</description>
      <pubDate>Tue, 15 Jan 2019 13:56:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transpose-Macro-Issue/m-p/527299#M143728</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2019-01-15T13:56:30Z</dc:date>
    </item>
    <item>
      <title>Re: Transpose Macro Issue</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transpose-Macro-Issue/m-p/527304#M143732</link>
      <description>&lt;P&gt;Hi;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I ran the codes below, but the error was shown in the log.&amp;nbsp; Could you specify where to put the '&lt;SPAN&gt;_NAME_'?&amp;nbsp; I am still confused.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%macro tranpose();
      %do i = 1 %to %sysfunc(countw(&amp;amp;vars));
            %let v = %scan(&amp;amp;vars., &amp;amp;i.);

            proc transpose data = FluPS_2010 out = temp2010 prefix = &amp;amp;v._20;
                  by caseid;
                  id fluPSseason;
                  var _NAME_ ;
            run;

%end;
%mend;

%tranpose();&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 15 Jan 2019 14:02:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transpose-Macro-Issue/m-p/527304#M143732</guid>
      <dc:creator>ybz12003</dc:creator>
      <dc:date>2019-01-15T14:02:55Z</dc:date>
    </item>
    <item>
      <title>Re: Transpose Macro Issue</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transpose-Macro-Issue/m-p/527314#M143739</link>
      <description>&lt;P&gt;I strongly suugest you acquaint yourself with the &lt;A href="http://documentation.sas.com/?cdcId=pgmsascdc&amp;amp;cdcVersion=9.4_3.4&amp;amp;docsetId=proc&amp;amp;docsetTarget=p0ip4dsclnucyun16922ijdgowz1.htm&amp;amp;locale=en" target="_blank"&gt;Transpose Procedure&lt;/A&gt; first before even thinking about using it in a macro. The documentation will tell you what _NAME_ is.&lt;/P&gt;</description>
      <pubDate>Tue, 15 Jan 2019 14:22:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transpose-Macro-Issue/m-p/527314#M143739</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2019-01-15T14:22:35Z</dc:date>
    </item>
  </channel>
</rss>

