SAS 哈希表合并错误 --> 键不匹配

SAS Hash Tables Merge Error --> Key Mismatch

我在使用散列 tables 合并我的 2 个数据集时遇到了问题。我声明的散列 table 有 1 个键和 2 个数据变量。

data final_table;   
 if 0 then set hash_data;
    if _N_=1 then do;
     declare hash hashlookup (dataset:'hash_data');
     hashlookup.definekey('key');
      hashlookup.definedata('ABC', 'XYZ');
     hashlookup.definedone();
     end;
 set datatabletwo;  
 rc = hashlookup.find(key:'key'); 
 run;

键是一个相同长度的数值变量。我已经尝试将两个键重新格式化为字符,但日志仍然 returns 以下错误消息:ERROR: Type mismatch for key variable KEY at line 57 column 7.

希望有人能提供帮助。提前致谢。

这里的问题是这个

rc = hashlookup.find(key:'key');

查找字符串 'key' 而不是变量 key 中的值。因此,改为这样做

data final_table;   
 if 0 then set hash_data;
    if _N_=1 then do;
     declare hash hashlookup (dataset:'hash_data');
     hashlookup.definekey('key');
     hashlookup.definedata('ABC', 'XYZ');
     hashlookup.definedone();
     end;
 set datatabletwo;  
 rc = hashlookup.find(); 
 run;