Hi,
I grew to like using proc tabulate for output tables, but sometimes it's hard to follow the logic.
Say if I want to run a crosstab of health condition by sex (so column %) for each year and each country. I tried the following but it's giving me the column percent across all cases, not within a country and for each year. How do I change the? I didn't make a sample data but if needed, I could do it.
proc tabulate data=have;
class country year heath_status sex;
table (country year _status), sex* COLPCTN;
run;
Many thanks.
What does your data look like ? Maybe you need :
table (country year _status), sex* COLPCTN all*COLPCTN ;
Hi:
I see that your TABLE statement doesn't have any * (asterisk) operators. Also, you show health_status in the CLASS statement, but then use _status in the TABLE statement. Does your code even produce output? Do you have error messages in the LOG that _status is not defined?
You can define special denominators for percents using the < and > operators. Generally, you use them in conjunction with nesting using the * operator. The TABULATE documentation has some examples of using a special denominator definition.
Base SAS(R) 9.3 Procedures Guide, Second Edition
cynthia
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.