mirror of
https://github.com/yabwon/SAS_PACKAGES.git
synced 2026-01-04 22:00:05 +00:00
version 2.0
2020-05-29, bug fix for the WORK and USER library
This commit is contained in:
@@ -17,15 +17,45 @@
|
||||
/*** HELP END ***/
|
||||
|
||||
/* inner macro */
|
||||
%MACRO dsSQL_Inner() / SECURE;
|
||||
%local query;
|
||||
%MACRO dsSQL_Inner() / secure;
|
||||
%local query tempfile1 tempfile2;
|
||||
%let query = %superq(query_arg);
|
||||
%let query = %sysfunc(dequote(&query));
|
||||
|
||||
%let viewname = dsSQL.dsSQLtmpview&UNIQUE_INDEX_2.;
|
||||
proc sql;
|
||||
create view &viewname as
|
||||
&query
|
||||
|
||||
%let tempfile1 = A%sysfunc(datetime(), hex7.);
|
||||
%let tempfile2 = B%sysfunc(datetime(), hex7.);
|
||||
|
||||
filename &tempfile1. temp;
|
||||
filename &tempfile2. temp;
|
||||
proc printto log = &tempfile1.;
|
||||
run;
|
||||
/* get the query shape i.e. the executed one */
|
||||
proc sql feedback noexec;
|
||||
&query
|
||||
;
|
||||
quit;
|
||||
proc printto;
|
||||
run;
|
||||
|
||||
%put *** executed as ***;
|
||||
data _null_;
|
||||
infile &tempfile1. FIRSTOBS = 2; /* <- 2 to ignore header */
|
||||
file &tempfile2.;
|
||||
/* create the view name */
|
||||
if _N_ = 1 then
|
||||
put " create view &viewname. as ";
|
||||
input;
|
||||
put _infile_;
|
||||
putlog ">" _infile_;
|
||||
run;
|
||||
%put *****************;
|
||||
|
||||
proc sql;
|
||||
%include &tempfile2.; /* &query */
|
||||
;
|
||||
quit;
|
||||
filename &tempfile1. clear;
|
||||
filename &tempfile2. clear;
|
||||
%MEND dsSQL_Inner;
|
||||
|
||||
10
SQLinDS/999_test/test1.sas
Normal file
10
SQLinDS/999_test/test1.sas
Normal file
@@ -0,0 +1,10 @@
|
||||
proc sort data=sashelp.class out=test1;
|
||||
by age name;
|
||||
run;
|
||||
|
||||
data class;
|
||||
set %SQL(select * from sashelp.class order by age, name);
|
||||
run;
|
||||
|
||||
proc compare base = test1 compare = class;
|
||||
run;
|
||||
29
SQLinDS/999_test/test2.sas
Normal file
29
SQLinDS/999_test/test2.sas
Normal file
@@ -0,0 +1,29 @@
|
||||
data class_work;
|
||||
set sashelp.class;
|
||||
run;
|
||||
|
||||
data test_work;
|
||||
set %sql(select * from class_work);
|
||||
run;
|
||||
|
||||
options dlcreatedir;
|
||||
libname user "%sysfunc(pathname(work))/user";
|
||||
%put *%sysfunc(pathname(user))*;
|
||||
|
||||
data cars_user cars_user2;
|
||||
set sashelp.cars;
|
||||
run;
|
||||
|
||||
data test_user;
|
||||
set %sql(select * from cars_user);
|
||||
run;
|
||||
|
||||
data test_user2;
|
||||
set %sql(select * from user.cars_user2);
|
||||
run;
|
||||
|
||||
libname user clear;
|
||||
%put *%sysfunc(pathname(user))*;
|
||||
|
||||
proc datasets lib = work;
|
||||
run;
|
||||
@@ -6,7 +6,7 @@
|
||||
Type: Package :/*required, not null, constant value*/
|
||||
Package: SQLinDS :/*required, not null, up to 24 characters, naming restrictions like for a dataset name! */
|
||||
Title: SQL queries in Data Step :/*required, not null*/
|
||||
Version: 1.0 :/*required, not null*/
|
||||
Version: 2.0 :/*required, not null*/
|
||||
Author: Mike Rhoads (RhoadsM1@Westat.com) :/*required, not null*/
|
||||
Maintainer: Bartosz Jablonski (yabwon@gmail.com) :/*required, not null*/
|
||||
License: MIT :/*required, not null, values: MIT, GPL2, BSD, etc.*/
|
||||
|
||||
BIN
sqlinds.zip
BIN
sqlinds.zip
Binary file not shown.
Reference in New Issue
Block a user