BookmarkSubscribeRSS Feed
Defense
Obsidian | Level 7

I have a sas datsset create as below:

 

proc format;

value gender

1=male

2=femal;

run;

 

DATA have;

input group id sex ;

format sex gender.;

datalines;

1 133 1

3 134 1

;

run;

 

( sas dataset Have)

 

obs group   id    sex

 1   1      133   male

 2   3      134   male

 

Then I run proc report code as below:

 

proc report data=have; run;

 

The output upexpect as below(colum total):

group id   sex

4     267  femal

 

How can I fix this problem? it sounds because format

 

Thank

 

 

 

3 REPLIES 3
Cynthia_sas
Diamond | Level 26

Hi:
You do not have any define statements in your PROC REPORT code. GROUP and ID variables are numeric and by default, numeric variables have a usage of SUM. So you have values of 1 and 3 in for your two rows, and 1+3 = 4. You have values of 133 and 134 for ID and 133+134 = 267.

My suggestion is that you review the DEFINE statement. And, as an example of what you need to do, consider this code and output.

cynthia

 

report_usage_important.png

Defense
Obsidian | Level 7

Thanks

 

In my real datsset, there is one more character variable. I will try to use define/order optiom to see if it workd.

Ksharp
Super User


proc format;
value gender
1='male'
2='femal';
run;

 

DATA have;
input group id sex ;
format sex gender.;
datalines;
1 133 1
3 134 1
;
run;

proc report data=have nowd;
define group/display;
run;
What is Bayesian Analysis?

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.

SAS Training: Just a Click Away

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

Browse our catalog!

Discussion stats
  • 3 replies
  • 1488 views
  • 1 like
  • 3 in conversation