I'm studying for the SAS Advanced exam and one of the study questions is the following:
When attempting to minimize memory usage, the most efficient way to do group processing when using the MEANS procedure is to use:
A.The BY statement.
B.GROUPBY with the NOTSORTED specification.
C.The CLASS statement
D.Multiple WHERE statements.
I'm pretty sure the answer is A, but I'm confused about answer B. What is GROUPBY? Can it even be used with proc means?
Thanks in advance!
Hi @manran411,
I would agree that the answer is A. The BY statement requires that the input dataset is sorted or grouped by the group identifier(s) or indexed appropriately, though.
B: There is no (documented) GROUPBY statement or option in PROC MEANS.
C: The CLASS statement has additional memory requirements (see section "Computational Resources" in Concepts: MEANS Procedure). These are the price for being able to deal with unsorted, non-indexed data.
😧 Multiple WHERE statements within the same PROC MEANS step do not make sense (as only the last WHERE statement would take effect). Multiple PROC MEANS steps with different WHERE statements, apart from being obviously inefficient, would first require memory to determine the WHERE conditions.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.