<?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: Proc SQL Error in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-Error/m-p/354688#M83004</link>
    <description>&lt;P&gt;Thanks Guys, there was a small error I had mistakenly put comma at the end of last select line&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;(select BS_OrdPrice from MidQt.&amp;amp;Stock._MQ_&amp;amp;d where Sec1=a.Sec1+60 ) as BSP60&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;and also the sec1 is recording the second number for the time interval hence, Sec1 = a.Sec1+'00:00:30't was replaced by&amp;nbsp;&lt;SPAN&gt;Sec1=a.Sec1+30 and similarly for 60th second as well. The revised code is attached below for reference.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;Libname Snap "F:\Wins Snap";
Libname MidQt "F:\MidQuote";
%Macro MidQuote1(d);
%Macro Midquote2(Stock);
Data MidQt.&amp;amp;Stock._MQ_&amp;amp;d; Set Snap.Snap_&amp;amp;Stock._&amp;amp;d;
Keep Sec1 BB_OrdPrice BS_OrdPrice;
run;
proc sort data=MidQt.&amp;amp;Stock._MQ_&amp;amp;d noduprecs;
by Sec1; 
Run;
proc sql;
create table MidQt.&amp;amp;Stock._MQ_&amp;amp;d._Final as
select *,
 (select BB_OrdPrice from MidQt.&amp;amp;Stock._MQ_&amp;amp;d where Sec1=a.Sec1+30 ) as BBP30,
 (select BB_OrdPrice from MidQt.&amp;amp;Stock._MQ_&amp;amp;d where Sec1=a.Sec1+60 ) as BBP60,
 (select BS_OrdPrice from MidQt.&amp;amp;Stock._MQ_&amp;amp;d where Sec1=a.Sec1+30 ) as BSP30,
 (select BS_OrdPrice from MidQt.&amp;amp;Stock._MQ_&amp;amp;d where Sec1=a.Sec1+60 ) as BSP60
 
 from MidQt.&amp;amp;Stock._MQ_&amp;amp;d as a;
quit;
%Mend Midquote2;
%Midquote2(ACC);

%Mend Midquote1;

%Midquote1(01032013);&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Sat, 29 Apr 2017 08:21:48 GMT</pubDate>
    <dc:creator>rkdubey84</dc:creator>
    <dc:date>2017-04-29T08:21:48Z</dc:date>
    <item>
      <title>Proc SQL Error</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-Error/m-p/354682#M83000</link>
      <description>&lt;P&gt;Hello Friends, I am running the following code to get best buy and sell prices for 30th seconds and 1st minute.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;Libname Snap "F:\Wins Snap";
Libname MidQt "F:\MidQuote";
%Macro MidQuote1(d);
%Macro Midquote2(Stock);
Data MidQt.&amp;amp;Stock._MQ_&amp;amp;d; Set Snap.Snap_&amp;amp;Stock._&amp;amp;d;
Keep Sec1 BB_OrdPrice BS_OrdPrice;
run;
proc sort data=MidQt.&amp;amp;Stock._MQ_&amp;amp;d noduprecs;
by Sec1; 
Run;
proc sql;
create table MidQt.&amp;amp;Stock._MQ_&amp;amp;d._Final as
select *,
 (select BB_OrdPrice from MidQt.&amp;amp;Stock._MQ_&amp;amp;d where Sec1=a.Sec1+'00:00:30't ) as BBP30,
 (select BB_OrdPrice from MidQt.&amp;amp;Stock._MQ_&amp;amp;d where Sec1=a.Sec1+'00:01:00't ) as BBP60,
 (select BS_OrdPrice from MidQt.&amp;amp;Stock._MQ_&amp;amp;d where Sec1=a.Sec1+'00:00:30't ) as BSP30,
 (select BS_OrdPrice from MidQt.&amp;amp;Stock._MQ_&amp;amp;d where Sec1=a.Sec1+'00:01:00't ) as BSP60,
 
 from MidQt.&amp;amp;Stock._MQ_&amp;amp;d as a;
quit;
%Mend Midquote2;
%Midquote2(ACC);

%Mend Midquote1;

%Midquote1(01032013);
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;After Running the code I am getting the following errors:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;NOTE: Line generated by the invoked macro "MIDQUOTE2".&lt;BR /&gt;3 BS_OrdPrice from MidQt.&amp;amp;Stock._MQ_&amp;amp;d where Sec1=a.Sec1+'00:01:00't ) as BSP60, from&lt;BR /&gt;3 ! MidQt.&amp;amp;Stock._MQ_&amp;amp;d as a; quit;&lt;BR /&gt; -&lt;BR /&gt; 22&lt;BR /&gt; 76&lt;BR /&gt;ERROR 22-322: Syntax error, expecting one of the following: a quoted string, ',', AS, FORMAT,&lt;BR /&gt; FROM, INFORMAT, INTO, LABEL, LEN, LENGTH, TRANSCODE.&lt;/P&gt;
&lt;P&gt;ERROR 76-322: Syntax error, statement will be ignored.&lt;/P&gt;
&lt;P&gt;NOTE: The SAS System stopped processing this step because of errors.&lt;BR /&gt;NOTE: PROCEDURE SQL used (Total process time):&lt;BR /&gt; real time 0.01 seconds&lt;BR /&gt; cpu time 0.01 seconds&lt;/P&gt;
&lt;P&gt;NOTE: Line generated by the macro variable "D".&lt;BR /&gt;1 MidQt.ACC_MQ_01032013&lt;BR /&gt; -----&lt;BR /&gt; 22&lt;/P&gt;
&lt;P&gt;ERROR 22-322: Syntax error, expecting one of the following: !, !!, &amp;amp;, (, *, **, +, ',', -, /,&lt;BR /&gt; &amp;lt;, &amp;lt;=, &amp;lt;&amp;gt;, =, &amp;gt;, &amp;gt;=, ?, AND, BETWEEN, CONTAINS, EQ, EQT, FROM, GE, GET, GT, GTT,&lt;BR /&gt; LE, LET, LIKE, LT, LTT, NE, NET, OR, ^=, |, ||, ~=.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please help me in correcting it.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have created it in macro as I have to run it for 50 stocks and 125 Days.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks in Advance.&lt;/P&gt;
&lt;P&gt;Ritesh&lt;/P&gt;</description>
      <pubDate>Sat, 29 Apr 2017 06:04:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-Error/m-p/354682#M83000</guid>
      <dc:creator>rkdubey84</dc:creator>
      <dc:date>2017-04-29T06:04:34Z</dc:date>
    </item>
    <item>
      <title>Re: Proc SQL Error</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-Error/m-p/354688#M83004</link>
      <description>&lt;P&gt;Thanks Guys, there was a small error I had mistakenly put comma at the end of last select line&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;(select BS_OrdPrice from MidQt.&amp;amp;Stock._MQ_&amp;amp;d where Sec1=a.Sec1+60 ) as BSP60&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;and also the sec1 is recording the second number for the time interval hence, Sec1 = a.Sec1+'00:00:30't was replaced by&amp;nbsp;&lt;SPAN&gt;Sec1=a.Sec1+30 and similarly for 60th second as well. The revised code is attached below for reference.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;Libname Snap "F:\Wins Snap";
Libname MidQt "F:\MidQuote";
%Macro MidQuote1(d);
%Macro Midquote2(Stock);
Data MidQt.&amp;amp;Stock._MQ_&amp;amp;d; Set Snap.Snap_&amp;amp;Stock._&amp;amp;d;
Keep Sec1 BB_OrdPrice BS_OrdPrice;
run;
proc sort data=MidQt.&amp;amp;Stock._MQ_&amp;amp;d noduprecs;
by Sec1; 
Run;
proc sql;
create table MidQt.&amp;amp;Stock._MQ_&amp;amp;d._Final as
select *,
 (select BB_OrdPrice from MidQt.&amp;amp;Stock._MQ_&amp;amp;d where Sec1=a.Sec1+30 ) as BBP30,
 (select BB_OrdPrice from MidQt.&amp;amp;Stock._MQ_&amp;amp;d where Sec1=a.Sec1+60 ) as BBP60,
 (select BS_OrdPrice from MidQt.&amp;amp;Stock._MQ_&amp;amp;d where Sec1=a.Sec1+30 ) as BSP30,
 (select BS_OrdPrice from MidQt.&amp;amp;Stock._MQ_&amp;amp;d where Sec1=a.Sec1+60 ) as BSP60
 
 from MidQt.&amp;amp;Stock._MQ_&amp;amp;d as a;
quit;
%Mend Midquote2;
%Midquote2(ACC);

%Mend Midquote1;

%Midquote1(01032013);&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 29 Apr 2017 08:21:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-Error/m-p/354688#M83004</guid>
      <dc:creator>rkdubey84</dc:creator>
      <dc:date>2017-04-29T08:21:48Z</dc:date>
    </item>
  </channel>
</rss>

