- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
I need to create a Data Step View for an existing dataset. This view should not be require that one assign the physical path of the existing dataset to a specific Libref.
I need Data Step equivalent of following PROC SQL View:
Libname ViewOut "<physical path of view output library>" disp=shr;
PROC SQL
CREATE VIEW ViewOut.DataSetName as
SELECT * FROM XYZ123.DataSetName
USING LIBNAME XYZ123 "<physical path of existing output dataset>"
DISP=SHR WAIT=999;
QUIT;
In the above PROC SQL View, the physical path of the dataset is included within the view, so, if the one has access to the view, he/she does not need to know where the actual dataset is.
Thanks in anticipation!
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
A data step view is compiled before being stored as a .sas7bvew file, so it can't be dynamic after that, with the exception of changing the physical path for a libname. So what you want to do is not possible.
SQL views, OTOH, are stored as program code and executed with proc sql at runtime.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
I don't believe that is possible as such in SAS, they only implement ANSI SQL. What is it your trying to do, from that code you just create a view of a dataset, which is database thinking. SAS references data with libnames, so effectively the same code would be:
libname dataloc "<physical_path>";
I.e. point the library reference to where the data is. That is all you need. If you need further complicated views then you need the libref and the code.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
A data step view is compiled before being stored as a .sas7bvew file, so it can't be dynamic after that, with the exception of changing the physical path for a libname. So what you want to do is not possible.
SQL views, OTOH, are stored as program code and executed with proc sql at runtime.