BookmarkSubscribeRSS Feed
SASPhile
Quartz | Level 8

   mr_nbr  id
   123     001
   123     002
   234     003
   456     004
   456     005
   456     006

how to show that mr_nbr 123 has 2 different id's,456 has 3 different id's

and how to display that out of 3 different mr_nbrs there are  2 mr_nbrs that have different id's i.e 60% have multiple id's  and reverse i.e how id and mr_nbr related

3 REPLIES 3
art297
Opal | Level 21

data have;

  input mr_nbr  id $;

  cards;

   123     001

   123     002

   234     003

   456     004

   456     005

   456     006

;

proc sql;

  select distinct mr_nbr, count(id) as how_many

    from have

      group by mr_nbr

  ;

quit;

SASPhile
Quartz | Level 8

Is there a better way to know the percent of mr_nbr that have more than one id?in this case out three mr_nbr 2 have more than one id. which is 66.6%

Peter_C
Rhodochrosite | Level 12

Do you seek two answers?

had provided the first.

Adapt it to create a summary table that can be analysed with proc freq which provides those cumulative percentages more conveniently than tabulate

proc sql;

CREATE TABLE summary1 AS

  select  mr_nbr, count(id) as how_many

    from have

      group by mr_nbr

  ;

quit ;

* generate cumulative frequency report ;

Proc freq data= summary1 ;

Table how_many ;

run ;

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

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
  • 1266 views
  • 1 like
  • 3 in conversation