BookmarkSubscribeRSS Feed
Assaf_Attas
Obsidian | Level 7

שלום לכולם,

לעיתים אנו נדרשים לוודא כי טבלה מסוימת אינה מכילה כפילויות.

הדרך האידאלית לוודא זאת היא ע"י שימוש באופציית nodupkeys של פרוצדורת המיון ובדיקת הלוג.

אולם.. מה אם לצערנו כן נתגלו כפילויות?

כיצד הכי נוח יהיה לאתר אותן?

 

לשם כך יהיה שימושי המאקרו הבא..

הפלט מכיל 4 קבצים:

1. הקובץ המקורי כאשר הוא ממוין.

2. תוצאה ממוינת ללא חזרות.

3. תוצאה של הרשומות המהוות חזרה כפולה.

4. השימושי ביותר > מיזוג של הרשומות הכפולות חזרה אל תוך הקובץ המקורי כך שהתוצאה מהווה פלט מלא של הרשומות בהם יש חזרה.

 

%macro _sort4dups(source_lib=, source_tbl=, by_vars=);

proc sort data= &source_lib..&source_tbl
out= &source_tbl._A_sorted
;
by &by_vars;
run;

proc sort data= &source_tbl._A_sorted
out= &source_tbl._B_nodups
dupout= &source_tbl._C_dups1
nodupkeys
;
by &by_vars;
run;

data &source_tbl._C_dups2;
merge &source_tbl._C_dups1 (in=a keep=&by_vars) &source_tbl._A_sorted (in=b);
by &by_vars;
if a;
run;

%mend;



%_sort4dups(source_lib=sashelp, source_tbl=class, by_vars= Age);

 

SAS Innovate 2025: Call for Content

Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!

Submit your idea!

Discussion stats
  • 0 replies
  • 331 views
  • 2 likes
  • 1 in conversation