查找第一次在多个数组中提及变量

时间:2015-08-06 13:43:59

标签: arrays sas

我有许多变量Location1-Location10。然后我也有Street1-Street10

我知道这个问题很可能通过某种阵列来回答,但我并不是特别肯定我会怎么做。我正在寻找的是第一个" Home"在Location1-Location10中被提及,然后是#34; Home" Street1-Street10中相应街道的值。

我知道在数据库中作为一个例子,如果在Location3找到Home,那么它的街道将在Street3。我不在乎是否" Home"在最初第一次提到它之后出现(在该位置还有其他东西 - 例如:工作,学校等)。最终,我正在考虑了解街道 - 所以如果我能够获取相应的街道名称并将其放入另一个非常出色的新专栏(因为我想在事后做一个频率)。我有什么想法吗?

2 个答案:

答案 0 :(得分:0)

使用whichC功能。您可以嵌套这些,但我会将其扩展以便于理解:

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

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

答案 1 :(得分:0)

(也许事先进行一些排序)

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;