我想找到包含字母数字值的变量,如123asd或数值123到9,任意组合1到9.如果存在,则创建新列,找到'文本。
代码:
data one;
input Val $;
datalines;
abc.400
300.bef
3456321
abcdefg
123.234
;
proc print;
run;
输出应该是
value tag
abc.400 found
300.bef found
3456321 found
abcdefg nofound
123.234 found
答案 0 :(得分:3)
Anydigit功能。
flag=ifc(anydigit(Val)>0,'Found','NoFound');
答案 1 :(得分:1)
您可以使用compress()
和kd
(保持数字)第三个参数,然后使用missing()
查看是否返回任何内容。我把它放在一个带有ifc
的单行中,这是一个excel样式的if(如果为true则返回第二个参数,如果为false则返回第三个参数),返回字符)。
tag = ifc(missing(compress(value,,'kd')),'nofound','found')