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;
我在使用散列 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;