使用SAS SQL(或只是SAS),我需要根据不同日期字段的年份部分使用变量进行计算。变量的名称包含我需要从另一个日期变量的年份部分匹配的年份。如何选择用于计算的正确变量?
例如,我需要选择使用哪一个:
GRADE_2013
GRADE_2014
GRADE_2015
通过查看格式15JAN2014
的日期字段 - 所以从2014年开始,我想从GRADE_2014
中获取值以用于其他计算。
答案 0 :(得分:2)
你有几个选项,一个是带有年份索引的数组,另一个是查找变量值的VVALUEX函数。
Data One;
set Have;
array grades(2013:2015) grade_2013-grade_2015;
*Array method;
variable_want1 = grades(year(date_field));
*VValueX method;
variable_want2 = vvalues('grades_'||put(year(date_field), 4.));
run;
答案 1 :(得分:0)
通常,如果您可以将数据转换为更规范化的格式,则此类问题会变得更加容易。
因此,不是每个都有三个grade_YYYY变量和年份后缀,而是将每个记录转换为三个记录,变量为YEAR和GRADE。
答案 2 :(得分:0)
非常感谢你们给出了很好的答案......我是一个新手,所以我必须至少开始使用非阵列方法。