<?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: Could anyone help me to solve this programming problem in New SAS User</title>
    <link>https://communities.sas.com/t5/New-SAS-User/Could-anyone-help-me-to-solve-this-programming-problem/m-p/518321#M3518</link>
    <description>Thank you, it works.</description>
    <pubDate>Tue, 04 Dec 2018 07:57:47 GMT</pubDate>
    <dc:creator>EmmaKao</dc:creator>
    <dc:date>2018-12-04T07:57:47Z</dc:date>
    <item>
      <title>Could anyone help me to solve this programming problem</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Could-anyone-help-me-to-solve-this-programming-problem/m-p/518306#M3515</link>
      <description>&lt;P&gt;I have no idea how to solve this problem. Could anyone help me to debug? thanks.&lt;/P&gt;&lt;P&gt;&lt;FONT size="4"&gt;code:&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;%macro rmhistory( t);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; proc import datafile="D:\Users\emma\Documents\DDS\RMTable\file.txt" out=file replace;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; DATA rm_all;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; RUN;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; %do i=1 %to &amp;amp;t;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data _null_;&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; set file;&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; if _n_=&amp;amp;i then do;&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; call symput('ss', aa);&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; end;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %put &amp;amp;ss &amp;amp;i;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc import datafile="D:\Users\emma\Documents\DDS\RMTable\&amp;amp;ss" out=rm&amp;amp;i replace;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SHEET="RMTable";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; data rmyyyymm&amp;amp;i;&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; set rm&amp;amp;i;&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;FORMAT yyyymm $6.;&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; yyyymm = substr(&amp;amp;ss,1,6);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data rm_all;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set rm_all rmyyyymm&amp;amp;i;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %end;&lt;BR /&gt;%mend rmhistory;&lt;BR /&gt;%rmhistory(1);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT size="4"&gt;error message:&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;MPRINT(RMHISTORY):&amp;nbsp;&amp;nbsp; data rmyyyymm1;&lt;BR /&gt;MPRINT(RMHISTORY):&amp;nbsp;&amp;nbsp; set rm1;&lt;BR /&gt;MPRINT(RMHISTORY):&amp;nbsp;&amp;nbsp; FORMAT yyyymm $6.;&lt;BR /&gt;NOTE: Line generated by the macro variable "SS".&lt;BR /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 201801_RMTableV1.xlsx&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; ---------------&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; 22&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; 557&lt;BR /&gt;ERROR: DATA STEP Component Object failure.&amp;nbsp; Aborted during the COMPILATION phase.&lt;BR /&gt;ERROR 22-322: Syntax error, expecting one of the following: !, !!, &amp;amp;, *, **, +, ',', -, /, &amp;lt;, &amp;lt;=, &amp;lt;&amp;gt;, =, &amp;gt;, &amp;gt;&amp;lt;,&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;gt;=, AND, EQ, GE, GT, LE, LT, MAX, MIN, NE, NG, NL, OR, ^=, |, ||, ~=.&lt;/P&gt;&lt;P&gt;ERROR 557-185: Variable _RMTableV1 is not an object.&lt;/P&gt;&lt;P&gt;NOTE: The SAS System stopped processing this step because of errors.&lt;BR /&gt;NOTE: DATA statement used (Total process time):&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.03 seconds&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00 seconds&lt;/P&gt;&lt;P&gt;MPRINT(RMHISTORY):&amp;nbsp;&amp;nbsp; yyyymm = substr(201801_RMTableV1.xlsx,1 ,6);&lt;BR /&gt;MPRINT(RMHISTORY):&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;MPRINT(RMHISTORY):&amp;nbsp;&amp;nbsp; data rm_all;&lt;BR /&gt;MPRINT(RMHISTORY):&amp;nbsp;&amp;nbsp; set rm_all rmyyyymm1;&lt;BR /&gt;MPRINT(RMHISTORY):&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;</description>
      <pubDate>Tue, 04 Dec 2018 05:47:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Could-anyone-help-me-to-solve-this-programming-problem/m-p/518306#M3515</guid>
      <dc:creator>EmmaKao</dc:creator>
      <dc:date>2018-12-04T05:47:48Z</dc:date>
    </item>
    <item>
      <title>Re: Could anyone help me to solve this programming problem</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Could-anyone-help-me-to-solve-this-programming-problem/m-p/518312#M3517</link>
      <description>&lt;P&gt;Welcome to the SAS communities &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I believe the problem is the fact that a SAS data set can not begin with a number&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;EDIT: On second thought, I don't think so. I think you need to replace this&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;   data rmyyyymm&amp;amp;i;
            set rm&amp;amp;i;
            FORMAT yyyymm $6.;
            yyyymm = substr(&amp;amp;ss,1,6);
   run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;with this&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;   data rmyyyymm&amp;amp;i;
            set rm&amp;amp;i;
            FORMAT yyyymm $6.;
            yyyymm = substr("&amp;amp;ss",1,6);
   run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 04 Dec 2018 07:06:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Could-anyone-help-me-to-solve-this-programming-problem/m-p/518312#M3517</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2018-12-04T07:06:24Z</dc:date>
    </item>
    <item>
      <title>Re: Could anyone help me to solve this programming problem</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Could-anyone-help-me-to-solve-this-programming-problem/m-p/518321#M3518</link>
      <description>Thank you, it works.</description>
      <pubDate>Tue, 04 Dec 2018 07:57:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Could-anyone-help-me-to-solve-this-programming-problem/m-p/518321#M3518</guid>
      <dc:creator>EmmaKao</dc:creator>
      <dc:date>2018-12-04T07:57:47Z</dc:date>
    </item>
    <item>
      <title>Re: Could anyone help me to solve this programming problem</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Could-anyone-help-me-to-solve-this-programming-problem/m-p/518322#M3519</link>
      <description>&lt;P&gt;Since you have a Base SAS and not a macro problem, test your code first without macro logic:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc import
  datafile="D:\Users\emma\Documents\DDS\RMTable\file.txt"
  out=file
  replace
;
run;

%let i=1;

data _null_;
set file;
if _n_=&amp;amp;i then do;
  call symput('ss', aa);
end;
run;

%put &amp;amp;ss &amp;amp;i;

proc import
  datafile="D:\Users\emma\Documents\DDS\RMTable\&amp;amp;ss"
  out=rm&amp;amp;i
  replace
;
sheet = "RMTable";
run;
  
data rmyyyymm&amp;amp;i;
set rm&amp;amp;i;
format yyyymm $6.;
yyyymm = substr(&amp;amp;ss,1,6);
run;

data rm_all;
set rm_all rmyyyymm&amp;amp;i;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;See that I added some consistent visual structure to your code to make it easier to read and understand (Maxim 12).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Without the macro around it, the ERROR message will now appear at the crucial point in your code, and alert you correctly to your mistake, which &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/31304"&gt;@PeterClemmensen&lt;/a&gt; already pointed out.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Macro development always starts with working SAS code; had you started with that, you would have realized you have to put a string (with quotes) in that position, and would have replace the &lt;EM&gt;text within that string&lt;/EM&gt; with the macro variable (and not just inserted the macro variable without quotes)&lt;/P&gt;</description>
      <pubDate>Tue, 04 Dec 2018 08:02:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Could-anyone-help-me-to-solve-this-programming-problem/m-p/518322#M3519</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2018-12-04T08:02:00Z</dc:date>
    </item>
  </channel>
</rss>

