Using SAS Views with Servers

SAS/ACCESS Views, DATA Step Views, and PROC SQL Views

RLS can be used with three types of SAS views:
  • SAS/ACCESS views
  • DATA step views
  • PROC SQL views
A SAS view contains no data, but describes other data. A SAS view is processed by an engine that reads the underlying data and uses the description to return the data in the requested form. This process is called view interpretation.
When the library that contains the SAS view is accessed through a server, the SAS view is interpreted in the server's session by default. This means that the engine is loaded and called by the server to read and transform the underlying data. Only a small amount of data is moved through the network, and the client processing is unaware that a SAS view is involved.
If the SAS view is a PROC SQL view or if the client and server computer architectures are the same, you can cause the SAS view to be interpreted in the client session. This is done by specifying RMTVIEW=NO in the LIBNAME statement that is used to define the server library. If the architectures are not the same, SAS/ACCESS views and DATA step views can be interpreted only in the server session.
Interpreting a SAS view as data can produce significant processing demands. When a SAS view is interpreted in the client session, that frequently means that a lot of data has to flow to the client session. This removes processing demands from the server session but increases network load.

Recommendations for PROC SQL Views

PROC SQL views are especially good candidates for interpretation in a server session under these conditions:
  • The number of observations that are produced by the PROC SQL view is much smaller than the number of observations that are read by the PROC SQL view.
  • The data sets that are read by the PROC SQL view are available to the server.
  • The amount of processing that is necessary to build each observation is not large.
Conversely, PROC SQL views should be interpreted in the client session under these conditions:
  • The number of observations that are produced by the PROC SQL view is not appreciably smaller than the number of observations that are read by the PROC SQL view.
  • Some of the data sets that are read by the PROC SQL view can be directly accessed by the client session.
  • A large amount of processing must be performed by the PROC SQL view.