05-18-2018 02:33 AM
I need a help to solve a query. I have a dataset and column called NAME but this column Name has some kind of encoding data like .
I want to check which row has encoding data of ASC value which is falling between 161 to 255.
Suppose if you below code and data , so it should check each observation each string and identify the each string ASC value and if any ASC value in observation is falling between 161 to 255, then a new column RANK_VALUE should give result of ASC Value,
if no value from 161 to 255, then null should pass.
data test; input name $32.; datalines; RÃm John èra ©kumara ¶cris ; run;
output : Name Rank_value RÃm 195 John èra 232 ©kumara 169 ¶cris 182
05-18-2018 03:30 AM
Random words, ahve no idea.
Functions work anywhere in arrays, or loops, anywhere in datastep. Provide test data in the form of a datastep, show what the output should look like, explain the logic between the two.
data test; input name $32.; do i=1 to lengthn(name); rank_value=rank(char(name,i)); output; end; datalines; RÃm John èra ©kumara ¶cris ; run;
That might not actually do what you want however, try it out. Some other possiblities:
29May example, shows compress removing specials, but you could reverse it with:
data want; set have; if lengthn(compress(name," ","ad"))>0 then result="special character"; run;
So remove the alaph and numerics then if the lengthn is greater than 0 you know you have odd characters.