?>Array ( [id] => 5 )
Scénario de test & Cas d'usage
Simulate a multi-user environment. 'analyst_a' has small work tables. 'data_scientist_b' has loaded a very large table, which is the likely cause of the memory issue. 'user_c' has an empty caslib.
| 1 | /* Data setup requires admin privileges */ |
| 2 | PROC CAS; |
| 3 | /* Analyst A's small tables */ |
| 4 | DATA casuser(analyst_a).lookup_codes(promote=yes); |
| 5 | DO i=1 to 100; code=i; OUTPUT; END; |
| 6 | RUN; |
| 7 | |
| 8 | /* Data Scientist B's large table */ |
| 9 | DATA casuser(data_scientist_b).large_dataset(promote=yes); |
| 10 | DO i=1 to 5000000; x=rand('NORMAL'); y=rand('UNIFORM'); OUTPUT; END; |
| 11 | RUN; |
| 12 | |
| 13 | /* User C has no tables, just an active session */ |
| 14 | QUIT; |
| 1 | PROC CAS; |
| 2 | ACCESSCONTROL.accessPersonalCaslibs; |
| 3 | RUN; |
| 1 | PROC CAS; |
| 2 | /* In a real script, you might loop through a list of users */ |
| 3 | TABLE.tableInfo / caslib="CASUSER(analyst_a)"; |
| 4 | TABLE.tableInfo / caslib="CASUSER(data_scientist_b)"; |
| 5 | TABLE.tableInfo / caslib="CASUSER(user_c)"; |
| 6 | RUN; |
The administrator successfully executes table.tableInfo against multiple user caslibs in a single session. The results will show the small table for 'analyst_a', the very large table for 'data_scientist_b' (identifiable by its row count and size), and an empty result set for 'user_c'. This confirms the action is effective for server-wide diagnostics.