2.1 KiB
layout, title, description, og_image
| layout | title | description | og_image |
|---|---|---|---|
| article | CAS Tables | Dealing with CAS (in-memory) Tables in Data Controller | /img/SAS-Viya-and-CAS-300x249.png |
!!! warning Work in Progress!
CAS Tables
CAS Tables require special consideration in Data Controller with regards to the following topics:
- System Account
- Loading
- Unloading
- Special Variables
System Account
Despite having a shared SYSUSERID, the SPRE session will (by default) authenticate using the logged-in user credentials. To get around this, it is necessary to set up the CAS connection in the autoexec - ie, before the user takes over the session. The code snippet will be:
%let _CASHOST_ = <your-host>;
%let _CASPORT_ = 5570;
cas dcsession authdomain="<your-domain>" sessopts=(caslib=casuser);
The credentials need to be first placed in the viya credentials service as described here.
Another approach can be to use the `AUTHINFO="authentication-file" option, as described here.
Note that since the CAS connection is using a shared account, the CASUSER library is never shown in the DC interface.
Loading
It can happen that a CAS table is configured in Data Controller but not loaded into memory. In this case, when a user selects the table, it will be automatically loaded.
Unloading
After an approval, the in-memory version of the CAS Table will be updated. To apply this to the underlying file on disk, the following code must be executed (eg in a POST APPROVE HOOK):
proc casutil;
save casdata="mytable" incaslib="mycaslib"
casout="mytable" outcaslib="mycaslib"
replace;
quit;
Special Variables
Processing of data in Data Controller is performed in SPRE with SAS datasets - and as such, it is not possible to process character variables longer than 32k or other CAS specific data types.