Hash SAS哈希表合并错误-->键不匹配
我在使用哈希表合并我的两个数据集时遇到了问题。我声明的哈希表有1个键和2个数据变量Hash SAS哈希表合并错误-->键不匹配,hash,merge,sas,hashtable,Hash,Merge,Sas,Hashtable,我在使用哈希表合并我的两个数据集时遇到了问题。我声明的哈希表有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'); hashl
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;
键是相同长度的数字变量。我已经尝试将两个键重新格式化为字符,但日志仍然返回以下错误消息:错误:第57行第7列的键变量key的类型不匹配
希望有人能帮忙。提前谢谢。这里的问题是
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;
这里的问题是
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;
不带key:parameters的find方法将使用definekey中命名的PDV变量。在这种情况下,不带key:parameters的find方法中的变量keye将使用definekey中命名的PDV变量。在本例中,变量键