So, hi. I got a very poorly written code that does what you need... but... Data test; Infile cards; Input ID $3. @5 var1 $1. @7 var2 $1. @9 var3 $1. @11 var4 $1. @13 var5 $1.; cards; 123 A Z A A A 345 Z 178 A A A A A 908 A A Z 222 A ; Run; data test2(drop = var:); set test; if var1 ne "" & var2 ne "" then f1 = compare(var1,var2); if var3 ne "" & var2 ne "" then f2 = compare(var2,var3); if var3 ne "" & var4 ne "" then f3 = compare(var3,var4); if var4 ne "" & var5 ne "" then f4 = compare(var4,var5); if f1 = f2 = f3 = f4 then flag= "N";else flag = "Y"; run; I wanted to search for a function or something that does a pair-wise comparison of strings. I keep looking. Here is an updated (and hopefully truly doing pairwise comparison): proc fcmp outlib = sasuser.funcs.trial; function pairwise(x $,y $); if x ne "" & y ne "" then f = compare(x,y); return (f); endsub; options cmplib=sasuser.funcs; data test2; set test; f1 = pairwise(var1,var2); f2 = pairwise(var2,var3); f3 = pairwise(var3,var4); f4 = pairwise(var4,var5); f5 = pairwise(var1,var3); f6 = pairwise(var1,var4); f7 = pairwise(var1,var5); f8 = pairwise(var2,var4); f9 = pairwise(var2,var5); f10 = pairwise(var3,var5); if f1 = f2 = f3 = f4 = f5 = f6 = f7 = f8 = f9 = f10 then grp = "N";else grp = "Y"; run; Best of luck, Anca
... View more