Hi:
When you use the forum posting mechanism, certain characters, such as the LT sign (<) or the GT sign (>) are interpreted as HTML tags. Sometimes, the use of the < or the > inside a forum posting can cause your post to appear truncated or badly formatted.
You can avoid this behavior by altering what you write and using < for < and > for > symbols. This previous forum posting outlines other oddities and "protections" that you can apply when you make posts in order to protect > and < symbols. It talks about the LT and GT symbols and also discusses how to emphasize code and how to surround code snippets with [pre] and [/pre]
http://support.sas.com/forums/thread.jspa?messageID=27609毙
As I said, once you understand how to create an output dataset from PROC FREQ, you might have to use a DATA step program to restructure or "massage" your data. You will probably not get your desired report layout from one pass of PROC FREQ. For example, you show some kind of "post-processing" logic here, when you say:
[pre]
Weight Total no 5 X%
Invalid 2 X% (invalid - for this scenario we are saying where the count of Age is > 1)
[/pre]
There was nothing in my code that considered AGE in setting the % or label for the WEIGHT variable, so I don't understand the added criteria you list "where the count of Age is > 1" -- if you want to change the label for the missing values for WEIGHT, you would have to create and use a different user-defined format for the WEIGHT variable. And, it looks like the requirement to report "duplicates" has dropped out of this new version of the report.
You might want to get some of your information from PROC MEANS or from the NLEVELS option of PROC FREQ. For example, if you add the NLEVELS option to the PROC FREQ shown above for WORK.CLASS, you would see this information on the "levels" of values for the variables:
[pre]
The FREQ Procedure
Number of Variable Levels
Missing Nonmissing
Variable Levels Levels Levels
----------------------------------------------
Name 18 1 17
Sex 3 1 2
Age 7 1 6
Height 17 1 16
Weight 15 1 14
[/pre]
Or, you may want to consider the use of PROC MEANS or PROC TABULATE along with PROC FREQ and PROC REPORT, as described in some of these papers and book excerpts:
http://support.sas.com/kb/30/867.html
http://www2.sas.com/proceedings/sugi30/263-30.pdf
http://support.sas.com/publishing/pdf/57198_ch3pg76.pdf
http://analytics.ncsu.edu/sesug/2005/IN06_05.PDF
http://www2.sas.com/proceedings/forum2008/091-2008.pdf
http://www2.sas.com/proceedings/sugi28/216-28.pdf
http://www2.sas.com/proceedings/sugi22/CODERS/PAPER84.PDF
http://www.nesug.org/proceedings/nesug04/ap/ap15.pdf
http://www.lexjansen.com/pharmasug/2008/sas/sa08.pdf
But the bottom line is that you will need to understand what you get by default from the various SAS procedures and then take that default and possibly restructure the output from the procedures to produce the final report you want. You might want to treat character variables differently from numeric variables, you might want to consider incompatible combinations of "missing" such as when AGE is missing, then WEIGHT is invalid for that observation, etc, etc.
cynthia
... View more