Hi, i have a 19 million row table for which I need to find the Median, P10 and P90 using several class/groupBy. The table is in CAS. In 9.4 this can easily be done with proc means. From the documentation I see that the percentile methods is not supported in Cas. Moving the table to The Spree server is really slow. I can't find anywhere in the documentation how I can do this in CAS. I tried Fedsql but that do not work?
Thanks
I would use PROC CAS to call the percentile action directly:
cas; /* connect to CAS server */
/* load sample data */
proc casutil;
load data=Sashelp.Cars casout='Cars' replace; /* use active caslib */
quit;
proc cas;
percentile.percentile /
table={name="Cars",
vars={"Cylinders", "MPG_City", "Weight"},
groupby={"Origin"}
}
values={10, 50, 90} /* specify percentiles */
method = "Iterative" /* faster than "exact" methods */
;
run;
I would use PROC CAS to call the percentile action directly:
cas; /* connect to CAS server */
/* load sample data */
proc casutil;
load data=Sashelp.Cars casout='Cars' replace; /* use active caslib */
quit;
proc cas;
percentile.percentile /
table={name="Cars",
vars={"Cylinders", "MPG_City", "Weight"},
groupby={"Origin"}
}
values={10, 50, 90} /* specify percentiles */
method = "Iterative" /* faster than "exact" methods */
;
run;
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.