Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays SAS帮助:使用索引功能比较2列_Arrays_Search_Sas_Fuzzy Comparison - Fatal编程技术网

Arrays SAS帮助:使用索引功能比较2列

Arrays SAS帮助:使用索引功能比较2列,arrays,search,sas,fuzzy-comparison,Arrays,Search,Sas,Fuzzy Comparison,我想使用index函数比较A和B的字符串值。我想检查A的列中是否包含B。我知道的唯一方法是索引,但问题是索引的参数中不允许使用列名。您必须输入一个字符串值 尝试了以下操作:索引(地址、门牌号)>0,但不起作用 例如: Address HouseNumber 123 Road Road 所以我想看看Address列的字段中是否包含House number值。它不是直接匹配,只是想检查a是否包含字符串。我认为使用宏变量或数组是解决方案,但我不知道如何做到这一点 您

我想使用index函数比较A和B的字符串值。我想检查A的列中是否包含B。我知道的唯一方法是索引,但问题是索引的参数中不允许使用列名。您必须输入一个字符串值

尝试了以下操作:
索引(地址、门牌号)>0
,但不起作用

例如:

Address        HouseNumber    
123 Road       Road

所以我想看看Address列的字段中是否包含House number值。它不是直接匹配,只是想检查a是否包含字符串。我认为使用宏变量或数组是解决方案,但我不知道如何做到这一点

您需要考虑SAS所做的填充,因为所有变量都是固定长度的

data have ;
  length Address HouseNumber $50;
  infile cards dsd dlm='|';
  input address housenumber ;
cards;
123 Road|Road
;;;;

data want ;
  set have ;
  if index(address,strip(HouseNumber));
run;

您需要考虑SAS所做的填充,因为所有变量都是固定长度的

data have ;
  length Address HouseNumber $50;
  infile cards dsd dlm='|';
  input address housenumber ;
cards;
123 Road|Road
;;;;

data want ;
  set have ;
  if index(address,strip(HouseNumber));
run;

这是有效的-这是你想要做的吗

data _null_;
  a = '52 Festive Rd';
  b = 'Festive';
  if index(a,b) then put 'yes';
  else put 'no';
run;

这是有效的-这是你想要做的吗

data _null_;
  a = '52 Festive Rd';
  b = 'Festive';
  if index(a,b) then put 'yes';
  else put 'no';
run;

FIND()
具有
't
修饰符,可以为您进行修剪,但需要注意的是,它会修剪两个字段。此注释救了我的命。我想知道为什么索引不起作用。我在中添加了strip(),它可以工作
FIND()
有一个
't
修饰符,可以为您进行修剪,但需要注意的是,它会修剪两个字段。这个注释救了我的命。我想知道为什么索引不起作用。我在中添加了strip(),它可以工作!我想你的答案在Tom的下面,但是如果你把你的问题作为一个完整的数据步骤来复制,你的问题会得到更好的答案。我想你的答案在Tom的下面,但是,如果您输入代码将问题复制为完整的数据步骤,您的问题将得到更好的答案。要查看问题,请在B值的末尾添加一些空格。可以将空格包含在字符串文字中,也可以在赋值之前设置长度,长度超过7个字符。是的,但必须添加strip()。我之前尝试过这个,但即使两个字符串相同,也没有给出结果。谢谢要查看此问题,请在B值的末尾添加一些空格。可以将它们包含在字符串文字中,也可以在赋值之前设置长度,长度超过7个字符。是的,但必须在中添加strip()。我之前尝试过这个,但即使两个字符串相同,也没有给出结果。谢谢