我使用 EG 中的提示管理器创建了一个数字变量。
该变量称为 HYr,代表我提取的数据最高年份。
运行程序时,我根据最高年份创建了 4 个新变量,这就是我遇到问题的地方。
我有以下内容:
%Let Yr2 = &HYr. - 1;
%Let Yr3 = "&HYr." - 2;
%Let Yr4 = &HYr. - 3;
%Let Yr5 = '&HYr.' - 4;
我试图从年份中减去该值,新变量将用于确定正在提取的日期范围。我正在尝试一些事情并在这个过程中学习,但我仍然陷入困境。
我知道这可能只是一个简单的语法问题,如果有足够的时间,我可能能够解决它,但我办公室里没有人比我拥有更好的 SAS 技能,而且这并不多。
提前致谢。
Use %EVAL()
使用整数和宏变量进行计算。
%let HYR = 2018;
%Let Yr2 = %eval(&HYr. - 1);
%Let Yr5 = %eval(&HYr. - 4);
%put HYR: &hyr;
%put YR2: &yr2.;
%put YR5: &yr5.;
编辑:如果您尝试进行包含小数的其他计算,则需要使用%SYSEVALF
反而。
%let HYR = 2018;
%Let Yr2 = %sysevalf(&HYr. - 0.1);
%Let Yr5 = %sysevalf(&HYr. - 0.4);
%put HYR: &hyr;
%put YR2: &yr2.;
%put YR5: &yr5.;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)