Turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- Home
- /
- Programming
- /
- SAS Studio
- /
- Re: Counting number of records under each column variable

Options

- RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

Posted 02-10-2020 03:12 PM
(1727 views)

Hi,

I would greatly appreciate if somone could help me with the SAS code to count number of observations/records under each column variable in the attached table(Table 1).

My task is I want to count the number of pop cont and can cont under each of the variables lung loat lsquam ladeno.

I know that probably I need to use proc means or proc freq to do the counts but I am not sure about the right code.

Any help,please? Thanks in advance.

ak.

1 OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;

72

73 /* Cell Types*/

74 data ncells(keep=lung loat lsquam ladeno);

75 set bgmg1(obs=70);

76 run;

NOTE: There were 70 observations read from the data set WORK.BGMG1.

NOTE: The data set WORK.NCELLS has 70 observations and 4 variables.

NOTE: DATA statement used (Total process time):

real time 0.01 seconds

cpu time 0.02 seconds

77

78 proc print data=ncells;

79 Title " Table 1. Cancer information";

80 run;

NOTE: There were 70 observations read from the data set WORK.NCELLS.

NOTE: PROCEDURE PRINT used (Total process time):

real time 0.43 seconds

cpu time 0.43 seconds

81

82 proc freq data=ncells;

83 run;

NOTE: There were 70 observations read from the data set WORK.NCELLS.

NOTE: PROCEDURE FREQ used (Total process time):

real time 0.24 seconds

cpu time 0.23 seconds

84

85 proc means data=ncells; run;

NOTE: There were 70 observations read from the data set WORK.NCELLS.

NOTE: PROCEDURE MEANS used (Total process time):

real time 0.17 seconds

cpu time 0.15 seconds

86

87

88 OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;

100

4 REPLIES 4

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

My task is I want to count the number of pop cont and can cont under each of the variables lung loat lsquam ladeno.

As I look at the output in your attached file, it seems as if you have programmed SAS to do this counting. So I'm not sure what you are asking.

--

Paige Miller

Paige Miller

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

This is overkill for what you want but definitely gives you that.

https://gist.github.com/statgeek/2de1faf1644dc8160fe721056202f111

Otherwise a PROC MEANS is likley all you need, assuming numeric variables - results are stored in the 'want' data set. The solution above works regardless of types.

```
proc means data=sashelp.class N NMISS;
ods output summary=want;
run;
proc print data=want;
run;
```

@ak2011 wrote:

Hi,I would greatly appreciate if somone could help me with the SAS code to count number of observations/records under each column variable in the attached table(Table 1).My task is I want to count the number of pop cont and can cont under each of the variables lung loat lsquam ladeno.I know that probably I need to use proc means or proc freq to do the counts but I am not sure about the right code.Any help,please? Thanks in advance.ak.1 OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;7273 /* Cell Types*/74 data ncells(keep=lung loat lsquam ladeno);75 set bgmg1(obs=70);76 run;NOTE: There were 70 observations read from the data set WORK.BGMG1.NOTE: The data set WORK.NCELLS has 70 observations and 4 variables.NOTE: DATA statement used (Total process time):real time 0.01 secondscpu time 0.02 seconds7778 proc print data=ncells;79 Title " Table 1. Cancer information";80 run;NOTE: There were 70 observations read from the data set WORK.NCELLS.NOTE: PROCEDURE PRINT used (Total process time):real time 0.43 secondscpu time 0.43 seconds8182 proc freq data=ncells;83 run;NOTE: There were 70 observations read from the data set WORK.NCELLS.NOTE: PROCEDURE FREQ used (Total process time):real time 0.24 secondscpu time 0.23 seconds8485 proc means data=ncells; run;NOTE: There were 70 observations read from the data set WORK.NCELLS.NOTE: PROCEDURE MEANS used (Total process time):real time 0.17 secondscpu time 0.15 seconds868788 OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;100

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

You may get a better answer if you provide:

1) a small example data set as data step code.

2) What you expect for the result given that example data.

The example should be big enough to demonstrate some difference in the resulting count but small enough you can create the output by hand to show the desired result and layout.

Here's something similar to what I think you are wanting, a single table with the counts per column heading.

data example; input var1 $ var2 $ var3 $; datalines; A B A A A B A B B A B A B B B B A A B B A ; data temp; set example; array v var1 var2 var3; do i=1 to dim(v); name = vname(v[i]); value = v[i]; output; end; run; proc tabulate data=temp; class name value; table value,name ; run;

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

Thank you. I will provide a small dataset then.

**SAS Innovate 2025** is scheduled for May 6-9 in Orlando, FL. Sign up to be **first to learn** about the agenda and registration!

SAS Enterprise Guide vs. SAS Studio

What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.

Find more tutorials on the SAS Users YouTube channel.

Ready to level-up your skills? Choose your own adventure.