如何在SAS数值上设置精度

时间:2015-12-04 17:48:21

标签: sas

我有这个数据集有2个数值,这些值是由具有不同精度参数的不同系统计算的。所以他们的选择不同。

data test;
a = 10;
b= 11;
run;

基本上a和b的起始值几乎相同,但由于四舍五入的差异,最终得到的值不同。 我需要一个proc sql,它将这些值视为相同(i,e。精度为(+/- 1);

所以我需要这个才能返回true;

proc sql;
select * from test where a = b;
quit;

1 个答案:

答案 0 :(得分:1)

这很丑陋,假设你说的是一个整数范围内的任何东西应该被视为相同的值,那么你可以这样做:

where max(a,b) - min(a,b) le 1;

这假定没有缺失值。如果您缺少值,可以使用以下内容:

where max(sum(0,a),sum(0,b)) - min(sum(0,a),sum(0,b)) le 1;