DATA Step, Macro, Functions and more

Data Step View independent of Libref

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 9
Accepted Solution

Data Step View independent of Libref

[ Edited ]

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
Solution
‎03-15-2017 08:15 AM
Super User
Posts: 6,939

Re: Data Step View independent of Libref

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.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers

View solution in original post


All Replies
Super User
Super User
Posts: 7,401

Re: Data Step View independent of Libref

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.

Solution
‎03-15-2017 08:15 AM
Super User
Posts: 6,939

Re: Data Step View independent of Libref

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.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
☑ This topic is SOLVED.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 124 views
  • 0 likes
  • 3 in conversation