有谁知道为什么proc sql不能在SAS/DATA STEP中使用
例如,
DATA test;
set lib.table;
PROC SQL;
...
QUIT;
...some operators...
RUN;
Run Code Online (Sandbox Code Playgroud)
在PROC SQL..RUN之后; on运算符未处理.
谢谢你的解释.
因为像所有PROC一样 - 它在/生成数据集 - 它在数据步骤中没有意义.您可以使用SQL的FROM子句指定输入(类似于datastep set <setname>),并且可以使用SQL CREATE TABLE(类似于data <setname>)创建新数据集作为输出.
proc sql;
create table lib.new_table as select * from lib.table;
run;
Run Code Online (Sandbox Code Playgroud)
没有什么可以阻止你在适当的情况下使用视图混合一个的功能,例如:
data lib.new_set_view / view=lib.new_set_view;
set lib.some_set;
/* do normal operations and output's */
run;
proc sql;
create table lib.other_set as select * from lib.new_set_view where something='whatever';
quit;
Run Code Online (Sandbox Code Playgroud)