Hello,
I'm operating cross tabulations like below:
proc surveyfreq data=mydata varmethod=BRR;
tables Var1 * Var2 * Var3
Var1 * Var2 * Var4
Var1 * Var2 * Var5
………………
……………..
……………..
Var1 * Var2 * Var9 / row cl nofreq nowt nocellpercent nototal;
repweights BSW1-BSW1000;
weight weight_var;
run;
Var1 has 5 values, var2 has 2 values and var3 or var 4...… can have from 3 to 6 values. SAS operation is really slow for this. I tried only one table (tables Var1 * Var2 * Var3 ) with 2 bootstrap weight (BSW1-BSW2) and it took SAS 1.5mins to complete it. Any suggestions?
Thank you so much.
How many records are involved in this data set?
Above 100,000 records. Thanks!
Reeza. My SAS is on network drive. It's for my work and I must use the network and work computer, no other choice. Thanks.
Where does your SAS WORK library point to? I'm hoping it is your local drive. If so run a test using data copied to WORK to see if that improves performance.
SAS work library is on the network. Thanks.
Hi Reeza,
I tried it, it's super! Much much faster! Although, I still don't know what SASFILE exactly does. I'm going to study about it. Thank you!
@mandan414 wrote:
SAS work library is on the network. Thanks.
This is ok, if - and only if - sas runs on a server. If sas is installed on your computer, having work on a network share is, kindly put, a really bad idea.
I don't quite understand it. Could you explain it a little more? Thank you for your time.
If you have a local installation of sas any network-traffic will, most likely, slow down the execution of you sas job. So using local drives is highly recommended.
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.