Help using Base SAS procedures

Data step counting by 2 variables

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 5
Accepted Solution

Data step counting by 2 variables

Hi,

 

I have a code to count duplicated items:

 

data work.rank;

set work.Inbound;

by ITEM;
if first.ITEM then Rank=1;
else Rank+1;
Run;

 

This is great and does the job i want.

 

However, i'm now bringing through data from different countries so i now have a column that shows which country the items are in. In order for this code to work i have to have the data sorted by Item so that it can count. However i don't want to include different country data in the count. So if there is 1 item in GB 5 times it will rank it 1,2,3,4 and 5 etc, but when it goes to say FR and has the same Item, i want that one to start at 1.

 

eg:

 

CountryItemRank
GB1231
GB1232
GB1233
GB12341
GB12342
FR121
FR1231
FR1232
FR12341

 

The original code i had was perfect for use in 1 country but as soon as i brought through more it is failing as i tried sorting by country first and then item.

 

any help would be brilliant.

 

Apologies if what i am asking is silly.

 

Cheers,

 

M.


Accepted Solutions
Solution
‎11-02-2017 05:54 AM
Super User
Posts: 10,269

Re: Data step counting by 2 variables

[ Edited ]
Posted in reply to MattehWoo

Sort by item and country, and then use

by item country;

and first.country for the condition in your datastep.

Or simply sort by country and item, and use

by country item;

in your original datastep with the same first. condition.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
How to convert datasets to data steps
How to post code

View solution in original post


All Replies
Solution
‎11-02-2017 05:54 AM
Super User
Posts: 10,269

Re: Data step counting by 2 variables

[ Edited ]
Posted in reply to MattehWoo

Sort by item and country, and then use

by item country;

and first.country for the condition in your datastep.

Or simply sort by country and item, and use

by country item;

in your original datastep with the same first. condition.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
How to convert datasets to data steps
How to post code
Super User
Super User
Posts: 9,599

Re: Data step counting by 2 variables

Posted in reply to MattehWoo
☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 247 views
  • 0 likes
  • 3 in conversation