Hello everybody,
I want to find observations which have same attitudes by TRD_EVENT_DT, TRD_STCK_CD, TRD_EVENT_TM, TRD_PR, TRD_TUROVR variables.
Variables are:
TRD_EVENT_DT = Date
TRD_STCK_CD = Name
TRD_EVENT_TM = Time
TRD_PR = Price
TRD_TUROVR = Turnover
I use code below:
proc sort data=sampledata out=sampledata01;
by TRD_EVENT_DT TRD_STCK_CD TRD_EVENT_TM TRD_PR TRD_TUROVR;
run;
* Using PROC FREQ to find duplicate observations and route them to an output data set with multiple key variables;
proc freq data = sampledata01 noprint ;
by TRD_EVENT_DT TRD_STCK_CD TRD_EVENT_TM TRD_PR TRD_TUROVR;
table TRD_EVENT_DT TRD_STCK_CD TRD_EVENT_TM TRD_PR TRD_TUROVR / out = sampledata_DUP
(keep = TRD_EVENT_DT TRD_STCK_CD TRD_EVENT_TM TRD_PR TRD_TUROVR Count where = (Count > 1)) ;
run;
Is this code true?
If not, Please tell me which statement is wrong.
Thanks in advance.
Filter it. A duplicate will have a count of more than 1.
You should use PROC SORT to actively identify your duplicates.
If youre using PROC FREQ you need to remove the BY and add * between the variables.
This finds duplicates across age and sex.
Proc freq data = SASHELP.class;
Table sex*age / out = record_count list;
Run;
This pic is a part of output.
@Reeza's codes shows frequency of all data. However, I just want to find duplicate observations.
Thanks.
Filter it. A duplicate will have a count of more than 1.
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
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.