Arrays 在多个数组中查找第一次提到的变量

Arrays 在多个数组中查找第一次提到的变量,arrays,sas,Arrays,Sas,我有很多变量,位置1-10。我还有街1-10 我知道这个问题很可能通过某种数组得到解决,但我不太确定如何着手解决。我要找的是第一个在Location1-Location10中提到的Home实例,然后Home在Street1-Street10中对相应的street进行赋值 我知道,以数据库为例,如果家位于3号位置,它的街道将位于3号街道。我不在乎家是不是在第一次提到家之后出现,在这个地方还有其他东西——例如:工作、学校等等。。最终,我希望了解这条街道——因此,如果我能把相应的街道名称放到另一个新的

我有很多变量,位置1-10。我还有街1-10

我知道这个问题很可能通过某种数组得到解决,但我不太确定如何着手解决。我要找的是第一个在Location1-Location10中提到的Home实例,然后Home在Street1-Street10中对相应的street进行赋值


我知道,以数据库为例,如果家位于3号位置,它的街道将位于3号街道。我不在乎家是不是在第一次提到家之后出现,在这个地方还有其他东西——例如:工作、学校等等。。最终,我希望了解这条街道——因此,如果我能把相应的街道名称放到另一个新的专栏中,那将是非常好的,因为我想在事后做一个频率。有什么办法吗?

使用whichC函数。您可能可以嵌套这些,但为了便于理解,我将对其进行扩展:

array loc(10) location1-location10;
array add(10) addresss1-address10;

index=whichc('Home', of loc(*));
home_address=add(index);

也许事先会整理一下

DATA your-dataset;  
  SET your-dataset;
  array location[10] location1-location10;    
  array street[10] street1-home10;   
  DO i = 1 to dim(location);    
    IF location[i] = "Home" THEN someVar = Street[i];    
  END;
Run;

请发布示例输入和输出数据,以及您已经尝试过的任何代码。如果准确的“home”值在该位置,则此操作有效-我不清楚他是指准确的值,还是一个可能包含家庭地址、家庭邮寄地址、我的家等的免费文本。。。也许值得一提和一点解释一下CHC做了什么?很抱歉搞混了-我的意思是家是我要寻找的观察和确切的价值。地点可以有很多不同的词,例如:家、学校、工作——它不是免费的文本,但有很多类别。我只是对家感兴趣。