version 2.0

2020-05-29,
bug fix for the WORK and USER library
This commit is contained in:
yabwon
2020-05-29 16:04:03 +02:00
parent af60e31b56
commit 20c021660a
5 changed files with 75 additions and 6 deletions

View File

@@ -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;

View 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;

View 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;

View File

@@ -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.*/

Binary file not shown.