BookmarkSubscribeRSS Feed
podarum
Quartz | Level 8

Hi, woul dthis be possible ?, I'm trying to use distinct on a field but view all the fields in the table ..using proc sql.. I have a large dataset with lots of fields, so the example below is for simplicity only.

Ex. use distinct on Acct. but view the remaining fields with it..

HAVE:

Acct    F1    F2    F3

234      w      5      6

234      w      5      6

234      w      5      6

345      m      2     8

564      f        6     3

356      w       5     9

WANT:

Acct    F1    F2    F3

234      w      5      6

345      m      2     8

564      f        6     3

356      w       5     9

Thanks

1 REPLY 1
mkeintz
PROC Star

You have constructed HAVE so that for each distinct ACCT, there is no variation in the other fields.  Given my understanding of your question, this appears to be by design.   After all, you want one record per acct, so only one set of values can be displayed for the other vars.:

If so, then:

proc sql;

  select distinct * from have;
quit;

--------------------------
The hash OUTPUT method will overwrite a SAS data set, but not append. That can be costly. Consider voting for Add a HASH object method which would append a hash object to an existing SAS data set

Would enabling PROC SORT to simultaneously output multiple datasets be useful? Then vote for
Allow PROC SORT to output multiple datasets

--------------------------

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

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
  • 1 reply
  • 1046 views
  • 0 likes
  • 2 in conversation